@lovrabet/lovrabet-cli 2.2.7-beta.1 → 2.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.d.ts +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.d.ts +12 -0
- package/lib/commands/config/init.js +1 -0
- package/lib/commands/config/shared.d.ts +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.d.ts +11 -0
- package/lib/config/domain-config.js +1 -0
- package/lib/config/schema.d.ts +7 -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.d.ts +4 -0
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.d.ts +10 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.d.ts +52 -14
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.d.ts +15 -0
- package/lib/constant/region.js +1 -0
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.d.ts +2 -0
- package/lib/constant/url.js +1 -1
- package/lib/context.d.ts +2 -6
- 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.d.ts +2 -0
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.d.ts +3 -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.d.ts +15 -0
- package/lib/utils/access-key-redaction.js +1 -0
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.d.ts +12 -0
- package/lib/utils/cli-version-check.js +1 -0
- package/lib/utils/cli-version-policy.d.ts +12 -0
- package/lib/utils/cli-version-policy.js +1 -0
- 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.d.ts +2 -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 +3 -1
- package/skills/lovrabet/SKILL.md +11 -12
- package/skills/lovrabet/guides/troubleshooting.md +12 -8
- package/skills/lovrabet/references/lovrabet-app.md +1 -1
- package/skills/lovrabet/references/lovrabet-auth.md +7 -25
- package/skills/lovrabet/references/lovrabet-config-commands.md +42 -5
- package/skills/lovrabet/references/lovrabet-config.md +25 -5
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
(function(_0x1fe29b,_0x3d66db){const _0x283eea=a0_0x4ff0,_0x273646=_0x1fe29b();while(!![]){try{const _0xfed23c=parseInt(_0x283eea(0xd3))/0x1*(-parseInt(_0x283eea(0xd4))/0x2)+parseInt(_0x283eea(0xb5))/0x3+-parseInt(_0x283eea(0xb0))/0x4*(-parseInt(_0x283eea(0xb3))/0x5)+parseInt(_0x283eea(0xc2))/0x6*(parseInt(_0x283eea(0xb6))/0x7)+parseInt(_0x283eea(0xbf))/0x8*(-parseInt(_0x283eea(0xc4))/0x9)+parseInt(_0x283eea(0xbe))/0xa*(parseInt(_0x283eea(0xbc))/0xb)+parseInt(_0x283eea(0xc1))/0xc*(-parseInt(_0x283eea(0xd9))/0xd);if(_0xfed23c===_0x3d66db)break;else _0x273646['push'](_0x273646['shift']());}catch(_0x4350ba){_0x273646['push'](_0x273646['shift']());}}}(a0_0x2ded,0xea9a1));import{jsx as a0_0x2f2c27}from'react/jsx-runtime';import a0_0x35a04b from'meow';import{render}from'ink';function a0_0x4ff0(_0x4a01a9,_0x4f98a2){_0x4a01a9=_0x4a01a9-0xaf;const _0x2dedfe=a0_0x2ded();let _0x4ff056=_0x2dedfe[_0x4a01a9];return _0x4ff056;}import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';function a0_0x2ded(){const _0x34bd07=['Unexpected\x20error:','hint','definition','log','117rrKwpZ','write','stderr','5307268KNwvBI','args','code','5fcwACV','original','2198484lhYBVX','13069gkxtOD','assign','corrected','flags','\x0aCancelled.\x0a','name','43769DhYbyO','exitCode','970STdpxd','360616VcBBxY','ERR_USE_AFTER_CLOSE','464844nWEUZo','684ifrnNt','[preparse]\x20','18gsujvb','slice','validation','Error:\x20','message','flatMap','cancelled','ERR_STREAM_DESTROYED','unknownCommand','error','./framework/preparse.js','input','help','exit','\x20->\x20--','11IcyoAx','228860LnvfQD'];a0_0x2ded=function(){return _0x34bd07;};return a0_0x2ded();}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_0x35a04b(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x318103){handleError(_0x318103);}}async function run(){const _0x10f3d9=a0_0x4ff0;let _0x514778=cli[_0x10f3d9(0xcf)][0x0],_0x2b9e1f=cli[_0x10f3d9(0xcf)][0x1];const _0x5cf414=cli[_0x10f3d9(0xb9)];try{const {correctFlags:_0x19e173}=await import(_0x10f3d9(0xce)),_0x4eaf2e=getAllDefinitions()[_0x10f3d9(0xc9)](_0x3bbb5b=>_0x3bbb5b[_0x10f3d9(0xb9)]??[]),{flags:_0x280975,corrections:_0x38bab9}=_0x19e173(_0x5cf414,_0x4eaf2e);if(_0x38bab9['length']>0x0){for(const _0x5e9ab5 of _0x38bab9){process[_0x10f3d9(0xaf)][_0x10f3d9(0xda)](_0x10f3d9(0xc3)+_0x5e9ab5['handler']+':\x20--'+_0x5e9ab5[_0x10f3d9(0xb4)]+_0x10f3d9(0xd2)+_0x5e9ab5[_0x10f3d9(0xb8)]+'\x0a');}Object[_0x10f3d9(0xb7)](_0x5cf414,_0x280975);}}catch{}if(!_0x514778){const {waitUntilExit:_0x3a1e69}=render(a0_0x2f2c27(Help,{}));await _0x3a1e69();return;}const _0xb0b10c=resolveRemovedCommand(_0x514778,_0x2b9e1f);if(_0xb0b10c)throw CliErrors[_0x10f3d9(0xc6)](_0xb0b10c[_0x10f3d9(0xc8)],_0xb0b10c[_0x10f3d9(0xd6)]);if(!isKnownService(_0x514778)){const _0x20c1ba=resolveDynamicServiceCommand(cli[_0x10f3d9(0xcf)],_0x5cf414);if(_0x20c1ba){if(_0x5cf414[_0x10f3d9(0xd0)]){console[_0x10f3d9(0xd8)](generateCommandHelp(_0x20c1ba[_0x10f3d9(0xd7)]));return;}Object[_0x10f3d9(0xb7)](_0x5cf414,_0x20c1ba[_0x10f3d9(0xb9)]);const _0x3ccaeb=buildConfigFromFlags(_0x5cf414);await initGlobalEnvironment(_0x3ccaeb);const _0x1d578a=createPipelineEnv(_0x3ccaeb,_0x5cf414);_0x1d578a[_0x10f3d9(0xb1)]=_0x20c1ba[_0x10f3d9(0xb1)],await runCommand(_0x20c1ba['definition'],_0x1d578a);return;}if(_0x5cf414['help']){const _0x389892=generateDynamicServiceHelp(_0x514778);if(_0x389892){console[_0x10f3d9(0xd8)](_0x389892);return;}}const {waitUntilExit:_0x2040ae}=render(a0_0x2f2c27(Help,{}));await _0x2040ae();return;}const _0x2b3d5b=getServiceEntry(_0x514778);if(!_0x2b9e1f){if(_0x5cf414[_0x10f3d9(0xd0)]){console['log'](generateServiceHelp(_0x514778));return;}if(_0x2b3d5b['defaultCommand'])_0x2b9e1f=_0x2b3d5b['defaultCommand'];else{console['log'](generateServiceHelp(_0x514778));return;}}const _0x60f6d5=findDefinition(_0x514778,_0x2b9e1f);!_0x60f6d5&&(console[_0x10f3d9(0xd8)](generateServiceHelp(_0x514778)),handleError(CliErrors[_0x10f3d9(0xcc)](_0x514778+'\x20'+_0x2b9e1f)));if(_0x5cf414['help']){console[_0x10f3d9(0xd8)](generateCommandHelp(_0x60f6d5));return;}const _0x32f75b=buildConfigFromFlags(_0x5cf414);await initGlobalEnvironment(_0x32f75b);const _0x33c9e3=createPipelineEnv(_0x32f75b,_0x5cf414);_0x33c9e3[_0x10f3d9(0xb1)]=cli[_0x10f3d9(0xcf)][_0x10f3d9(0xc5)](0x2),await runCommand(_0x60f6d5,_0x33c9e3);}function handleError(_0x26eaef){const _0x22ff8c=a0_0x4ff0;if(_0x26eaef instanceof CliError){_0x26eaef['code']===_0x22ff8c(0xca)&&(process[_0x22ff8c(0xaf)][_0x22ff8c(0xda)](_0x22ff8c(0xba)),process[_0x22ff8c(0xd1)](0x0));console[_0x22ff8c(0xcd)](_0x22ff8c(0xc7)+_0x26eaef[_0x22ff8c(0xc8)]);if(_0x26eaef['hint'])console[_0x22ff8c(0xcd)]('Hint:\x20'+_0x26eaef[_0x22ff8c(0xd6)]);process[_0x22ff8c(0xd1)](_0x26eaef[_0x22ff8c(0xbd)]);}isUserCancellation(_0x26eaef)&&(process[_0x22ff8c(0xaf)][_0x22ff8c(0xda)](_0x22ff8c(0xba)),process[_0x22ff8c(0xd1)](0x0)),console[_0x22ff8c(0xcd)](_0x22ff8c(0xd5),_0x26eaef),process[_0x22ff8c(0xd1)](0x1);}function isUserCancellation(_0x565768){const _0x16adb1=a0_0x4ff0;if(!(_0x565768 instanceof Error))return![];if(_0x565768[_0x16adb1(0xbb)]==='ExitPromptError')return!![];if(_0x565768[_0x16adb1(0xb2)]===_0x16adb1(0xc0))return!![];if(_0x565768[_0x16adb1(0xb2)]===_0x16adb1(0xcb))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x2dbc3f=a1_0x152a;(function(_0x4ba983,_0x5b8134){const _0x46c017=a1_0x152a,_0x2ad639=_0x4ba983();while(!![]){try{const _0x39578c=-parseInt(_0x46c017(0x165))/0x1+-parseInt(_0x46c017(0x167))/0x2+parseInt(_0x46c017(0x14b))/0x3+parseInt(_0x46c017(0x17f))/0x4*(parseInt(_0x46c017(0x128))/0x5)+-parseInt(_0x46c017(0x145))/0x6+-parseInt(_0x46c017(0x187))/0x7*(-parseInt(_0x46c017(0x16c))/0x8)+parseInt(_0x46c017(0x17d))/0x9;if(_0x39578c===_0x5b8134)break;else _0x2ad639['push'](_0x2ad639['shift']());}catch(_0x51833e){_0x2ad639['push'](_0x2ad639['shift']());}}}(a1_0x2f0e,0x7c0b5));import{CliErrors}from'../../errors.js';function a1_0x2f0e(){const _0x2fa15c=['创建数据','##\x20Filter\x20dataset\x20data','##\x20Dataset\x20detail','str','result\x20rows\x20contain\x20aggregate\x20aliases','custom_sql_execute','where\x20filters\x20before\x20aggregation','1127YZbrVN','read','Aggregate\x20dataset\x20data','fields/properties\x20describe\x20data\x20shape','string','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','Execute\x20BF\x20endpoint\x20function','/api/{appCode}/{datasetCode}/filter','需要按数据集\x20code\x20获取字段、表信息、关联关系(relations)或操作定义时使用','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Dataset\x20detail','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','functionName','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','/api/endpoint/{appCode}/{functionName}','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','dataset_data_get_one','filter','{\x22fieldName\x22:\x22value\x22}','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','POST','dataset_data_filter','查询单条数据','length','summary','bf_execute','paging.totalCount\x20gives\x20total\x20rows','Show\x20runtime\x20API\x20documentation\x20by\x20code','tableData\x20contains\x20dataset\x20id/code/name','3360gdHEvq','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','operations\x20describes\x20runtime\x20APIs','toLowerCase','path','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','category','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','whenToUse','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','/api/{appCode}/{datasetCode}/getOne','API\x20doc\x20code\x20not\x20found:\x20','List\x20available\x20runtime\x20API\x20documentation\x20entries','map','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','api-doc','list','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','tableData\x20contains\x20records','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','需要按\x20appCode\x20分页获取运行态数据集列表,并优先收敛可用\x20datasetCode\x20时使用','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','bf_detail','658788rUMOjV','title','datasetCode','includes','join','按应用和函数名精确获取\x20BF\x20运行契约','518577QxYwiq','Current\x20app\x20code','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','执行自定义\x20SQL','需要向指定数据集新增一条业务数据时使用','/api/custom/executeSql','find','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','##\x20List\x20datasets','条件过滤查询数据','dataset_detail','Returns\x20script\x20business\x20payload','/api/dataset/getOneByCode?code={datasetCode}','Get\x20one\x20dataset\x20record','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','List\x20datasets','dataset','Returns\x20one\x20matching\x20business\x20record','appCode','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','Get\x20BF\x20endpoint\x20function\x20contract','code','执行指定\x20BF\x20函数','32-character\x20dataset\x20code','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','dataset_data_create','684275lygDlB','None','1539124txIJZw','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','已经从用户、平台\x20UI\x20或前序上下文确认函数名,需要查看该\x20ENDPOINT\x20的运行态元信息时使用','##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.','##\x20Aggregate\x20dataset\x20data','17768sFgbQX','Execute\x20custom\x20SQL','dataset_list','GET','validation','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','需要按\x20groupBy\x20分组并做\x20count、sum、avg、max、min\x20等聚合统计时使用','detail','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','keyword','/client/bff/endpoint/{appCode}/{functionName}','获取数据集详情','trim','聚合查询数据集数据','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','12202272VXZTkW','paging\x20contains\x20pagination','1104kzJNNy'];a1_0x2f0e=function(){return _0x2fa15c;};return a1_0x2f0e();}const CATEGORY_FLAG={'name':a1_0x2dbc3f(0x12e),'type':a1_0x2dbc3f(0x18b),'description':'Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset'},KEYWORD_FLAG={'name':a1_0x2dbc3f(0x176),'type':a1_0x2dbc3f(0x18b),'description':a1_0x2dbc3f(0x152)},DOC_CODE_FLAG={'name':a1_0x2dbc3f(0x160),'type':a1_0x2dbc3f(0x18b),'required':!![],'description':a1_0x2dbc3f(0x13e)},DOCS=[{'code':a1_0x2dbc3f(0x16e),'category':a1_0x2dbc3f(0x15b),'title':a1_0x2dbc3f(0x15a),'method':'POST','path':'/api/dataset/get-dataset-list-by-app-code','summary':'分页获取数据集列表','whenToUse':a1_0x2dbc3f(0x13f),'pathParams':[],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x140),'responseHighlights':[a1_0x2dbc3f(0x127),a1_0x2dbc3f(0x1a2)],'examples':[a1_0x2dbc3f(0x15e)],'notes':[a1_0x2dbc3f(0x190)],'markdown':[a1_0x2dbc3f(0x153),'',a1_0x2dbc3f(0x141)]['join']('\x0a')},{'code':a1_0x2dbc3f(0x155),'category':a1_0x2dbc3f(0x15b),'title':a1_0x2dbc3f(0x191),'method':a1_0x2dbc3f(0x16f),'path':a1_0x2dbc3f(0x157),'summary':a1_0x2dbc3f(0x178),'whenToUse':a1_0x2dbc3f(0x18f),'pathParams':[],'queryParams':[{'name':a1_0x2dbc3f(0x160),'description':a1_0x2dbc3f(0x162)}],'bodySchema':a1_0x2dbc3f(0x166),'responseHighlights':[a1_0x2dbc3f(0x18a),a1_0x2dbc3f(0x14d),a1_0x2dbc3f(0x12a)],'examples':[a1_0x2dbc3f(0x196)],'notes':['If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.'],'markdown':[a1_0x2dbc3f(0x182),'',a1_0x2dbc3f(0x143)][a1_0x2dbc3f(0x149)]('\x0a')},{'code':a1_0x2dbc3f(0x19d),'category':a1_0x2dbc3f(0x15b),'title':'Filter\x20dataset\x20data','method':a1_0x2dbc3f(0x19c),'path':a1_0x2dbc3f(0x18e),'summary':a1_0x2dbc3f(0x154),'whenToUse':'需要携带\x20where、orderBy、分页等条件读取业务数据时使用','pathParams':[{'name':'appCode','description':a1_0x2dbc3f(0x14c)},{'name':'datasetCode','description':a1_0x2dbc3f(0x162)}],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x175),'responseHighlights':[a1_0x2dbc3f(0x13c),a1_0x2dbc3f(0x17e)],'examples':[a1_0x2dbc3f(0x138),a1_0x2dbc3f(0x194)],'notes':[a1_0x2dbc3f(0x18c),a1_0x2dbc3f(0x17b),a1_0x2dbc3f(0x13d),a1_0x2dbc3f(0x174)],'markdown':[a1_0x2dbc3f(0x181),'',a1_0x2dbc3f(0x171)]['join']('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x2dbc3f(0x15b),'title':a1_0x2dbc3f(0x189),'method':a1_0x2dbc3f(0x19c),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x2dbc3f(0x17a),'whenToUse':a1_0x2dbc3f(0x172),'pathParams':[{'name':a1_0x2dbc3f(0x15d),'description':a1_0x2dbc3f(0x14c)},{'name':a1_0x2dbc3f(0x147),'description':a1_0x2dbc3f(0x162)}],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x136),'responseHighlights':[a1_0x2dbc3f(0x184),a1_0x2dbc3f(0x186)],'examples':[a1_0x2dbc3f(0x12f)],'notes':['Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.',a1_0x2dbc3f(0x142)],'markdown':[a1_0x2dbc3f(0x16b),'',a1_0x2dbc3f(0x12d)]['join']('\x0a')},{'code':a1_0x2dbc3f(0x197),'category':a1_0x2dbc3f(0x15b),'title':a1_0x2dbc3f(0x158),'method':'POST','path':a1_0x2dbc3f(0x132),'summary':a1_0x2dbc3f(0x19e),'whenToUse':'已经知道记录\x20id,需要按数据集读取单条业务数据时使用','pathParams':[{'name':a1_0x2dbc3f(0x15d),'description':a1_0x2dbc3f(0x14c)},{'name':a1_0x2dbc3f(0x147),'description':a1_0x2dbc3f(0x162)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x2dbc3f(0x15c)],'examples':[a1_0x2dbc3f(0x17c)],'notes':[a1_0x2dbc3f(0x129)],'markdown':a1_0x2dbc3f(0x163)},{'code':a1_0x2dbc3f(0x164),'category':'dataset','title':'Create\x20dataset\x20record','method':a1_0x2dbc3f(0x19c),'path':'/api/{appCode}/{datasetCode}/create','summary':a1_0x2dbc3f(0x180),'whenToUse':a1_0x2dbc3f(0x14f),'pathParams':[{'name':a1_0x2dbc3f(0x15d),'description':a1_0x2dbc3f(0x14c)},{'name':a1_0x2dbc3f(0x147),'description':a1_0x2dbc3f(0x162)}],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x199),'responseHighlights':[a1_0x2dbc3f(0x19b)],'examples':[a1_0x2dbc3f(0x159)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':a1_0x2dbc3f(0x16a)},{'code':a1_0x2dbc3f(0x144),'category':'bf','title':a1_0x2dbc3f(0x15f),'method':a1_0x2dbc3f(0x16f),'path':a1_0x2dbc3f(0x177),'summary':a1_0x2dbc3f(0x14a),'whenToUse':a1_0x2dbc3f(0x169),'pathParams':[{'name':a1_0x2dbc3f(0x15d),'description':a1_0x2dbc3f(0x14c)},{'name':a1_0x2dbc3f(0x193),'description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x166),'responseHighlights':[a1_0x2dbc3f(0x192)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.'],'markdown':a1_0x2dbc3f(0x19a)},{'code':a1_0x2dbc3f(0x1a1),'category':'bf','title':a1_0x2dbc3f(0x18d),'method':a1_0x2dbc3f(0x19c),'path':a1_0x2dbc3f(0x195),'summary':a1_0x2dbc3f(0x161),'whenToUse':'已经确认目标\x20BF\x20的\x20functionName,且需要实际调用该\x20ENDPOINT\x20函数完成业务操作时使用','pathParams':[{'name':'appCode','description':a1_0x2dbc3f(0x14c)},{'name':a1_0x2dbc3f(0x193),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x2dbc3f(0x156)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x2dbc3f(0x185),'category':'custom_sql','title':a1_0x2dbc3f(0x16d),'method':a1_0x2dbc3f(0x19c),'path':a1_0x2dbc3f(0x150),'summary':a1_0x2dbc3f(0x14e),'whenToUse':'已经确认目标\x20sqlCode\x20存在,并需要实际执行该自定义\x20SQL\x20时使用','pathParams':[],'queryParams':[],'bodySchema':a1_0x2dbc3f(0x131),'responseHighlights':['Returns\x20SQL\x20execution\x20payload'],'examples':[a1_0x2dbc3f(0x13b)],'notes':[a1_0x2dbc3f(0x137)],'markdown':a1_0x2dbc3f(0x168)}];function entrySummary(_0x196f4b){const _0x3c160a=a1_0x2dbc3f;return{'code':_0x196f4b[_0x3c160a(0x160)],'category':_0x196f4b[_0x3c160a(0x12e)],'method':_0x196f4b['method'],'path':_0x196f4b[_0x3c160a(0x12c)],'summary':_0x196f4b[_0x3c160a(0x1a0)],'whenToUse':_0x196f4b['whenToUse']};}export function listApiDocEntries(_0x5cb275={}){const _0x4772a2=a1_0x2dbc3f,_0x20e26b=String(_0x5cb275[_0x4772a2(0x12e)]||'')['trim'](),_0x45b3ad=String(_0x5cb275[_0x4772a2(0x176)]||'')[_0x4772a2(0x179)]()[_0x4772a2(0x12b)]();return DOCS[_0x4772a2(0x198)](_0x2e399f=>{const _0x5b0f0e=_0x4772a2;if(_0x20e26b&&_0x2e399f['category']!==_0x20e26b)return![];if(!_0x45b3ad)return!![];return[_0x2e399f[_0x5b0f0e(0x160)],_0x2e399f['category'],_0x2e399f['method'],_0x2e399f[_0x5b0f0e(0x12c)],_0x2e399f[_0x5b0f0e(0x1a0)],_0x2e399f[_0x5b0f0e(0x130)],_0x2e399f[_0x5b0f0e(0x146)]][_0x5b0f0e(0x149)]('\x20')[_0x5b0f0e(0x12b)]()[_0x5b0f0e(0x148)](_0x45b3ad);})[_0x4772a2(0x135)](entrySummary);}export function getApiDocDetail(_0x37fe0c){const _0x4215b7=a1_0x2dbc3f,_0x2299e9=DOCS[_0x4215b7(0x151)](_0x1e581b=>_0x1e581b[_0x4215b7(0x160)]===_0x37fe0c);if(!_0x2299e9)throw CliErrors[_0x4215b7(0x170)](_0x4215b7(0x133)+_0x37fe0c);return{..._0x2299e9};}function a1_0x152a(_0x1461c5,_0x49f2e6){_0x1461c5=_0x1461c5-0x127;const _0x2f0e04=a1_0x2f0e();let _0x152a1f=_0x2f0e04[_0x1461c5];return _0x152a1f;}const apiDocList={'service':a1_0x2dbc3f(0x139),'command':a1_0x2dbc3f(0x13a),'description':a1_0x2dbc3f(0x134),'risk':a1_0x2dbc3f(0x188),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x2cef48){const _0x11d5cf=a1_0x2dbc3f,_0x23f1e8=listApiDocEntries({'category':_0x2cef48[_0x11d5cf(0x183)](_0x11d5cf(0x12e)),'keyword':_0x2cef48[_0x11d5cf(0x183)](_0x11d5cf(0x176))});return{'ok':!![],'data':{'total':_0x23f1e8[_0x11d5cf(0x19f)],'items':_0x23f1e8}};}},apiDocDetail={'service':a1_0x2dbc3f(0x139),'command':a1_0x2dbc3f(0x173),'description':a1_0x2dbc3f(0x1a3),'risk':a1_0x2dbc3f(0x188),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x489f0a){const _0x28e49d=a1_0x2dbc3f;return{'ok':!![],'data':getApiDocDetail(_0x489f0a['str'](_0x28e49d(0x160)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
function a1_0x5747(_0x5adafb,_0x5935d1){_0x5adafb=_0x5adafb-0x189;const _0x55dd06=a1_0x55dd();let _0x57477c=_0x55dd06[_0x5adafb];return _0x57477c;}const a1_0xa1bd4b=a1_0x5747;(function(_0xa66b29,_0x532422){const _0x3da8d1=a1_0x5747,_0x4b9cc3=_0xa66b29();while(!![]){try{const _0x357abd=-parseInt(_0x3da8d1(0x1ac))/0x1+-parseInt(_0x3da8d1(0x18e))/0x2*(parseInt(_0x3da8d1(0x1bc))/0x3)+-parseInt(_0x3da8d1(0x1d0))/0x4+-parseInt(_0x3da8d1(0x1bf))/0x5*(-parseInt(_0x3da8d1(0x202))/0x6)+parseInt(_0x3da8d1(0x1d2))/0x7*(parseInt(_0x3da8d1(0x1b7))/0x8)+-parseInt(_0x3da8d1(0x1e5))/0x9*(-parseInt(_0x3da8d1(0x1b9))/0xa)+parseInt(_0x3da8d1(0x192))/0xb;if(_0x357abd===_0x532422)break;else _0x4b9cc3['push'](_0x4b9cc3['shift']());}catch(_0x2fd532){_0x4b9cc3['push'](_0x4b9cc3['shift']());}}}(a1_0x55dd,0xf3ef7));function a1_0x55dd(){const _0x2b6e97=['/api/{appCode}/{datasetCode}/create','list','GET','str','category','Execute\x20BF\x20endpoint\x20function','6656178IXiEAz','Current\x20app\x20code','Get\x20dataset\x20detail','paging.totalCount\x20gives\x20total\x20rows','/api/dataset/getOneByCode?code={datasetCode}','##\x20Filter\x20dataset\x20data','dataset_data_create','tableData\x20contains\x20records','trim','/api/dataset/get-dataset-list-by-app-code','Show\x20runtime\x20API\x20documentation\x20by\x20code','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','17948OucwRt','Filter\x20dataset\x20data','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Exact\x20endpoint\x20function\x20name','9618125XrtHlh','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','read','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Aggregate\x20dataset\x20data','datasetCode','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','custom_sql','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','dataset_data_aggregate','##\x20List\x20datasets','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Execute\x20custom\x20SQL','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','tableData\x20contains\x20dataset\x20id/code/name','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','Create\x20dataset\x20record','##\x20Dataset\x20detail','/api/{appCode}/{datasetCode}/getOne','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','map','method','1284340VzwRBs','/api/{appCode}/{datasetCode}/filter','length','detail','Create\x20a\x20dataset\x20record','Get\x20one\x20dataset\x20record','paging\x20contains\x20pagination','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','None','dataset','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','8lnXEzC','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','70xZJyEN','operations\x20describes\x20runtime\x20APIs','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','327tWFXnX','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','filter','5DVLjJT','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Dataset\x20detail','Aggregate\x20dataset\x20records','path','whenToUse','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','api-doc','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','toLowerCase','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','string','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','fields/properties\x20describe\x20data\x20shape','/api/endpoint/{appCode}/{functionName}','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','dataset_detail','3916868KyWbiq','keyword','10723363pFXwuw','summary','Get\x20BF\x20endpoint\x20function\x20contract','32-character\x20dataset\x20code','appCode','POST','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','validation','Filter\x20dataset\x20records','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','/client/bff/endpoint/{appCode}/{functionName}','/api/{appCode}/{datasetCode}/aggregate','Execute\x20a\x20BF\x20endpoint\x20function','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','List\x20datasets','bf_detail','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','find','932445HGJnHE','dataset_data_filter','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','custom_sql_execute','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','{\x22param\x22:\x22value\x22}','Returns\x20SQL\x20execution\x20payload','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','result\x20rows\x20contain\x20aggregate\x20aliases','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','{\x22id\x22:123}','title','dataset_data_get_one','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','API\x20doc\x20code\x20not\x20found:\x20','API\x20doc\x20code,\x20for\x20example\x20dataset_list','functionName','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','code','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','/api/custom/executeSql','join'];a1_0x55dd=function(){return _0x2b6e97;};return a1_0x55dd();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0xa1bd4b(0x200),'type':a1_0xa1bd4b(0x1ca),'description':a1_0xa1bd4b(0x1ec)},KEYWORD_FLAG={'name':a1_0xa1bd4b(0x1d1),'type':a1_0xa1bd4b(0x1ca),'description':a1_0xa1bd4b(0x1c7)},DOC_CODE_FLAG={'name':'code','type':a1_0xa1bd4b(0x1ca),'required':!![],'description':a1_0xa1bd4b(0x1f5)},DOCS=[{'code':'dataset_list','category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1e1),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x20b),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0xa1bd4b(0x19c),'pathParams':[],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x199),'responseHighlights':[a1_0xa1bd4b(0x1a4),a1_0xa1bd4b(0x205)],'examples':[a1_0xa1bd4b(0x18c)],'notes':[a1_0xa1bd4b(0x19f)],'markdown':[a1_0xa1bd4b(0x19e),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1cf),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1c1),'method':a1_0xa1bd4b(0x1fe),'path':a1_0xa1bd4b(0x206),'summary':a1_0xa1bd4b(0x204),'whenToUse':a1_0xa1bd4b(0x1e3),'pathParams':[],'queryParams':[{'name':'code','description':'32-character\x20dataset\x20code'}],'bodySchema':'None','responseHighlights':[a1_0xa1bd4b(0x1cc),a1_0xa1bd4b(0x1c9),a1_0xa1bd4b(0x1ba)],'examples':[a1_0xa1bd4b(0x1bd)],'notes':[a1_0xa1bd4b(0x1ce)],'markdown':[a1_0xa1bd4b(0x1a7),'',a1_0xa1bd4b(0x1a1)][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1e6),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x18f),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1ad),'summary':a1_0xa1bd4b(0x1da),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':'datasetCode','description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x190),'responseHighlights':[a1_0xa1bd4b(0x209),a1_0xa1bd4b(0x1b2)],'examples':[a1_0xa1bd4b(0x1ed),a1_0xa1bd4b(0x1e9)],'notes':[a1_0xa1bd4b(0x1b3),a1_0xa1bd4b(0x1cb),a1_0xa1bd4b(0x1a2),'Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0xa1bd4b(0x207),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0xa1bd4b(0x19d),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x196),'method':'POST','path':a1_0xa1bd4b(0x1dd),'summary':a1_0xa1bd4b(0x1c2),'whenToUse':a1_0xa1bd4b(0x1d8),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1bb),'responseHighlights':[a1_0xa1bd4b(0x1ee),'where\x20filters\x20before\x20aggregation'],'examples':[a1_0xa1bd4b(0x1e0)],'notes':[a1_0xa1bd4b(0x1c0),a1_0xa1bd4b(0x18b)],'markdown':['##\x20Aggregate\x20dataset\x20data','',a1_0xa1bd4b(0x1ef)][a1_0xa1bd4b(0x1fb)]('\x0a')},{'code':a1_0xa1bd4b(0x1f2),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1b1),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1a8),'summary':a1_0xa1bd4b(0x1b1),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1f0),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0xa1bd4b(0x19b)],'notes':[a1_0xa1bd4b(0x1a5)],'markdown':a1_0xa1bd4b(0x1f9)},{'code':a1_0xa1bd4b(0x208),'category':a1_0xa1bd4b(0x1b5),'title':a1_0xa1bd4b(0x1a6),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1fc),'summary':a1_0xa1bd4b(0x1b0),'whenToUse':a1_0xa1bd4b(0x1db),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':'Current\x20app\x20code'},{'name':a1_0xa1bd4b(0x197),'description':a1_0xa1bd4b(0x1d5)}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0xa1bd4b(0x1a3)],'examples':[a1_0xa1bd4b(0x1e7)],'notes':[a1_0xa1bd4b(0x1c5)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0xa1bd4b(0x1e2),'category':'bf','title':a1_0xa1bd4b(0x1d4),'method':a1_0xa1bd4b(0x1fe),'path':a1_0xa1bd4b(0x1dc),'summary':a1_0xa1bd4b(0x189),'whenToUse':a1_0xa1bd4b(0x1df),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':'Current\x20app\x20code'},{'name':a1_0xa1bd4b(0x1f6),'description':a1_0xa1bd4b(0x191)}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1b4),'responseHighlights':['CLI\x20returns\x20appCode/functionName/description/version/gmtModified'],'examples':[a1_0xa1bd4b(0x18a)],'notes':[a1_0xa1bd4b(0x195)],'markdown':a1_0xa1bd4b(0x1f7)},{'code':'bf_execute','category':'bf','title':a1_0xa1bd4b(0x201),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1cd),'summary':a1_0xa1bd4b(0x1de),'whenToUse':a1_0xa1bd4b(0x1f3),'pathParams':[{'name':a1_0xa1bd4b(0x1d6),'description':a1_0xa1bd4b(0x203)},{'name':a1_0xa1bd4b(0x1f6),'description':'Endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0xa1bd4b(0x1ea),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0xa1bd4b(0x18d)],'notes':[a1_0xa1bd4b(0x1a9)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0xa1bd4b(0x1e8),'category':a1_0xa1bd4b(0x19a),'title':a1_0xa1bd4b(0x1a0),'method':a1_0xa1bd4b(0x1d7),'path':a1_0xa1bd4b(0x1fa),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0xa1bd4b(0x193),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0xa1bd4b(0x1eb)],'examples':[a1_0xa1bd4b(0x198)],'notes':[a1_0xa1bd4b(0x1b8)],'markdown':a1_0xa1bd4b(0x1b6)}];function entrySummary(_0x36b66e){const _0xe14889=a1_0xa1bd4b;return{'code':_0x36b66e[_0xe14889(0x1f8)],'category':_0x36b66e[_0xe14889(0x200)],'method':_0x36b66e[_0xe14889(0x1ab)],'path':_0x36b66e[_0xe14889(0x1c3)],'summary':_0x36b66e[_0xe14889(0x1d3)],'whenToUse':_0x36b66e['whenToUse']};}export function listApiDocEntries(_0x30800a={}){const _0x46584f=a1_0xa1bd4b,_0x4bb74e=String(_0x30800a[_0x46584f(0x200)]||'')[_0x46584f(0x20a)](),_0x13139e=String(_0x30800a[_0x46584f(0x1d1)]||'')[_0x46584f(0x20a)]()['toLowerCase']();return DOCS[_0x46584f(0x1be)](_0x1820c7=>{const _0x4fe5e9=_0x46584f;if(_0x4bb74e&&_0x1820c7[_0x4fe5e9(0x200)]!==_0x4bb74e)return![];if(!_0x13139e)return!![];return[_0x1820c7[_0x4fe5e9(0x1f8)],_0x1820c7[_0x4fe5e9(0x200)],_0x1820c7[_0x4fe5e9(0x1ab)],_0x1820c7[_0x4fe5e9(0x1c3)],_0x1820c7[_0x4fe5e9(0x1d3)],_0x1820c7[_0x4fe5e9(0x1c4)],_0x1820c7[_0x4fe5e9(0x1f1)]][_0x4fe5e9(0x1fb)]('\x20')[_0x4fe5e9(0x1c8)]()['includes'](_0x13139e);})[_0x46584f(0x1aa)](entrySummary);}export function getApiDocDetail(_0x4220b6){const _0x3f9d3c=a1_0xa1bd4b,_0x497221=DOCS[_0x3f9d3c(0x1e4)](_0xfc121e=>_0xfc121e[_0x3f9d3c(0x1f8)]===_0x4220b6);if(!_0x497221)throw CliErrors[_0x3f9d3c(0x1d9)](_0x3f9d3c(0x1f4)+_0x4220b6);return{..._0x497221};}const apiDocList={'service':a1_0xa1bd4b(0x1c6),'command':a1_0xa1bd4b(0x1fd),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0xa1bd4b(0x194),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xe52296){const _0x24abcd=a1_0xa1bd4b,_0x4a708b=listApiDocEntries({'category':_0xe52296['str']('category'),'keyword':_0xe52296[_0x24abcd(0x1ff)]('keyword')});return{'ok':!![],'data':{'total':_0x4a708b[_0x24abcd(0x1ae)],'items':_0x4a708b}};}},apiDocDetail={'service':a1_0xa1bd4b(0x1c6),'command':a1_0xa1bd4b(0x1af),'description':a1_0xa1bd4b(0x20c),'risk':a1_0xa1bd4b(0x194),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x43564a){return{'ok':!![],'data':getApiDocDetail(_0x43564a['str']('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2bb1ed,_0xb25805){const _0x5c9e85=a2_0x5bb6,_0xa3471e=_0x2bb1ed();while(!![]){try{const _0x2c16e1=parseInt(_0x5c9e85(0x12b))/0x1+parseInt(_0x5c9e85(0x137))/0x2*(-parseInt(_0x5c9e85(0x11e))/0x3)+parseInt(_0x5c9e85(0x134))/0x4+-parseInt(_0x5c9e85(0x12d))/0x5+parseInt(_0x5c9e85(0x127))/0x6*(parseInt(_0x5c9e85(0x124))/0x7)+parseInt(_0x5c9e85(0x11c))/0x8*(parseInt(_0x5c9e85(0x128))/0x9)+parseInt(_0x5c9e85(0x132))/0xa*(-parseInt(_0x5c9e85(0x130))/0xb);if(_0x2c16e1===_0xb25805)break;else _0xa3471e['push'](_0xa3471e['shift']());}catch(_0x421c0b){_0xa3471e['push'](_0xa3471e['shift']());}}}(a2_0x5050,0x8dd33));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a2_0x5bb6(_0x597fe5,_0x5bf47e){_0x597fe5=_0x597fe5-0x11c;const _0x5050b8=a2_0x5050();let _0x5bb6a1=_0x5050b8[_0x597fe5];return _0x5bb6a1;}import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';function a2_0x5050(){const _0x1038ed=['ak_','385563zzWNHc','EXDEV','3526180kJMQkW','appCode','EACCES','44HgDSlA','update','1820590nkptWY','code','3921404IpgIds','utf8','parse','288248WimNkc','EPERM','stringify','unknown','items','homeDirName','8yCQvgs','slice','9HUmJmd','appName','.tmp','isArray','cache','find','5026fysivR','trim','my-apps.json','6864LYUepn','2335077VXVyQU','sha256'];a2_0x5050=function(){return _0x1038ed;};return a2_0x5050();}import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x4bfa5a){const _0x1d761a=a2_0x5bb6,_0x1b8811=_0x4bfa5a[_0x1d761a(0x125)](),_0x143247=_0x1b8811[_0x1d761a(0x11d)](-0x6)||_0x1d761a(0x13a),_0x18bc31=createHash(_0x1d761a(0x129))[_0x1d761a(0x131)](_0x1b8811)['digest']('hex')['slice'](0x0,0xc);return _0x1d761a(0x12a)+_0x143247+'_'+_0x18bc31;}export function getAppCacheFilePath(_0x1e2ed2,_0x5f3d9f){const _0x49ab4a=a2_0x5bb6;return resolve(homedir(),PRODUCT_CONFIG[_0x49ab4a(0x13c)],_0x49ab4a(0x122),_0x1e2ed2,fingerprintAccessKey(_0x5f3d9f),_0x49ab4a(0x126));}export function readCachedAppList(_0xb87466,_0x14af3e){const _0x38e837=a2_0x5bb6;if(!_0x14af3e?.[_0x38e837(0x125)]())return null;const _0x1a83d5=getAppCacheFilePath(_0xb87466,_0x14af3e);if(!existsSync(_0x1a83d5))return null;try{const _0x3658e3=readFileSync(_0x1a83d5,_0x38e837(0x135));if(!_0x3658e3['trim']())return null;const _0x6ccbf5=JSON[_0x38e837(0x136)](_0x3658e3);if(!Array[_0x38e837(0x121)](_0x6ccbf5[_0x38e837(0x13b)]))return null;return _0x6ccbf5;}catch{return null;}}export function writeCachedAppList(_0x574b3f,_0x142ab4,_0x55f234){const _0x1cd660=a2_0x5bb6,_0x252556=getAppCacheFilePath(_0x574b3f,_0x142ab4),_0x330a67=dirname(_0x252556);!existsSync(_0x330a67)&&mkdirSync(_0x330a67,{'recursive':!![]});const _0x321efb=_0x252556+_0x1cd660(0x120);try{writeFileSync(_0x321efb,JSON[_0x1cd660(0x139)](_0x55f234,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x321efb,_0x252556);}catch(_0x331bf3){if(_0x331bf3[_0x1cd660(0x133)]===_0x1cd660(0x138)||_0x331bf3[_0x1cd660(0x133)]===_0x1cd660(0x12c)||_0x331bf3[_0x1cd660(0x133)]===_0x1cd660(0x12f)){writeFileSync(_0x252556,JSON[_0x1cd660(0x139)](_0x55f234,null,0x2)+'\x0a',{'encoding':_0x1cd660(0x135)});try{unlinkSync(_0x321efb);}catch{}}else throw _0x331bf3;}}catch(_0x373c58){try{unlinkSync(_0x321efb);}catch{}throw _0x373c58;}return _0x252556;}export function resolveCachedAppCode(_0x20fa63,_0x5ac00e,_0x5b4daf){const _0x145731=a2_0x5bb6;if(!_0x20fa63)return undefined;const _0xebbee6=readCachedAppList(_0x5ac00e,_0x5b4daf),_0x52c9a6=_0xebbee6?.[_0x145731(0x13b)][_0x145731(0x123)](_0x173848=>_0x173848[_0x145731(0x11f)]===_0x20fa63&&isRuntimeAccessibleApp(_0x173848));return _0x52c9a6?.[_0x145731(0x12e)]?.['trim']()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x3872a4=a3_0x2f1f;(function(_0x490e01,_0x713591){const _0x447d2b=a3_0x2f1f,_0x53972a=_0x490e01();while(!![]){try{const _0x41c3e4=parseInt(_0x447d2b(0x144))/0x1*(parseInt(_0x447d2b(0x129))/0x2)+-parseInt(_0x447d2b(0x150))/0x3*(parseInt(_0x447d2b(0x13e))/0x4)+parseInt(_0x447d2b(0x12c))/0x5*(parseInt(_0x447d2b(0x132))/0x6)+-parseInt(_0x447d2b(0x15e))/0x7*(-parseInt(_0x447d2b(0x15b))/0x8)+parseInt(_0x447d2b(0x14e))/0x9+parseInt(_0x447d2b(0x126))/0xa+parseInt(_0x447d2b(0x158))/0xb*(-parseInt(_0x447d2b(0x153))/0xc);if(_0x41c3e4===_0x713591)break;else _0x53972a['push'](_0x53972a['shift']());}catch(_0x1c5700){_0x53972a['push'](_0x53972a['shift']());}}}(a3_0x24f5,0x52805));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';function a3_0x2f1f(_0x1ecec4,_0x331f3b){_0x1ecec4=_0x1ecec4-0x122;const _0x24f553=a3_0x24f5();let _0x2f1ffe=_0x24f553[_0x1ecec4];return _0x2f1ffe;}import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x3818d1,_0x3977e3){const _0x26b3cd=a3_0x2f1f,_0x51ae5b={};for(const _0x3b530b of _0x3977e3){const _0x44aa57=_0x3b530b['type']===_0x26b3cd(0x159)?_0x3818d1['bool'](_0x3b530b['name']):_0x3818d1[_0x26b3cd(0x14b)](_0x3b530b['name']);if(_0x44aa57!==''&&_0x44aa57!==![])_0x51ae5b[_0x3b530b[_0x26b3cd(0x133)]]=_0x44aa57;}if(_0x3818d1[_0x26b3cd(0x15f)])_0x51ae5b[_0x26b3cd(0x15f)]=!![];return _0x51ae5b;}function normalizeLanguages(_0x2fb50f){const _0x1eba2a=a3_0x2f1f;if(!Array['isArray'](_0x2fb50f))return[];return _0x2fb50f[_0x1eba2a(0x13d)](_0x57b0be=>typeof _0x57b0be==='string')[_0x1eba2a(0x13f)](_0x3b0914=>_0x3b0914[_0x1eba2a(0x15d)]())[_0x1eba2a(0x13d)](Boolean);}function buildRemoteAppI18nFields(_0x2726e8){const _0x569d51=a3_0x2f1f,_0x333c96=normalizeLanguages(_0x2726e8[_0x569d51(0x125)]?.['langs']);return{'enableI18n':typeof _0x2726e8[_0x569d51(0x127)]===_0x569d51(0x159)?_0x2726e8[_0x569d51(0x127)]:null,'languages':_0x333c96,'i18nInfo':_0x2726e8[_0x569d51(0x125)]?{..._0x2726e8[_0x569d51(0x125)],'langs':_0x333c96[_0x569d51(0x134)]?_0x333c96:null}:null};}const listDef={'service':'app','command':a3_0x3872a4(0x130),'description':a3_0x3872a4(0x12e),'risk':a3_0x3872a4(0x12d),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x3872a4(0x148),'type':a3_0x3872a4(0x13c),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x3872a4(0x151),'type':a3_0x3872a4(0x159),'description':a3_0x3872a4(0x135),'default':![]},{'name':'no-cache','type':a3_0x3872a4(0x159),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':'include-unpublished','type':a3_0x3872a4(0x159),'description':a3_0x3872a4(0x145),'default':![]}],async 'execute'(_0x311a13){const _0x5e1ab7=a3_0x3872a4,_0x4ad203=_0x311a13[_0x5e1ab7(0x14b)]('env')||_0x311a13[_0x5e1ab7(0x154)]||getEnv()||_0x5e1ab7(0x149),_0x564124=_0x311a13[_0x5e1ab7(0x12b)](_0x5e1ab7(0x151)),_0x5bf936=_0x311a13[_0x5e1ab7(0x12b)](_0x5e1ab7(0x14f)),_0x5a05a9=_0x311a13[_0x5e1ab7(0x12b)]('include-unpublished'),{readRawConfigWithLayers:_0x35bec6,resolveDefaultAppSource:_0x471cbb,getLocalAppAliases:_0x3e2515}=await import(_0x5e1ab7(0x137)),{getRemoteAppList:_0x2078f0}=await import(_0x5e1ab7(0x136)),{config:_0x1e0bc4,layers:_0x34400d}=_0x35bec6(),_0x447539=_0x471cbb(_0x34400d),{defaultApp:_0x41f27b}=_0x1e0bc4,_0x527b96=await _0x2078f0({'env':_0x4ad203,'accessKey':_0x311a13[_0x5e1ab7(0x141)],'localOnly':_0x564124,'noCache':_0x5bf936}),_0xc91126=_0x5a05a9?_0x527b96[_0x5e1ab7(0x152)]:filterRuntimeAccessibleApps(_0x527b96[_0x5e1ab7(0x152)]),_0x1ad404=_0x527b96[_0x5e1ab7(0x152)][_0x5e1ab7(0x134)]-_0xc91126['length'],_0x563b4d=_0xc91126['map'](_0x6ab641=>{const _0x237453=_0x5e1ab7;return{'name':_0x6ab641[_0x237453(0x143)],'appcode':_0x6ab641[_0x237453(0x12a)],'named':!![],'definedIn':_0x237453(0x14a),'isDefault':_0x6ab641[_0x237453(0x143)]===_0x41f27b,...buildAppProfileListFields(_0x4ad203),...buildRemoteAppI18nFields(_0x6ab641),'source':_0x527b96[_0x237453(0x15a)],'owner':_0x6ab641['appOwnerName']??null,'status':_0x6ab641['appPublishStatus']??null,'cachedAt':_0x527b96[_0x237453(0x128)]};}),_0x2a0228=_0x3e2515(_0x1e0bc4);let _0x13c4c0=0x0;for(const [_0x52a3b7,_0x3292a9]of Object[_0x5e1ab7(0x14c)](_0x2a0228)){const _0x566976=typeof _0x3292a9[_0x5e1ab7(0x15c)]==='string'?_0x3292a9[_0x5e1ab7(0x15c)][_0x5e1ab7(0x15d)]():'';if(!_0x566976)continue;const _0x47bc17=findAppByCode(_0x527b96['items'],_0x566976);if(!_0x5a05a9&&_0x47bc17&&!isRuntimeAccessibleApp(_0x47bc17))continue;_0x13c4c0+=0x1,_0x563b4d[_0x5e1ab7(0x147)]({'name':_0x52a3b7,'appcode':_0x566976,'named':!![],'definedIn':_0x5e1ab7(0x151),'isDefault':_0x52a3b7===_0x41f27b,...buildAppProfileListFields(_0x4ad203),'source':_0x5e1ab7(0x131),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x563b4d,_0x311a13['mergedCli']);const _0x1707a2=_0x563b4d['find'](_0x2bf7fe=>_0x2bf7fe['isCurrent']===!![]),_0x5d5c0a=_0x41f27b??_0x1707a2?.['name']??null,_0x453189={'env':_0x4ad203,'source':_0x527b96[_0x5e1ab7(0x15a)],'fetchedAt':_0x527b96[_0x5e1ab7(0x128)],'cachePath':_0x527b96[_0x5e1ab7(0x13b)],'globalPath':_0x34400d['globalPath']??null,'projectPath':_0x34400d[_0x5e1ab7(0x124)]??null,'defaultApp':_0x5d5c0a,'defaultAppSource':_0x41f27b!=null?_0x447539:null,'localAliasCount':_0x13c4c0,'remoteTotal':_0x527b96['items'][_0x5e1ab7(0x134)],'hiddenUnpublishedCount':_0x1ad404,'includeUnpublished':_0x5a05a9};if(_0x563b4d['length']===0x0)return{'ok':!![],'data':{'items':_0x563b4d,'meta':_0x453189},'message':_0x527b96[_0x5e1ab7(0x15a)]===_0x5e1ab7(0x122)?_0x5e1ab7(0x146):'No\x20apps\x20found\x20on\x20the\x20platform.'};return{'ok':!![],'data':{'items':_0x563b4d,'meta':_0x453189}};}},pullDef={'service':a3_0x3872a4(0x138),'command':a3_0x3872a4(0x140),'description':a3_0x3872a4(0x155),'risk':a3_0x3872a4(0x156),'confirmationDescription':a3_0x3872a4(0x123),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':'env','type':a3_0x3872a4(0x13c),'description':'Target\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x3872a4(0x151),'type':'boolean','description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x3872a4(0x14f),'type':'boolean','description':a3_0x3872a4(0x13a),'default':![]}],async 'execute'(_0xe5e358){const _0x142b00=a3_0x3872a4,_0x29592e=_0xe5e358[_0x142b00(0x14b)](_0x142b00(0x148))||_0xe5e358[_0x142b00(0x154)]||getEnv()||_0x142b00(0x149),_0x48f6bd=_0xe5e358[_0x142b00(0x12b)]('local'),_0xf52b=_0xe5e358[_0x142b00(0x12b)]('no-cache'),{getRemoteAppList:_0x374b61}=await import('../../commands/app/remote-source.js'),_0x56c65d=await _0x374b61({'env':_0x29592e,'accessKey':_0xe5e358[_0x142b00(0x141)],'localOnly':_0x48f6bd,'noCache':_0xf52b});return{'ok':!![],'data':{'total':_0x56c65d[_0x142b00(0x152)][_0x142b00(0x134)],'env':_0x29592e,'source':_0x56c65d[_0x142b00(0x15a)],'fetchedAt':_0x56c65d[_0x142b00(0x128)],'cachePath':_0x56c65d[_0x142b00(0x13b)]},'message':_0x56c65d[_0x142b00(0x15a)]===_0x142b00(0x122)?_0x142b00(0x157)+_0x56c65d['items']['length']+_0x142b00(0x12f)+_0x29592e+'\x22.':_0x142b00(0x139)+_0x56c65d[_0x142b00(0x152)][_0x142b00(0x134)]+'\x20app(s)\x20for\x20env=\x22'+_0x29592e+'\x22.'};}},importDef={'service':a3_0x3872a4(0x138),'command':a3_0x3872a4(0x142),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x3872a4(0x156),'confirmationDescription':a3_0x3872a4(0x14d),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x4be052){return await runAppImport(collectFlags(_0x4be052,appImportFlagDefs)),{'ok':!![]};}};function a3_0x24f5(){const _0x1eb0a3=['source','1580464Yslops','appcode','trim','7uPFXiA','nonInteractive','cache','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','projectPath','i18nInfo','1576660xfzaZu','enableI18n','fetchedAt','2PemERi','appCode','bool','2402675ueCyEO','read','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','\x20cached\x20app(s)\x20for\x20env=\x22','list','config','6Fpfcsx','name','length','Read\x20app\x20list\x20from\x20local\x20cache\x20only','../../commands/app/remote-source.js','../../context.js','app','Refreshed\x20app\x20cache\x20with\x20','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','cachePath','string','filter','4AMGuXp','map','pull','accessKey','import','appName','409579fkNClP','Include\x20unpublished\x20apps\x20for\x20diagnostics','No\x20cached\x20apps\x20found.','push','env','production','remote','str','entries','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','1216782bxIiuv','no-cache','1068735qcspUF','local','items','11868BlDpka','envName','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','write','Loaded\x20','7634yqBtAt','boolean'];a3_0x24f5=function(){return _0x1eb0a3;};return a3_0x24f5();}export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4a0fc7,_0xa2a403){const _0x1e19d5=a4_0x20e9,_0x4d061f=_0x4a0fc7();while(!![]){try{const _0x314e1b=-parseInt(_0x1e19d5(0x179))/0x1*(parseInt(_0x1e19d5(0x17f))/0x2)+parseInt(_0x1e19d5(0x187))/0x3*(parseInt(_0x1e19d5(0x183))/0x4)+parseInt(_0x1e19d5(0x178))/0x5*(parseInt(_0x1e19d5(0x174))/0x6)+parseInt(_0x1e19d5(0x17d))/0x7*(parseInt(_0x1e19d5(0x182))/0x8)+-parseInt(_0x1e19d5(0x184))/0x9*(-parseInt(_0x1e19d5(0x17c))/0xa)+parseInt(_0x1e19d5(0x180))/0xb*(-parseInt(_0x1e19d5(0x185))/0xc)+parseInt(_0x1e19d5(0x17a))/0xd;if(_0x314e1b===_0xa2a403)break;else _0x4d061f['push'](_0x4d061f['shift']());}catch(_0x1d1033){_0x4d061f['push'](_0x4d061f['shift']());}}}(a4_0x47a1,0x81443));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(_0x1eb38a){const _0x16b1ce=a4_0x20e9;if(typeof _0x1eb38a!==_0x16b1ce(0x186))return null;const _0x5c6c41=_0x1eb38a[_0x16b1ce(0x175)]();return _0x5c6c41?_0x5c6c41['toUpperCase']():null;}export function isRuntimeAccessibleApp(_0x3e19c3){const _0x5227b1=a4_0x20e9;return normalizeAppPublishStatus(_0x3e19c3[_0x5227b1(0x173)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x28a7da){const _0x58caa7=a4_0x20e9;return _0x28a7da[_0x58caa7(0x17b)](isRuntimeAccessibleApp);}export function findAppByName(_0x2e5f4d,_0x11a530){const _0x49535b=a4_0x20e9;return _0x2e5f4d['find'](_0x31d961=>_0x31d961[_0x49535b(0x176)]===_0x11a530);}function a4_0x20e9(_0x231719,_0x6561a1){_0x231719=_0x231719-0x172;const _0x47a1b8=a4_0x47a1();let _0x20e9c1=_0x47a1b8[_0x231719];return _0x20e9c1;}export function findAppByCode(_0xe65da3,_0x508b5f){const _0x1d55b8=a4_0x20e9,_0x3909b4=_0x508b5f[_0x1d55b8(0x175)]();if(!_0x3909b4)return undefined;return _0xe65da3[_0x1d55b8(0x17e)](_0x777f0c=>_0x777f0c[_0x1d55b8(0x172)]?.[_0x1d55b8(0x175)]()===_0x3909b4);}function a4_0x47a1(){const _0xd5d839=['1023491FAwZhf','find','16ISateG','11jjzxpb','UNKNOWN','8KWXRhO','7676QsvFnx','45aBkjEx','209544vZEpNB','string','1143zNVpmG','appCode','appPublishStatus','13158VXVXAn','trim','appName','.\x20Publish\x20the\x20app\x20before\x20using\x20','490iYBtII','121081VMlbLo','2106312ulcoLE','filter','522590ravPdM'];a4_0x47a1=function(){return _0xd5d839;};return a4_0x47a1();}export function runtimeInaccessibleAppError(_0x2f2751,_0x26fedf){const _0xd934b0=a4_0x20e9,_0x1486df=normalizeAppPublishStatus(_0x2f2751[_0xd934b0(0x173)])??_0xd934b0(0x181);return CliErrors['validation']('App\x20'+_0x26fedf+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','Current\x20status:\x20'+_0x1486df+_0xd934b0(0x177)+CLI_BIN_NAME+'\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1cd2e2,_0x5807a4){const _0x1495f4=a5_0x15e0,_0x1a1201=_0x1cd2e2();while(!![]){try{const _0x4807a5=-parseInt(_0x1495f4(0x99))/0x1*(parseInt(_0x1495f4(0x9d))/0x2)+-parseInt(_0x1495f4(0x97))/0x3*(parseInt(_0x1495f4(0x9e))/0x4)+-parseInt(_0x1495f4(0x9b))/0x5+-parseInt(_0x1495f4(0xa2))/0x6*(-parseInt(_0x1495f4(0x9c))/0x7)+-parseInt(_0x1495f4(0xa3))/0x8+-parseInt(_0x1495f4(0x95))/0x9+parseInt(_0x1495f4(0xa4))/0xa;if(_0x4807a5===_0x5807a4)break;else _0x1a1201['push'](_0x1a1201['shift']());}catch(_0x2da531){_0x1a1201['push'](_0x1a1201['shift']());}}}(a5_0x55c3,0x9df72));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 _0x18eeef=a5_0x15e0,_0x55ba8a=join(__dirname,_0x18eeef(0xa0)),_0x19c8c8=readFileSync(_0x55ba8a,_0x18eeef(0x98));return JSON['parse'](_0x19c8c8);}let _cached=null;function a5_0x15e0(_0x2000fa,_0x4afcdb){_0x2000fa=_0x2000fa-0x94;const _0x55c337=a5_0x55c3();let _0x15e0d1=_0x55c337[_0x2000fa];return _0x15e0d1;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}function a5_0x55c3(){const _0x4053c9=['tableData','4020XSwVRh','6676184zRMKiv','39659580AGQylW','errorMsg','4122891AHVkFL','data','36gVaNhl','utf-8','7286aUhtYt','success','4737300yxDFQM','11732TJtJln','274WnXkqo','401196yGUcrh','Mock\x20API\x20error:\x20','../../../mock/app-list.json'];a5_0x55c3=function(){return _0x4053c9;};return a5_0x55c3();}export function getMockRemoteAppItems(){const _0x21c33e=a5_0x15e0,_0x526414=getMockAppList();if(!_0x526414[_0x21c33e(0x9a)])throw new Error(_0x21c33e(0x9f)+_0x526414[_0x21c33e(0x94)]+'\x20('+_0x526414['errorCode']+')');return _0x526414[_0x21c33e(0x96)][_0x21c33e(0xa1)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x21369d,_0x5e09e0){const _0x46b603=a6_0x26ad,_0x5f5072=_0x21369d();while(!![]){try{const _0x448a5f=parseInt(_0x46b603(0x104))/0x1+parseInt(_0x46b603(0xfa))/0x2+parseInt(_0x46b603(0xf6))/0x3*(parseInt(_0x46b603(0x106))/0x4)+parseInt(_0x46b603(0x107))/0x5*(parseInt(_0x46b603(0xfe))/0x6)+-parseInt(_0x46b603(0x101))/0x7+-parseInt(_0x46b603(0xf9))/0x8*(parseInt(_0x46b603(0x102))/0x9)+-parseInt(_0x46b603(0xf7))/0xa;if(_0x448a5f===_0x5e09e0)break;else _0x5f5072['push'](_0x5f5072['shift']());}catch(_0x4d15b2){_0x5f5072['push'](_0x5f5072['shift']());}}}(a6_0x1114,0xe6172));import{getMyApps}from'../../core/api-client.js';function a6_0x1114(){const _0x360598=['4VEkxEU','30NeqlLZ','remote','192570AsINRy','20559320BxvDtk','toLowerCase','5219568VSCPNk','3044694NHACOM','APP_LIST_SOURCE','mock','items','914028HmtXlb','cache','toISOString','20209HCGzTt','9NJspfC','fetchedAt','1153150tUjidn','trim'];a6_0x1114=function(){return _0x360598;};return a6_0x1114();}import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';function a6_0x26ad(_0x99e18a,_0x73d28a){_0x99e18a=_0x99e18a-0xf5;const _0x111435=a6_0x1114();let _0x26ad64=_0x111435[_0x99e18a];return _0x26ad64;}export function shouldUseMockRemoteApps(){const _0x5bc777=a6_0x26ad,_0x42a889=(productEnv(_0x5bc777(0xfb))||'')[_0x5bc777(0x105)]()[_0x5bc777(0xf8)]();return _0x42a889===_0x5bc777(0xfc);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x4bd0de){const _0x1c3ac=a6_0x26ad,{env:_0x1cc74b,accessKey:_0x5d3b08,localOnly:localOnly=![],noCache:noCache=![]}=_0x4bd0de,_0x4060da=readCachedAppList(_0x1cc74b,_0x5d3b08),_0x44f58e=_0x5d3b08?.[_0x1c3ac(0x105)]()?getAppCacheFilePath(_0x1cc74b,_0x5d3b08):null;if(localOnly)return{'items':_0x4060da?.[_0x1c3ac(0xfd)]??[],'source':'cache','fetchedAt':_0x4060da?.[_0x1c3ac(0x103)]??null,'cachePath':_0x44f58e};try{const _0x1fc13d=await getRemoteAppItems(),_0x140fb5=shouldUseMockRemoteApps()?_0x1c3ac(0xfc):_0x1c3ac(0xf5),_0x290a58=new Date()[_0x1c3ac(0x100)](),_0x5a02d9=_0x5d3b08?.[_0x1c3ac(0x105)]()?writeCachedAppList(_0x1cc74b,_0x5d3b08,{'env':_0x1cc74b,'fetchedAt':_0x290a58,'source':_0x140fb5,'items':_0x1fc13d}):null;return{'items':_0x1fc13d,'source':_0x140fb5,'fetchedAt':_0x290a58,'cachePath':_0x5a02d9};}catch(_0x33d0d0){if(!noCache&&_0x4060da)return{'items':_0x4060da[_0x1c3ac(0xfd)],'source':_0x1c3ac(0xff),'fetchedAt':_0x4060da[_0x1c3ac(0x103)],'cachePath':_0x44f58e};throw _0x33d0d0;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a7_0x4094(){const _0x1e060f=['902770aAMCVW','38609098SKmvcu','name','defaultApp','isCurrent','15bWxhrD','81RiSqCG','local','55874SZsbxz','currentApp','35EaaDEy','1029052TIbyWo','1661960bBDYmc','381239FtxxGV','named','60qlyiOL','32435xLHoTA','find','appCode','appcode','trim'];a7_0x4094=function(){return _0x1e060f;};return a7_0x4094();}function a7_0x2e83(_0x1fcc09,_0x2b17d0){_0x1fcc09=_0x1fcc09-0x98;const _0x409482=a7_0x4094();let _0x2e83cc=_0x409482[_0x1fcc09];return _0x2e83cc;}(function(_0x2787e9,_0x14d69f){const _0x211e14=a7_0x2e83,_0x18f667=_0x2787e9();while(!![]){try{const _0x2621d8=parseInt(_0x211e14(0x9a))/0x1+-parseInt(_0x211e14(0xaa))/0x2+parseInt(_0x211e14(0xa7))/0x3*(-parseInt(_0x211e14(0x98))/0x4)+-parseInt(_0x211e14(0x9d))/0x5*(-parseInt(_0x211e14(0x9c))/0x6)+-parseInt(_0x211e14(0xac))/0x7*(parseInt(_0x211e14(0x99))/0x8)+-parseInt(_0x211e14(0xa8))/0x9*(parseInt(_0x211e14(0xa2))/0xa)+parseInt(_0x211e14(0xa3))/0xb;if(_0x2621d8===_0x14d69f)break;else _0x18f667['push'](_0x18f667['shift']());}catch(_0x50476f){_0x18f667['push'](_0x18f667['shift']());}}}(a7_0x4094,0xc101d));export function enrichAppListItemsWithMergedSelection(_0xfb5bf0,_0x2ae5a9){const _0x49f383=a7_0x2e83;if(!_0x2ae5a9)return;const _0x162475=!!(_0x2ae5a9['currentApp']??_0x2ae5a9[_0x49f383(0xa5)]);for(const _0xb7162e of _0xfb5bf0){_0xb7162e[_0x49f383(0xa6)]=![];}const _0x29601f=_0x2ae5a9['appCode']!=null?String(_0x2ae5a9[_0x49f383(0x9f)])[_0x49f383(0xa1)]():'';if(_0x162475){const _0x686faf=_0x2ae5a9[_0x49f383(0xab)]??_0x2ae5a9[_0x49f383(0xa5)];if(_0x686faf){const _0x21b347=_0xfb5bf0[_0x49f383(0x9e)](_0x85a353=>_0x85a353[_0x49f383(0x9b)]===!![]&&_0x85a353[_0x49f383(0xa4)]===_0x686faf&&_0x85a353['definedIn']===_0x49f383(0xa9)),_0x4fbbb1=_0x21b347??_0xfb5bf0['find'](_0x38a35d=>_0x38a35d['named']===!![]&&_0x38a35d['name']===_0x686faf);if(_0x4fbbb1){const _0x3a6265=String(_0x4fbbb1[_0x49f383(0xa0)]??'')[_0x49f383(0xa1)]();if(!_0x29601f||_0x3a6265===_0x29601f){_0x4fbbb1[_0x49f383(0xa6)]=!![];return;}}}if(_0x29601f){const _0x2e2071=_0xfb5bf0[_0x49f383(0x9e)](_0x368db1=>String(_0x368db1[_0x49f383(0xa0)]??'')[_0x49f383(0xa1)]()===_0x29601f);_0x2e2071&&(_0x2e2071['isCurrent']=!![]);}return;}if(!_0x29601f)return;for(const _0x25db9c of _0xfb5bf0){String(_0x25db9c[_0x49f383(0xa0)]??'')['trim']()===_0x29601f&&(_0x25db9c[_0x49f383(0xa6)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x59ef68=a8_0x4dd4;function a8_0x2ba6(){const _0xfbfc5=['args','trim','get','Unable\x20to\x20get\x20app-config\x20value:\x20key=','2347345sQQeDn','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','5752tqJKYt','5089iLAugI','5853552pcvTNd','42627kFBOTH','Usage:\x20','apiError','5LhsVgC','136DDMxSO','28LEyaPn','3457362wzSDqg','802HlINiY','read','key','144fGnmfA','11bvTjMA','113770fGdpcV','validation','398DPivPL',',\x20appCode=','app-config','appCode','App\x20config\x20key'];a8_0x2ba6=function(){return _0xfbfc5;};return a8_0x2ba6();}function a8_0x4dd4(_0xa1a15f,_0x5dd287){_0xa1a15f=_0xa1a15f-0x18c;const _0x2ba68b=a8_0x2ba6();let _0x4dd43a=_0x2ba68b[_0xa1a15f];return _0x4dd43a;}(function(_0x234392,_0x4c7a08){const _0x5048e3=a8_0x4dd4,_0x54c593=_0x234392();while(!![]){try{const _0x1a0669=-parseInt(_0x5048e3(0x190))/0x1*(-parseInt(_0x5048e3(0x197))/0x2)+-parseInt(_0x5048e3(0x1a5))/0x3*(-parseInt(_0x5048e3(0x18d))/0x4)+-parseInt(_0x5048e3(0x18c))/0x5*(-parseInt(_0x5048e3(0x18f))/0x6)+parseInt(_0x5048e3(0x1a3))/0x7*(-parseInt(_0x5048e3(0x1a2))/0x8)+-parseInt(_0x5048e3(0x193))/0x9*(parseInt(_0x5048e3(0x195))/0xa)+parseInt(_0x5048e3(0x194))/0xb*(-parseInt(_0x5048e3(0x1a4))/0xc)+-parseInt(_0x5048e3(0x1a0))/0xd*(-parseInt(_0x5048e3(0x18e))/0xe);if(_0x1a0669===_0x4c7a08)break;else _0x54c593['push'](_0x54c593['shift']());}catch(_0x154d94){_0x54c593['push'](_0x54c593['shift']());}}}(a8_0x2ba6,0x5e9c0));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x59ef68(0x199),'command':a8_0x59ef68(0x19e),'description':a8_0x59ef68(0x1a1),'risk':a8_0x59ef68(0x191),'args':[{'name':a8_0x59ef68(0x192),'description':a8_0x59ef68(0x19b),'required':!![]}],'flags':[],async 'execute'(_0x51f691){const _0x4fd362=a8_0x59ef68,_0x3419d4=_0x51f691[_0x4fd362(0x19c)][0x0]?.[_0x4fd362(0x19d)]();if(!_0x3419d4)throw CliErrors[_0x4fd362(0x196)]('Missing\x20app-config\x20key.',_0x4fd362(0x1a6)+CLI_BIN_NAME+'\x20app-config\x20get\x20<key>');try{const _0x4ce379=await getRuntimeAppConfigByKey(_0x51f691[_0x4fd362(0x19a)],_0x3419d4);return{'ok':!![],'data':_0x4ce379};}catch{throw CliErrors[_0x4fd362(0x1a7)](_0x4fd362(0x19f)+_0x3419d4+_0x4fd362(0x198)+_0x51f691['appCode'],'Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.');}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x222564,_0x4e7b34){const _0x3ae031=a9_0x259a,_0x22a4bf=_0x222564();while(!![]){try{const _0x41d119=-parseInt(_0x3ae031(0x172))/0x1+parseInt(_0x3ae031(0x17c))/0x2+parseInt(_0x3ae031(0x179))/0x3+-parseInt(_0x3ae031(0x173))/0x4*(parseInt(_0x3ae031(0x175))/0x5)+parseInt(_0x3ae031(0x174))/0x6*(-parseInt(_0x3ae031(0x17b))/0x7)+-parseInt(_0x3ae031(0x177))/0x8*(-parseInt(_0x3ae031(0x17a))/0x9)+-parseInt(_0x3ae031(0x176))/0xa*(parseInt(_0x3ae031(0x178))/0xb);if(_0x41d119===_0x4e7b34)break;else _0x22a4bf['push'](_0x22a4bf['shift']());}catch(_0x5f5144){_0x22a4bf['push'](_0x22a4bf['shift']());}}}(a9_0xd41c,0x57e17));function a9_0x259a(_0x8184c4,_0x52b3fc){_0x8184c4=_0x8184c4-0x172;const _0xd41c8f=a9_0xd41c();let _0x259a80=_0xd41c8f[_0x8184c4];return _0x259a80;}import{appConfigGet}from'../../commands/app-config/get.js';function a9_0xd41c(){const _0x2248dd=['351404qNDutm','169160eEbvKA','8eKSqYc','18gGoGeT','487915ERJihr','172510AfssKt','8tJsVHI','44pTlMhC','1020111tLfnnE','3110823XdmdiE','158893oTRyEW'];a9_0xd41c=function(){return _0x2248dd;};return a9_0xd41c();}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x113154=a10_0x39ec;(function(_0x3f6b9c,_0x2b4e61){const _0x544de7=a10_0x39ec,_0x17dd73=_0x3f6b9c();while(!![]){try{const _0x19ff20=parseInt(_0x544de7(0x85))/0x1*(parseInt(_0x544de7(0x8b))/0x2)+parseInt(_0x544de7(0xa2))/0x3*(parseInt(_0x544de7(0xbf))/0x4)+-parseInt(_0x544de7(0xc9))/0x5+-parseInt(_0x544de7(0xae))/0x6*(-parseInt(_0x544de7(0x8c))/0x7)+-parseInt(_0x544de7(0xc4))/0x8*(parseInt(_0x544de7(0x89))/0x9)+parseInt(_0x544de7(0x87))/0xa*(parseInt(_0x544de7(0xa7))/0xb)+-parseInt(_0x544de7(0xb7))/0xc;if(_0x19ff20===_0x2b4e61)break;else _0x17dd73['push'](_0x17dd73['shift']());}catch(_0x39e9d2){_0x17dd73['push'](_0x17dd73['shift']());}}}(a10_0x3e39,0xdfa73));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a10_0x39ec(_0x2c8564,_0x223b97){_0x2c8564=_0x2c8564-0x85;const _0x3e395b=a10_0x3e39();let _0x39ec82=_0x3e395b[_0x2c8564];return _0x39ec82;}const ARTIFACT_TYPE_REACT_MODULE='react_module',ARTIFACT_SOURCE_AGENT='AGENT',ALLOWED_REACT_MODULE_IMPORTS=[a10_0x113154(0x90),'react-dom','lodash',a10_0x113154(0xac),'antd',a10_0x113154(0x8a)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x113154(0xa5)](',\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_0x113154(0xc6),'type':a10_0x113154(0xa6),'required':!![],'description':a10_0x113154(0xca)},ARTIFACT_NAME_FLAG={'name':a10_0x113154(0xaa),'type':'string','description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x113154(0xc0),'type':a10_0x113154(0xa6),'description':a10_0x113154(0x9e)};function isPlainObject(_0xd88b45){const _0x16993f=a10_0x113154;return typeof _0xd88b45==='object'&&_0xd88b45!==null&&!Array[_0x16993f(0x8e)](_0xd88b45);}function readSourceFile(_0x444bc3){const _0x2e040d=a10_0x113154;if(!_0x444bc3)throw CliErrors['validation'](_0x2e040d(0xb2));if(!existsSync(_0x444bc3))throw CliErrors['validation'](_0x2e040d(0x8d)+_0x444bc3);if(!statSync(_0x444bc3)[_0x2e040d(0xb3)]())throw CliErrors[_0x2e040d(0xa3)](_0x2e040d(0xb6)+_0x444bc3);const _0x3706e5=readFileSync(_0x444bc3,_0x2e040d(0xcb));return validateReactModuleSource(_0x3706e5),_0x3706e5;}function parseMetadata(_0x503b53){const _0x4bf06f=a10_0x113154;if(!_0x503b53)return undefined;let _0x535667;try{_0x535667=JSON[_0x4bf06f(0xa0)](_0x503b53);}catch{throw CliErrors[_0x4bf06f(0xa3)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x503b53);}if(!isPlainObject(_0x535667))throw CliErrors[_0x4bf06f(0xa3)]('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x311978={..._0x535667};return delete _0x311978['compiledContent'],_0x311978;}function getPackageName(_0x3b1632){const _0x1e808d=a10_0x113154;if(_0x3b1632['startsWith']('@')){const [_0x4231eb,_0x432e71]=_0x3b1632[_0x1e808d(0xbe)]('/');return _0x4231eb&&_0x432e71?_0x4231eb+'/'+_0x432e71:_0x3b1632;}return _0x3b1632['split']('/')[0x0]||_0x3b1632;}function validateAllowedImports(_0x5d2372){const _0x3886ac=a10_0x113154,_0x4ee424=new Set();for(const _0x317765 of IMPORT_SOURCE_PATTERNS){_0x317765['lastIndex']=0x0;let _0x44fbec;while((_0x44fbec=_0x317765['exec'](_0x5d2372))!==null){const _0x5d1ecc=_0x44fbec[0x1]?.[_0x3886ac(0xa1)]();_0x5d1ecc&&_0x4ee424[_0x3886ac(0x9a)](_0x5d1ecc);}}const _0x22f70d=[..._0x4ee424][_0x3886ac(0xa4)](getPackageName)[_0x3886ac(0x97)](_0x19d77b=>!ALLOWED_REACT_MODULE_IMPORTS[_0x3886ac(0xc5)](_0x19d77b));if(_0x22f70d[_0x3886ac(0xce)]>0x0)throw CliErrors[_0x3886ac(0xa3)](_0x3886ac(0xc3)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x3886ac(0xaf)+[...new Set(_0x22f70d)][_0x3886ac(0xa5)](',\x20'));}export function validateReactModuleSource(_0xc863ca){const _0x538482=a10_0x113154;if(!_0xc863ca[_0x538482(0xa1)]())throw CliErrors[_0x538482(0xa3)](_0x538482(0xb5));if(PAGE_LEVEL_PATTERNS[_0x538482(0x9c)](_0x255fc0=>_0x255fc0[_0x538482(0xab)](_0xc863ca)))throw CliErrors[_0x538482(0xa3)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0xc863ca);}function buildArtifactInput(_0x7da449){const _0x45f9b1=a10_0x113154,_0x11eeaa=readSourceFile(_0x7da449['str'](_0x45f9b1(0xc6))),_0xd0b0f0=_0x7da449['str'](_0x45f9b1(0xaa))[_0x45f9b1(0xa1)](),_0x546a3a=parseMetadata(_0x7da449[_0x45f9b1(0xcf)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0xd0b0f0?{'name':_0xd0b0f0}:{},'content':_0x11eeaa,..._0x546a3a?{'metadata':_0x546a3a}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x401ed2){const _0x3f19de=a10_0x113154;return{'id':_0x401ed2['id'],'name':_0x401ed2[_0x3f19de(0xaa)],'artifactType':_0x401ed2[_0x3f19de(0x94)],'source':_0x401ed2[_0x3f19de(0x8f)],'favorite':_0x401ed2[_0x3f19de(0xb0)],'deleted':_0x401ed2[_0x3f19de(0xb4)],'createTime':_0x401ed2[_0x3f19de(0xb8)],'updateTime':_0x401ed2['updateTime']};}function detailArtifact(_0x241ede){const _0x3f210d=a10_0x113154;return{'id':_0x241ede['id'],'appCode':_0x241ede[_0x3f210d(0xcc)],'name':_0x241ede[_0x3f210d(0xaa)],'artifactType':_0x241ede[_0x3f210d(0x94)],'source':_0x241ede['source'],'favorite':_0x241ede[_0x3f210d(0xb0)],'deleted':_0x241ede[_0x3f210d(0xb4)],'content':_0x241ede[_0x3f210d(0xd4)]??'','compiledContent':_0x241ede['compiledContent'],'metadata':_0x241ede['metadata']??{},'createTime':_0x241ede['createTime'],'updateTime':_0x241ede[_0x3f210d(0xc1)]};}function readFavoriteFlag(_0x2ba20a){const _0x4eeb67=a10_0x113154,_0x59826d=_0x2ba20a[_0x4eeb67(0xc7)](_0x4eeb67(0xb0));return _0x59826d===undefined||_0x59826d===null||_0x59826d===''?undefined:_0x2ba20a[_0x4eeb67(0x95)](_0x4eeb67(0xb0));}const artifactList={'service':'artifact','command':a10_0x113154(0x9d),'description':a10_0x113154(0xad),'risk':'read','flags':[{'name':'source','type':'string','description':a10_0x113154(0xa8)},{'name':'favorite','type':a10_0x113154(0xd2),'description':a10_0x113154(0xa9)},VERBOSE_FLAG],async 'execute'(_0x575fda){const _0x2a7186=a10_0x113154,_0x2b6b62=await listRuntimeArtifacts(_0x575fda['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x575fda[_0x2a7186(0xcf)](_0x2a7186(0x8f))?{'source':_0x575fda[_0x2a7186(0xcf)]('source')}:{},...readFavoriteFlag(_0x575fda)!==undefined?{'favorite':readFavoriteFlag(_0x575fda)}:{}});return{'ok':!![],'data':{'total':_0x2b6b62[_0x2a7186(0xce)],'items':_0x575fda[_0x2a7186(0x95)](_0x2a7186(0xb9))?_0x2b6b62:_0x2b6b62[_0x2a7186(0xa4)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x113154(0x91),'command':a10_0x113154(0xba),'description':a10_0x113154(0x9b),'risk':'read','flags':[{...ID_FLAG,'description':a10_0x113154(0xb1)}],async 'execute'(_0x23d561){const _0x2d967f=a10_0x113154,_0x532b17=await getRuntimeArtifact(_0x23d561[_0x2d967f(0xbc)]('id'),_0x23d561[_0x2d967f(0xcc)]);return{'ok':!![],'data':detailArtifact(_0x532b17)};}},artifactCreate={'service':'artifact','command':'create','description':a10_0x113154(0x93),'risk':a10_0x113154(0x99),'confirmationDescription':a10_0x113154(0xd1),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2c649e){const _0x312f49=a10_0x113154,_0x59d3db=buildArtifactInput(_0x2c649e),_0x31a3e1=await createRuntimeArtifact(_0x2c649e[_0x312f49(0xcc)],_0x59d3db);return{'ok':!![],'data':detailArtifact(_0x31a3e1),'message':_0x312f49(0x9f)+_0x31a3e1['id']+(_0x31a3e1['name']?'\x20('+_0x31a3e1[_0x312f49(0xaa)]+')':'')};},async 'dryRun'(_0xeebda8){const _0x4d17eb=a10_0x113154,_0x167d95=buildArtifactInput(_0xeebda8);return dryRun(_0x4d17eb(0x86),'/client/artifact/create')[_0x4d17eb(0xd0)]({'appCode':_0xeebda8['appCode'],..._0x167d95})[_0x4d17eb(0x98)](_0x4d17eb(0xd3))['build']();},'writeEventSubject'(_0x2867b7){const _0x14272f=a10_0x113154,_0x9f947b=_0x2867b7[_0x14272f(0xcd)]?.['id'];if(typeof _0x9f947b!=='string'&&typeof _0x9f947b!=='number')return undefined;return{'kind':'artifact','id':String(_0x9f947b),'action':_0x14272f(0xc8)};}},artifactUpdate={'service':a10_0x113154(0x91),'command':a10_0x113154(0xbd),'description':'根据本地源码文件更新\x20react_module\x20类型的\x20Artifact','risk':a10_0x113154(0x99),'confirmationDescription':'保存新的\x20Artifact\x20源码并重新编译;应用中的内嵌模块展示和交互可能立即发生变化。','flags':[{...ID_FLAG,'description':a10_0x113154(0xb1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xc4355a){const _0x447eed=a10_0x113154,_0x41908a=_0xc4355a[_0x447eed(0xbc)]('id'),_0x39ce6f=buildArtifactInput(_0xc4355a),_0x2beb21=await updateRuntimeArtifact(_0x41908a,_0xc4355a[_0x447eed(0xcc)],_0x39ce6f);return{'ok':!![],'data':detailArtifact(_0x2beb21),'message':_0x447eed(0x88)+_0x2beb21['id']+(_0x2beb21[_0x447eed(0xaa)]?'\x20('+_0x2beb21[_0x447eed(0xaa)]+')':'')};},async 'dryRun'(_0x249941){const _0x3d2bed=a10_0x113154,_0x5eea8f=_0x249941['num']('id'),_0x55f4a4=buildArtifactInput(_0x249941);return dryRun('POST',_0x3d2bed(0x96)+_0x5eea8f+_0x3d2bed(0x92))[_0x3d2bed(0xd0)]({'appCode':_0x249941['appCode'],..._0x55f4a4})[_0x3d2bed(0x98)](_0x3d2bed(0xbb)+_0x5eea8f)['build']();},'writeEventSubject'(_0x2da154){const _0x58d18c=a10_0x113154,_0x3b714e=_0x2da154[_0x58d18c(0xcd)]?.['id'];if(typeof _0x3b714e!==_0x58d18c(0xa6)&&typeof _0x3b714e!==_0x58d18c(0xc2))return undefined;return{'kind':_0x58d18c(0x91),'id':String(_0x3b714e),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];function a10_0x3e39(){const _0x3367e3=['name','test','dayjs','List\x20current-app\x20react_module\x20Artifacts','785706YqNFQU','.\x20Unsupported:\x20','favorite','Artifact\x20ID','File\x20path\x20is\x20required.','isFile','deleted','Artifact\x20source\x20file\x20is\x20blank.','File\x20is\x20not\x20a\x20regular\x20file:\x20','8444916yzsQgM','createTime','verbose','detail','Preview:\x20update\x20react_module\x20Artifact\x20','num','update','split','2148lrVkbI','metadata','updateTime','number','react_module\x20imports\x20are\x20limited\x20to:\x20','8bVSWer','includes','file','flag','create','8248285DMqfuG','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','utf8','appCode','data','length','str','body','保存新的\x20Artifact\x20源码并进行编译;成功后将在当前应用中新增可展示的内嵌模块。','boolean','Preview:\x20create\x20react_module\x20Artifact','content','566961LRlbYL','POST','42940VASzOq','Updated\x20Artifact\x20','4133439EUPRLk','@ant-design/icons','4AxzVUW','7ISmBVH','File\x20not\x20found:\x20','isArray','source','react','artifact','/update','根据本地源码文件创建\x20react_module\x20类型的\x20Artifact','artifactType','bool','/client/artifact/','filter','description','write','add','Show\x20one\x20Artifact\x20by\x20id','some','list','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','Created\x20Artifact\x20','parse','trim','8823CzMdBV','validation','map','join','string','2266yGWrgR','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','Optional\x20favorite-state\x20filter'];a10_0x3e39=function(){return _0x3367e3;};return a10_0x3e39();}
|
|
1
|
+
const a10_0x3bb534=a10_0x82c7;(function(_0x257a6a,_0x4de7db){const _0xc8d41c=a10_0x82c7,_0x423f2d=_0x257a6a();while(!![]){try{const _0x5d223b=-parseInt(_0xc8d41c(0x15a))/0x1*(-parseInt(_0xc8d41c(0x15c))/0x2)+-parseInt(_0xc8d41c(0x16e))/0x3*(parseInt(_0xc8d41c(0x19f))/0x4)+parseInt(_0xc8d41c(0x198))/0x5+parseInt(_0xc8d41c(0x15d))/0x6*(-parseInt(_0xc8d41c(0x163))/0x7)+-parseInt(_0xc8d41c(0x168))/0x8*(parseInt(_0xc8d41c(0x172))/0x9)+parseInt(_0xc8d41c(0x189))/0xa+parseInt(_0xc8d41c(0x16f))/0xb*(parseInt(_0xc8d41c(0x18d))/0xc);if(_0x5d223b===_0x4de7db)break;else _0x423f2d['push'](_0x423f2d['shift']());}catch(_0x1f5b2f){_0x423f2d['push'](_0x423f2d['shift']());}}}(a10_0x4034,0x997d9));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';function a10_0x82c7(_0x554816,_0x578e84){_0x554816=_0x554816-0x151;const _0x4034f8=a10_0x4034();let _0x82c71c=_0x4034f8[_0x554816];return _0x82c71c;}const ARTIFACT_TYPE_REACT_MODULE=a10_0x3bb534(0x1a6),ARTIFACT_SOURCE_AGENT=a10_0x3bb534(0x184),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3bb534(0x19a),a10_0x3bb534(0x191),a10_0x3bb534(0x17f),a10_0x3bb534(0x183),a10_0x3bb534(0x152),a10_0x3bb534(0x17e)];function a10_0x4034(){const _0xd500c6=['--metadata\x20must\x20be\x20a\x20JSON\x20object.','react_module','utf8','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','Updated\x20Artifact\x20','metadata','File\x20is\x20not\x20a\x20regular\x20file:\x20','startsWith','antd','File\x20path\x20is\x20required.','Artifact\x20ID','File\x20not\x20found:\x20','Show\x20one\x20Artifact\x20by\x20id','artifactType','trim','deleted','104JHYeUt','/client/artifact/create','13044CqDfVk','1518402MKnWyj','file','map','description','Artifact\x20display\x20name','POST','7pgBnwU','isFile','object','verbose','source','40536CyvduS','Created\x20Artifact\x20','filter','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','join','name','3AEXMKT','33kdGIav','split','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','1197FgpWBk','react_module\x20imports\x20are\x20limited\x20to:\x20','exec','add','string','number','test','create','updateTime','favorite','isArray','List\x20current-app\x20react_module\x20Artifacts','@ant-design/icons','lodash','read','Artifact\x20source\x20file\x20is\x20blank.','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','dayjs','AGENT','write','some','parse','artifact','3036340JnjINa','body','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','lastIndex','800412lEWpvv','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','num','.\x20Unsupported:\x20','react-dom','appCode','content','createTime','includes','compiledContent','Preview:\x20create\x20react_module\x20Artifact','4374155NcKiJW','str','react','length','list','data','validation','2004724oqtkLb','boolean','Optional\x20favorite-state\x20filter','update','build','bool'];a10_0x4034=function(){return _0xd500c6;};return a10_0x4034();}export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3bb534(0x16c)](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x3bb534(0x15e),'type':a10_0x3bb534(0x176),'required':!![],'description':a10_0x3bb534(0x182)},ARTIFACT_NAME_FLAG={'name':a10_0x3bb534(0x16d),'type':'string','description':a10_0x3bb534(0x161)},METADATA_FLAG={'name':a10_0x3bb534(0x1aa),'type':a10_0x3bb534(0x176),'description':a10_0x3bb534(0x18e)};function isPlainObject(_0x33b057){const _0x4fddaf=a10_0x3bb534;return typeof _0x33b057===_0x4fddaf(0x165)&&_0x33b057!==null&&!Array[_0x4fddaf(0x17c)](_0x33b057);}function readSourceFile(_0x597384){const _0x4589e3=a10_0x3bb534;if(!_0x597384)throw CliErrors['validation'](_0x4589e3(0x153));if(!existsSync(_0x597384))throw CliErrors[_0x4589e3(0x19e)](_0x4589e3(0x155)+_0x597384);if(!statSync(_0x597384)[_0x4589e3(0x164)]())throw CliErrors[_0x4589e3(0x19e)](_0x4589e3(0x1ab)+_0x597384);const _0x23df46=readFileSync(_0x597384,_0x4589e3(0x1a7));return validateReactModuleSource(_0x23df46),_0x23df46;}function parseMetadata(_0x54e95e){const _0x102f4e=a10_0x3bb534;if(!_0x54e95e)return undefined;let _0x3bafc6;try{_0x3bafc6=JSON[_0x102f4e(0x187)](_0x54e95e);}catch{throw CliErrors[_0x102f4e(0x19e)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x54e95e);}if(!isPlainObject(_0x3bafc6))throw CliErrors[_0x102f4e(0x19e)](_0x102f4e(0x1a5));const _0x25baac={..._0x3bafc6};return delete _0x25baac[_0x102f4e(0x196)],_0x25baac;}function getPackageName(_0x4c0022){const _0x3e6900=a10_0x3bb534;if(_0x4c0022[_0x3e6900(0x151)]('@')){const [_0x5c4698,_0x27b4e0]=_0x4c0022[_0x3e6900(0x170)]('/');return _0x5c4698&&_0x27b4e0?_0x5c4698+'/'+_0x27b4e0:_0x4c0022;}return _0x4c0022[_0x3e6900(0x170)]('/')[0x0]||_0x4c0022;}function validateAllowedImports(_0x75af4a){const _0x2eee0e=a10_0x3bb534,_0xc4c8ed=new Set();for(const _0x542731 of IMPORT_SOURCE_PATTERNS){_0x542731[_0x2eee0e(0x18c)]=0x0;let _0x5e3265;while((_0x5e3265=_0x542731[_0x2eee0e(0x174)](_0x75af4a))!==null){const _0x51b722=_0x5e3265[0x1]?.[_0x2eee0e(0x158)]();_0x51b722&&_0xc4c8ed[_0x2eee0e(0x175)](_0x51b722);}}const _0x25daf1=[..._0xc4c8ed][_0x2eee0e(0x15f)](getPackageName)[_0x2eee0e(0x16a)](_0x446a6f=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2eee0e(0x195)](_0x446a6f));if(_0x25daf1[_0x2eee0e(0x19b)]>0x0)throw CliErrors[_0x2eee0e(0x19e)](_0x2eee0e(0x173)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2eee0e(0x190)+[...new Set(_0x25daf1)][_0x2eee0e(0x16c)](',\x20'));}export function validateReactModuleSource(_0x472a67){const _0x35ec72=a10_0x3bb534;if(!_0x472a67[_0x35ec72(0x158)]())throw CliErrors[_0x35ec72(0x19e)](_0x35ec72(0x181));if(PAGE_LEVEL_PATTERNS[_0x35ec72(0x186)](_0x237cb5=>_0x237cb5[_0x35ec72(0x178)](_0x472a67)))throw CliErrors[_0x35ec72(0x19e)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x472a67);}function buildArtifactInput(_0xd9e4e){const _0x16b3f0=a10_0x3bb534,_0x17b45d=readSourceFile(_0xd9e4e[_0x16b3f0(0x199)](_0x16b3f0(0x15e))),_0x1bcdb6=_0xd9e4e[_0x16b3f0(0x199)](_0x16b3f0(0x16d))['trim'](),_0x16d533=parseMetadata(_0xd9e4e[_0x16b3f0(0x199)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1bcdb6?{'name':_0x1bcdb6}:{},'content':_0x17b45d,..._0x16d533?{'metadata':_0x16d533}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x110606){const _0x387659=a10_0x3bb534;return{'id':_0x110606['id'],'name':_0x110606[_0x387659(0x16d)],'artifactType':_0x110606['artifactType'],'source':_0x110606[_0x387659(0x167)],'favorite':_0x110606[_0x387659(0x17b)],'deleted':_0x110606[_0x387659(0x159)],'createTime':_0x110606['createTime'],'updateTime':_0x110606[_0x387659(0x17a)]};}function detailArtifact(_0x37a7ea){const _0x2dd39b=a10_0x3bb534;return{'id':_0x37a7ea['id'],'appCode':_0x37a7ea[_0x2dd39b(0x192)],'name':_0x37a7ea[_0x2dd39b(0x16d)],'artifactType':_0x37a7ea[_0x2dd39b(0x157)],'source':_0x37a7ea['source'],'favorite':_0x37a7ea['favorite'],'deleted':_0x37a7ea[_0x2dd39b(0x159)],'content':_0x37a7ea[_0x2dd39b(0x193)]??'','compiledContent':_0x37a7ea[_0x2dd39b(0x196)],'metadata':_0x37a7ea[_0x2dd39b(0x1aa)]??{},'createTime':_0x37a7ea[_0x2dd39b(0x194)],'updateTime':_0x37a7ea['updateTime']};}function readFavoriteFlag(_0x3a2122){const _0x837f74=a10_0x3bb534,_0x3153c4=_0x3a2122['flag']('favorite');return _0x3153c4===undefined||_0x3153c4===null||_0x3153c4===''?undefined:_0x3a2122[_0x837f74(0x1a4)](_0x837f74(0x17b));}const artifactList={'service':a10_0x3bb534(0x188),'command':a10_0x3bb534(0x19c),'description':a10_0x3bb534(0x17d),'risk':a10_0x3bb534(0x180),'flags':[{'name':a10_0x3bb534(0x167),'type':a10_0x3bb534(0x176),'description':a10_0x3bb534(0x1a8)},{'name':a10_0x3bb534(0x17b),'type':a10_0x3bb534(0x1a0),'description':a10_0x3bb534(0x1a1)},VERBOSE_FLAG],async 'execute'(_0x2ccd96){const _0x6e8ed1=a10_0x3bb534,_0x12810c=await listRuntimeArtifacts(_0x2ccd96[_0x6e8ed1(0x192)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2ccd96['str'](_0x6e8ed1(0x167))?{'source':_0x2ccd96['str'](_0x6e8ed1(0x167))}:{},...readFavoriteFlag(_0x2ccd96)!==undefined?{'favorite':readFavoriteFlag(_0x2ccd96)}:{}});return{'ok':!![],'data':{'total':_0x12810c[_0x6e8ed1(0x19b)],'items':_0x2ccd96[_0x6e8ed1(0x1a4)](_0x6e8ed1(0x166))?_0x12810c:_0x12810c['map'](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':'detail','description':a10_0x3bb534(0x156),'risk':'read','flags':[{...ID_FLAG,'description':a10_0x3bb534(0x154)}],async 'execute'(_0xf79209){const _0x53c6c5=a10_0x3bb534,_0x2bb15e=await getRuntimeArtifact(_0xf79209[_0x53c6c5(0x18f)]('id'),_0xf79209[_0x53c6c5(0x192)]);return{'ok':!![],'data':detailArtifact(_0x2bb15e)};}},artifactCreate={'service':'artifact','command':'create','description':a10_0x3bb534(0x16b),'risk':a10_0x3bb534(0x185),'confirmationDescription':a10_0x3bb534(0x18b),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xe9fc13){const _0x1cb6e7=a10_0x3bb534,_0x28f0ec=buildArtifactInput(_0xe9fc13),_0x1e5155=await createRuntimeArtifact(_0xe9fc13[_0x1cb6e7(0x192)],_0x28f0ec);return{'ok':!![],'data':detailArtifact(_0x1e5155),'message':_0x1cb6e7(0x169)+_0x1e5155['id']+(_0x1e5155[_0x1cb6e7(0x16d)]?'\x20('+_0x1e5155[_0x1cb6e7(0x16d)]+')':'')};},async 'dryRun'(_0x36582a){const _0x1099d3=a10_0x3bb534,_0x41b5db=buildArtifactInput(_0x36582a);return dryRun(_0x1099d3(0x162),_0x1099d3(0x15b))['body']({'appCode':_0x36582a[_0x1099d3(0x192)],..._0x41b5db})[_0x1099d3(0x160)](_0x1099d3(0x197))['build']();},'writeEventSubject'(_0x4e5a82){const _0x39e5b8=a10_0x3bb534,_0x50bf10=_0x4e5a82[_0x39e5b8(0x19d)]?.['id'];if(typeof _0x50bf10!==_0x39e5b8(0x176)&&typeof _0x50bf10!==_0x39e5b8(0x177))return undefined;return{'kind':_0x39e5b8(0x188),'id':String(_0x50bf10),'action':_0x39e5b8(0x179)};}},artifactUpdate={'service':a10_0x3bb534(0x188),'command':a10_0x3bb534(0x1a2),'description':a10_0x3bb534(0x171),'risk':'write','confirmationDescription':'Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x32d1b6){const _0x5730a1=a10_0x3bb534,_0x3ead33=_0x32d1b6['num']('id'),_0x6a3b8b=buildArtifactInput(_0x32d1b6),_0xd3a1c9=await updateRuntimeArtifact(_0x3ead33,_0x32d1b6['appCode'],_0x6a3b8b);return{'ok':!![],'data':detailArtifact(_0xd3a1c9),'message':_0x5730a1(0x1a9)+_0xd3a1c9['id']+(_0xd3a1c9[_0x5730a1(0x16d)]?'\x20('+_0xd3a1c9['name']+')':'')};},async 'dryRun'(_0x28a02a){const _0x195958=a10_0x3bb534,_0x20ebe8=_0x28a02a[_0x195958(0x18f)]('id'),_0x2a4c44=buildArtifactInput(_0x28a02a);return dryRun('POST','/client/artifact/'+_0x20ebe8+'/update')[_0x195958(0x18a)]({'appCode':_0x28a02a[_0x195958(0x192)],..._0x2a4c44})[_0x195958(0x160)]('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x20ebe8)[_0x195958(0x1a3)]();},'writeEventSubject'(_0x5294bd){const _0x45237a=a10_0x3bb534,_0x2228f5=_0x5294bd[_0x45237a(0x19d)]?.['id'];if(typeof _0x2228f5!=='string'&&typeof _0x2228f5!==_0x45237a(0x177))return undefined;return{'kind':_0x45237a(0x188),'id':String(_0x2228f5),'action':_0x45237a(0x1a2)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x155a7e=a11_0x3140;(function(_0x34ae82,_0x4f7176){const _0x10772e=a11_0x3140,_0x4e9af7=_0x34ae82();while(!![]){try{const _0x230865=-parseInt(_0x10772e(0xea))/0x1+parseInt(_0x10772e(0xfa))/0x2*(-parseInt(_0x10772e(0x105))/0x3)+parseInt(_0x10772e(0xff))/0x4+-parseInt(_0x10772e(0xf0))/0x5*(parseInt(_0x10772e(0xcf))/0x6)+-parseInt(_0x10772e(0xec))/0x7+parseInt(_0x10772e(0xe0))/0x8*(parseInt(_0x10772e(0xbe))/0x9)+parseInt(_0x10772e(0x102))/0xa*(parseInt(_0x10772e(0xb5))/0xb);if(_0x230865===_0x4f7176)break;else _0x4e9af7['push'](_0x4e9af7['shift']());}catch(_0x4648f2){_0x4e9af7['push'](_0x4e9af7['shift']());}}}(a11_0x1e08,0x21dc2));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';function a11_0x1e08(){const _0x2245c5=['AbortError','POST','SIGINT','name','224uuYBxl','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','data','Device\x20auth\x20API\x20error\x20(','After\x20authorizing,\x20re-run:\x20','\x20auth\x20device','bool','global','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','access_key','270138XBPpEN','\x0dWaiting\x20for\x20authorization...\x20','848673fjQXRm','将启动设备码授权流程;授权成功后会把获取到的\x20AccessKey\x20保存到所选\x20Lovrabet\x20配置。确认界面不会显示设备码或密钥。','test','/.device-auth','325oJIdQx','utf8','project','padStart','Verify:\x20','Device\x20authorization\x20cancelled.','parse','\x20remaining','Write\x20to\x20project\x20config','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','78164UvkCrL','accessKey','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','),\x20retrying...','write','123868XnmNRU','floor','stderr','10NKZUCz','scope','Write\x20to\x20global\x20config\x20(default)','15diyGPM','auth','abort','&source=','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','apiError','homeDirName','5609428hZWZQL','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','validation','nonInteractive','json','AccessKey\x20saved\x20to\x20','expired','boolean','/device-auth?code=','77166AtYVlj','\x20config.','status','str','application/json','Device\x20auth\x20API\x20returned\x20HTTP\x20','Invalid\x20device\x20auth\x20response','lovrabet-cli','toISOString','code','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','stringify','randomUUID','getTime','Device\x20authorization\x20successful.','object','signal','5124wonrJO','Invalid\x20access_key\x20returned\x20by\x20server.','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','url-only','通过设备码流程完成授权(在浏览器中操作,无需复制粘贴)','removeListener','once','log','networkError','string','createdAt','cancelled','/api/device-auth/token'];a11_0x1e08=function(){return _0x2245c5;};return a11_0x1e08();}import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x423917){const _0x19e465=a11_0x3140;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x423917[_0x19e465(0xe6)]('global'),'explicitProject':_0x423917[_0x19e465(0xe6)]('project'),'policy':'global-default'}));}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 _0x3495f3=a11_0x3140;return crypto[_0x3495f3(0xca)]();}export function buildDeviceAuthUrl(_0x4dbdde,_0x56184e,_0x1a45a8=a11_0x155a7e(0xc5)){const _0xd65ac8=a11_0x155a7e;return _0x4dbdde+_0xd65ac8(0xbd)+encodeURIComponent(_0x56184e)+_0xd65ac8(0x108)+encodeURIComponent(_0x1a45a8);}export function getDeviceCodePath(){const _0x1d403b=a11_0x155a7e;return homedir()+'/'+PRODUCT_CONFIG[_0x1d403b(0xb4)]+_0x1d403b(0xef);}export function readStoredDeviceCode(){const _0x2a321e=a11_0x155a7e,_0xe5ea4=getDeviceCodePath();if(!existsSync(_0xe5ea4))return null;try{const _0x3f78f6=readFileSync(_0xe5ea4,{'encoding':_0x2a321e(0xf1)}),_0x4e304c=JSON[_0x2a321e(0xf6)](_0x3f78f6);if(_0x4e304c&&typeof _0x4e304c[_0x2a321e(0xc7)]===_0x2a321e(0xd8)&&typeof _0x4e304c[_0x2a321e(0xd9)]==='string'&&(_0x4e304c['scope']==='global'||_0x4e304c[_0x2a321e(0x103)]===_0x2a321e(0xf2)))return _0x4e304c;}catch{}return null;}export function writeStoredDeviceCode(_0x15c8c9,_0x3ecee4){const _0x2075bd=a11_0x155a7e,_0x515843=getDeviceCodePath(),_0x58c9ca=dirname(_0x515843);!existsSync(_0x58c9ca)&&mkdirSync(_0x58c9ca,{'recursive':!![]});const _0x5e8e9c={'code':_0x15c8c9,'createdAt':new Date()[_0x2075bd(0xc6)](),'scope':_0x3ecee4};writeFileSync(_0x515843,JSON[_0x2075bd(0xc9)](_0x5e8e9c),{'encoding':_0x2075bd(0xf1),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x450c97=getDeviceCodePath();try{unlinkSync(_0x450c97);}catch{}}function a11_0x3140(_0x3a8f53,_0x4e55d5){_0x3a8f53=_0x3a8f53-0xb4;const _0x1e0832=a11_0x1e08();let _0x314034=_0x1e0832[_0x3a8f53];return _0x314034;}export function isStoredDeviceCodeExpired(_0x57c587){const _0x152095=a11_0x155a7e;return Date['now']()-new Date(_0x57c587[_0x152095(0xd9)])[_0x152095(0xcb)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x11c753,_0x1e0531){const _0xe45a69=a11_0x155a7e,_0x401a51=_0x11c753+_0xe45a69(0xdb),_0x24ce10=new AbortController(),_0x391959=setTimeout(()=>_0x24ce10[_0xe45a69(0x107)](),0x2710),_0x2a4cf4=await fetch(_0x401a51,{'method':_0xe45a69(0xdd),'headers':{'Content-Type':_0xe45a69(0xc2)},'body':JSON['stringify']({'code':_0x1e0531}),'signal':_0x24ce10[_0xe45a69(0xce)]});clearTimeout(_0x391959);if(!_0x2a4cf4['ok'])throw CliErrors['networkError'](_0xe45a69(0xc3)+_0x2a4cf4['status']);const _0x554e62=await _0x2a4cf4[_0xe45a69(0xb9)](),_0x58b4ea=_0x554e62[_0xe45a69(0xe2)]&&typeof _0x554e62[_0xe45a69(0xe2)]===_0xe45a69(0xcd)?_0x554e62[_0xe45a69(0xe2)]:_0x554e62;if(!_0x58b4ea||typeof _0x58b4ea['status']!==_0xe45a69(0xd8))throw CliErrors[_0xe45a69(0x10a)](_0xe45a69(0xc4));return{'status':_0x58b4ea[_0xe45a69(0xc0)],'access_key':typeof _0x58b4ea[_0xe45a69(0xe9)]===_0xe45a69(0xd8)?_0x58b4ea['access_key']:undefined};}export async function pollDeviceToken(_0x5a2a88,_0x37c135,_0x3bfc80){const _0x4da7f3=a11_0x155a7e;let _0x14fcf6=0x0;for(let _0x10d179=0x0;_0x10d179<MAX_POLLS;_0x10d179++){if(_0x3bfc80['aborted'])throw CliErrors[_0x4da7f3(0xda)](_0x4da7f3(0xf5));let _0x51b301;try{_0x51b301=await fetchDeviceToken(_0x5a2a88,_0x37c135);}catch(_0x49c957){if(_0x49c957 instanceof Error&&_0x49c957[_0x4da7f3(0xdf)]===_0x4da7f3(0xdc))throw CliErrors[_0x4da7f3(0xda)]('Device\x20authorization\x20cancelled.');_0x14fcf6++;if(_0x14fcf6>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4da7f3(0xd7)](_0x4da7f3(0xb6));writeCliSideChannelLine(_0x4da7f3(0xe3)+_0x14fcf6+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4da7f3(0xfd)),await sleep(POLL_INTERVAL_MS);continue;}_0x14fcf6=0x0;if(_0x51b301['status']==='success'){if(!_0x51b301['access_key'])throw CliErrors[_0x4da7f3(0x10a)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x51b301[_0x4da7f3(0xe9)];}if(_0x51b301[_0x4da7f3(0xc0)]===_0x4da7f3(0xbb)){deleteStoredDeviceCode();throw CliErrors[_0x4da7f3(0xb7)](_0x4da7f3(0xfc));}const _0xa2dc4c=(_0x10d179+0x1)*POLL_INTERVAL_MS,_0x4b9e31=DEVICE_CODE_TTL_MS-_0xa2dc4c,_0x30b9ac=Math[_0x4da7f3(0x100)](_0x4b9e31/0xea60),_0x215c0d=Math[_0x4da7f3(0x100)](_0x4b9e31%0xea60/0x3e8);process['stderr'][_0x4da7f3(0xfe)](_0x4da7f3(0xeb)+_0x30b9ac+':'+String(_0x215c0d)[_0x4da7f3(0xf3)](0x2,'0')+_0x4da7f3(0xf7)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x4da7f3(0xb7)](_0x4da7f3(0xc8));}function sleep(_0x2d6382){return new Promise(_0x1ee461=>setTimeout(_0x1ee461,_0x2d6382));}export const authDeviceDefinition={'service':a11_0x155a7e(0x106),'command':'device','description':a11_0x155a7e(0xd3),'risk':'write','confirmationDescription':a11_0x155a7e(0xed),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x155a7e(0xe7),'type':a11_0x155a7e(0xbc),'description':a11_0x155a7e(0x104),'default':!![]},{'name':a11_0x155a7e(0xf2),'type':a11_0x155a7e(0xbc),'description':a11_0x155a7e(0xf8),'default':![]},{'name':'source','type':a11_0x155a7e(0xd8),'description':a11_0x155a7e(0xf9),'default':a11_0x155a7e(0xc5)},{'name':a11_0x155a7e(0xd2),'type':a11_0x155a7e(0xbc),'description':a11_0x155a7e(0xe8),'default':![]}],async 'execute'(_0x2f9c33){const _0x2a6f88=a11_0x155a7e,_0x4a55df=resolveAuthScopeFlags(_0x2f9c33),_0x4f1d4b=_0x4a55df['global']?_0x2a6f88(0xe7):_0x2a6f88(0xf2),_0x30df98=readScopedConfig(_0x4a55df);if(_0x30df98['accessKey'])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x25c707=(_0x2f9c33[_0x2a6f88(0xc1)]('source')||_0x2a6f88(0xc5))['trim'](),_0x11c847=getUserDomain(),_0x320997=readStoredDeviceCode(),_0x4d3471=_0x320997&&!isStoredDeviceCodeExpired(_0x320997)?_0x320997[_0x2a6f88(0xc7)]:((()=>{const _0x3344ab=generateDeviceCode();return writeStoredDeviceCode(_0x3344ab,_0x4f1d4b),_0x3344ab;})()),_0x16a5af=buildDeviceAuthUrl(_0x11c847,_0x4d3471,_0x25c707);if(_0x2f9c33[_0x2a6f88(0xe6)](_0x2a6f88(0xd2)))return console[_0x2a6f88(0xd6)](_0x16a5af),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x16a5af),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x2a6f88(0xe1));if(_0x2f9c33[_0x2a6f88(0xb8)])return writeCliSideChannelLine(_0x2a6f88(0xe4)+CLI_BIN_NAME+_0x2a6f88(0xe5)),{'ok':!![],'message':_0x2a6f88(0x109)};writeCliSideChannelLine(_0x2a6f88(0xd1));const _0x507688=new AbortController(),_0x14439d=()=>{const _0x4e3218=_0x2a6f88;_0x507688['abort'](),process[_0x4e3218(0xd4)]('SIGINT',_0x14439d);};process[_0x2a6f88(0xd5)]('SIGINT',_0x14439d);let _0x5a88be;try{_0x5a88be=await pollDeviceToken(_0x11c847,_0x4d3471,_0x507688[_0x2a6f88(0xce)]);}finally{process[_0x2a6f88(0xd4)](_0x2a6f88(0xde),_0x14439d);}if(!ACCESS_KEY_PATTERN[_0x2a6f88(0xee)](_0x5a88be))throw CliErrors[_0x2a6f88(0x10a)](_0x2a6f88(0xd0));const _0x2c0982=readScopedConfig(_0x4a55df);return _0x2c0982[_0x2a6f88(0xfb)]=_0x5a88be,writeScopedConfig(_0x2c0982,_0x4a55df),deleteStoredDeviceCode(),process[_0x2a6f88(0x101)][_0x2a6f88(0xfe)]('\x0a'),writeCliSideChannelLine(_0x2a6f88(0xba)+_0x4f1d4b+_0x2a6f88(0xbf)),writeCliSideChannelLine(_0x2a6f88(0xf4)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x2a6f88(0xcc)};}};
|
|
1
|
+
const a11_0x5268c9=a11_0x505b;function a11_0x483f(){const _0xcda9d5=['test','networkError','1891325JBBSuo','apiError','utf8','application/json','project','lovrabet-cli','\x20auth\x20status','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20authorization\x20successful.','randomUUID','Write\x20to\x20global\x20config\x20(default)','abort','write','code','boolean','8611548xdZMfC','796584gChTBO','getTime','signal','accessKey','cancelled','data','auth','Invalid\x20device\x20auth\x20response','object','Verify:\x20','floor','once','source','SIGINT','/.device-auth','name','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','success','14sHRFCg','\x0dWaiting\x20for\x20authorization...\x20','status','aborted','118302EWWqhX','removeListener','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','global-default','url-only','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','\x20remaining','str','Device\x20auth\x20API\x20returned\x20HTTP\x20','AccessKey\x20saved\x20to\x20','&source=','stringify','bool','device','global','scope','12fWRhap','string','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','Write\x20to\x20project\x20config','homeDirName','Invalid\x20access_key\x20returned\x20by\x20server.','validation','Device\x20auth\x20API\x20error\x20(','3767152okOrRO','access_key','padStart','357160WHOUnO','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','json','stderr','log','POST','\x20auth\x20device','/device-auth?code=','8267517DzXsPd','AbortError','\x20config.','20Tgavsg','Device\x20authorization\x20cancelled.','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.'];a11_0x483f=function(){return _0xcda9d5;};return a11_0x483f();}(function(_0x296224,_0x9b20d3){const _0x5e80d5=a11_0x505b,_0x17f90b=_0x296224();while(!![]){try{const _0x180cd3=-parseInt(_0x5e80d5(0x1c3))/0x1*(-parseInt(_0x5e80d5(0x182))/0x2)+parseInt(_0x5e80d5(0x1ad))/0x3+-parseInt(_0x5e80d5(0x18a))/0x4+parseInt(_0x5e80d5(0x19d))/0x5+-parseInt(_0x5e80d5(0x1ac))/0x6+parseInt(_0x5e80d5(0x1bf))/0x7*(-parseInt(_0x5e80d5(0x18d))/0x8)+parseInt(_0x5e80d5(0x195))/0x9*(parseInt(_0x5e80d5(0x198))/0xa);if(_0x180cd3===_0x9b20d3)break;else _0x17f90b['push'](_0x17f90b['shift']());}catch(_0x1763be){_0x17f90b['push'](_0x17f90b['shift']());}}}(a11_0x483f,0xb0e0f));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x5d1264){const _0x39d4a6=a11_0x505b;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x5d1264['bool'](_0x39d4a6(0x180)),'explicitProject':_0x5d1264[_0x39d4a6(0x1d1)](_0x39d4a6(0x1a1)),'policy':_0x39d4a6(0x1c6)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x3aef69=a11_0x505b;return crypto[_0x3aef69(0x1a6)]();}export function buildDeviceAuthUrl(_0x543a42,_0xacebe8,_0x1c78f2=a11_0x5268c9(0x1a2)){const _0x24bcc7=a11_0x5268c9;return _0x543a42+_0x24bcc7(0x194)+encodeURIComponent(_0xacebe8)+_0x24bcc7(0x1cf)+encodeURIComponent(_0x1c78f2);}export function getDeviceCodePath(){const _0x114f75=a11_0x5268c9;return homedir()+'/'+PRODUCT_CONFIG[_0x114f75(0x186)]+_0x114f75(0x1bb);}export function readStoredDeviceCode(){const _0x46df2c=a11_0x5268c9,_0x54f47a=getDeviceCodePath();if(!existsSync(_0x54f47a))return null;try{const _0x2ae554=readFileSync(_0x54f47a,{'encoding':_0x46df2c(0x19f)}),_0x393444=JSON['parse'](_0x2ae554);if(_0x393444&&typeof _0x393444[_0x46df2c(0x1aa)]===_0x46df2c(0x183)&&typeof _0x393444['createdAt']===_0x46df2c(0x183)&&(_0x393444[_0x46df2c(0x181)]===_0x46df2c(0x180)||_0x393444[_0x46df2c(0x181)]===_0x46df2c(0x1a1)))return _0x393444;}catch{}return null;}export function writeStoredDeviceCode(_0x8187c0,_0x282ce3){const _0x1103b9=a11_0x5268c9,_0x39a515=getDeviceCodePath(),_0x3f221c=dirname(_0x39a515);!existsSync(_0x3f221c)&&mkdirSync(_0x3f221c,{'recursive':!![]});const _0x4850c8={'code':_0x8187c0,'createdAt':new Date()['toISOString'](),'scope':_0x282ce3};writeFileSync(_0x39a515,JSON[_0x1103b9(0x1d0)](_0x4850c8),{'encoding':_0x1103b9(0x19f),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x47c7f3=getDeviceCodePath();try{unlinkSync(_0x47c7f3);}catch{}}export function isStoredDeviceCodeExpired(_0x4f3586){const _0x483dbb=a11_0x5268c9;return Date['now']()-new Date(_0x4f3586['createdAt'])[_0x483dbb(0x1ae)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0xb205f0,_0x5599d4){const _0x4d0ebf=a11_0x5268c9,_0x424c19=_0xb205f0+'/api/device-auth/token',_0x5a7878=new AbortController(),_0x369272=setTimeout(()=>_0x5a7878[_0x4d0ebf(0x1a8)](),0x2710),_0x55d965=await fetch(_0x424c19,{'method':_0x4d0ebf(0x192),'headers':{'Content-Type':_0x4d0ebf(0x1a0)},'body':JSON[_0x4d0ebf(0x1d0)]({'code':_0x5599d4}),'signal':_0x5a7878[_0x4d0ebf(0x1af)]});clearTimeout(_0x369272);if(!_0x55d965['ok'])throw CliErrors[_0x4d0ebf(0x19c)](_0x4d0ebf(0x1cd)+_0x55d965[_0x4d0ebf(0x1c1)]);const _0x3d0d9c=await _0x55d965[_0x4d0ebf(0x18f)](),_0xe86edf=_0x3d0d9c[_0x4d0ebf(0x1b2)]&&typeof _0x3d0d9c[_0x4d0ebf(0x1b2)]===_0x4d0ebf(0x1b5)?_0x3d0d9c[_0x4d0ebf(0x1b2)]:_0x3d0d9c;if(!_0xe86edf||typeof _0xe86edf[_0x4d0ebf(0x1c1)]!=='string')throw CliErrors['apiError'](_0x4d0ebf(0x1b4));return{'status':_0xe86edf[_0x4d0ebf(0x1c1)],'access_key':typeof _0xe86edf[_0x4d0ebf(0x18b)]===_0x4d0ebf(0x183)?_0xe86edf[_0x4d0ebf(0x18b)]:undefined};}function a11_0x505b(_0x5c7753,_0x5ee28d){_0x5c7753=_0x5c7753-0x17f;const _0x483fe9=a11_0x483f();let _0x505b36=_0x483fe9[_0x5c7753];return _0x505b36;}export async function pollDeviceToken(_0x3b13cb,_0x20496c,_0x14418f){const _0x322696=a11_0x5268c9;let _0x513378=0x0;for(let _0x2ab358=0x0;_0x2ab358<MAX_POLLS;_0x2ab358++){if(_0x14418f[_0x322696(0x1c2)])throw CliErrors[_0x322696(0x1b1)]('Device\x20authorization\x20cancelled.');let _0x1941b7;try{_0x1941b7=await fetchDeviceToken(_0x3b13cb,_0x20496c);}catch(_0x28ac8b){if(_0x28ac8b instanceof Error&&_0x28ac8b[_0x322696(0x1bc)]===_0x322696(0x196))throw CliErrors[_0x322696(0x1b1)](_0x322696(0x199));_0x513378++;if(_0x513378>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x322696(0x18e));writeCliSideChannelLine(_0x322696(0x189)+_0x513378+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+'),\x20retrying...'),await sleep(POLL_INTERVAL_MS);continue;}_0x513378=0x0;if(_0x1941b7['status']===_0x322696(0x1be)){if(!_0x1941b7[_0x322696(0x18b)])throw CliErrors[_0x322696(0x19e)](_0x322696(0x187));return _0x1941b7[_0x322696(0x18b)];}if(_0x1941b7[_0x322696(0x1c1)]==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x322696(0x188)](_0x322696(0x1ca));}const _0x66f5b7=(_0x2ab358+0x1)*POLL_INTERVAL_MS,_0x217220=DEVICE_CODE_TTL_MS-_0x66f5b7,_0x3f6292=Math['floor'](_0x217220/0xea60),_0x5295b4=Math[_0x322696(0x1b7)](_0x217220%0xea60/0x3e8);process[_0x322696(0x190)][_0x322696(0x1a9)](_0x322696(0x1c0)+_0x3f6292+':'+String(_0x5295b4)[_0x322696(0x18c)](0x2,'0')+_0x322696(0x1cb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x322696(0x188)](_0x322696(0x1bd));}function sleep(_0x51eea0){return new Promise(_0x2ce481=>setTimeout(_0x2ce481,_0x51eea0));}export const authDeviceDefinition={'service':a11_0x5268c9(0x1b3),'command':a11_0x5268c9(0x17f),'description':a11_0x5268c9(0x1c8),'risk':'write','confirmationDescription':a11_0x5268c9(0x19a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x5268c9(0x180),'type':a11_0x5268c9(0x1ab),'description':a11_0x5268c9(0x1a7),'default':!![]},{'name':a11_0x5268c9(0x1a1),'type':'boolean','description':a11_0x5268c9(0x185),'default':![]},{'name':a11_0x5268c9(0x1b9),'type':a11_0x5268c9(0x183),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':'lovrabet-cli'},{'name':a11_0x5268c9(0x1c7),'type':a11_0x5268c9(0x1ab),'description':a11_0x5268c9(0x1c9),'default':![]}],async 'execute'(_0x4ab164){const _0xb76634=a11_0x5268c9,_0x21cc5d=resolveAuthScopeFlags(_0x4ab164),_0x2b81c4=_0x21cc5d[_0xb76634(0x180)]?_0xb76634(0x180):'project',_0x256a37=readScopedConfig(_0x21cc5d);if(_0x256a37[_0xb76634(0x1b0)])return{'ok':!![],'message':'Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.'};const _0x3345fb=(_0x4ab164[_0xb76634(0x1cc)]('source')||_0xb76634(0x1a2))['trim'](),_0x342e89=getUserDomain(),_0x421e09=readStoredDeviceCode(),_0x411e23=_0x421e09&&!isStoredDeviceCodeExpired(_0x421e09)?_0x421e09['code']:((()=>{const _0xc4df8b=generateDeviceCode();return writeStoredDeviceCode(_0xc4df8b,_0x2b81c4),_0xc4df8b;})()),_0x2afd7b=buildDeviceAuthUrl(_0x342e89,_0x411e23,_0x3345fb);if(_0x4ab164[_0xb76634(0x1d1)](_0xb76634(0x1c7)))return console[_0xb76634(0x191)](_0x2afd7b),{'ok':!![]};writeCliSideChannelLine(_0xb76634(0x184)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x2afd7b),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xb76634(0x1c5));if(_0x4ab164['nonInteractive'])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0xb76634(0x193)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine(_0xb76634(0x1a4));const _0x56f41f=new AbortController(),_0x11cf3a=()=>{const _0x355755=_0xb76634;_0x56f41f[_0x355755(0x1a8)](),process[_0x355755(0x1c4)]('SIGINT',_0x11cf3a);};process[_0xb76634(0x1b8)](_0xb76634(0x1ba),_0x11cf3a);let _0xcf5161;try{_0xcf5161=await pollDeviceToken(_0x342e89,_0x411e23,_0x56f41f[_0xb76634(0x1af)]);}finally{process['removeListener'](_0xb76634(0x1ba),_0x11cf3a);}if(!ACCESS_KEY_PATTERN[_0xb76634(0x19b)](_0xcf5161))throw CliErrors[_0xb76634(0x19e)](_0xb76634(0x187));const _0x10a337=readScopedConfig(_0x21cc5d);return _0x10a337['accessKey']=_0xcf5161,writeScopedConfig(_0x10a337,_0x21cc5d),deleteStoredDeviceCode(),process['stderr']['write']('\x0a'),writeCliSideChannelLine(_0xb76634(0x1ce)+_0x2b81c4+_0xb76634(0x197)),writeCliSideChannelLine(_0xb76634(0x1b6)+CLI_BIN_NAME+_0xb76634(0x1a3)),{'ok':!![],'message':_0xb76634(0x1a5)};}};
|