@lovrabet/lovrabet-cli 2.3.1-beta.4 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
function a0_0x5917(_0x3aca24,_0x28fa31){_0x3aca24=_0x3aca24-0xe7;const _0x33fa75=a0_0x33fa();let _0x5917fb=_0x33fa75[_0x3aca24];return _0x5917fb;}const a0_0x1cbbbe=a0_0x5917;(function(_0x32503e,_0x2740cb){const _0x16b9b9=a0_0x5917,_0x2ee150=_0x32503e();while(!![]){try{const _0x42bf57=-parseInt(_0x16b9b9(0x100))/0x1*(-parseInt(_0x16b9b9(0x101))/0x2)+-parseInt(_0x16b9b9(0x10f))/0x3+parseInt(_0x16b9b9(0x102))/0x4+parseInt(_0x16b9b9(0x111))/0x5*(parseInt(_0x16b9b9(0xfe))/0x6)+parseInt(_0x16b9b9(0x104))/0x7+-parseInt(_0x16b9b9(0xea))/0x8+-parseInt(_0x16b9b9(0xf2))/0x9*(parseInt(_0x16b9b9(0x103))/0xa);if(_0x42bf57===_0x2740cb)break;else _0x2ee150['push'](_0x2ee150['shift']());}catch(_0x55970d){_0x2ee150['push'](_0x2ee150['shift']());}}}(a0_0x33fa,0xe92d0));import{jsx as a0_0x42337b}from'react/jsx-runtime';import a0_0x2d07bb from'meow';function a0_0x33fa(){const _0x59be4e=['message','./framework/preparse.js','flatMap','definition','code','ERR_STREAM_DESTROYED','stderr','log','exitCode','name','2623176DrsHrW','validation','1nZtKMR','2820266UrADGu','2955460KualQs','83110xnVvNp','8612590Efrkzx','exit','[preparse]\x20','cancelled','handler','doctor','corrected','help','defaultCommand','input','catch','944133KXRZga','flags','15WoDwBH','original','hint','config','10481304WkCYqV','\x0aCancelled.\x0a',':\x20--','unknownCommand','assign','error','length','write','2286RHKnyJ','args'];a0_0x33fa=function(){return _0x59be4e;};return a0_0x33fa();}import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x2d07bb(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x1cbbbe(0x10e)](handleError);async function main(){try{await run();}catch(_0x891d37){handleError(_0x891d37);}}async function run(){const _0x5a3576=a0_0x1cbbbe;let _0x47b240=cli[_0x5a3576(0x10d)][0x0],_0x2eb9d1=cli['input'][0x1];const _0x1ec3a4=cli[_0x5a3576(0x110)];try{const {correctFlags:_0xc3309c}=await import(_0x5a3576(0xf5)),_0xa0dfae=getAllDefinitions()[_0x5a3576(0xf6)](_0x321b11=>_0x321b11[_0x5a3576(0x110)]??[]),{flags:_0x2ba370,corrections:_0x1c2f05}=_0xc3309c(_0x1ec3a4,_0xa0dfae);if(_0x1c2f05[_0x5a3576(0xf0)]>0x0){for(const _0x4e7a34 of _0x1c2f05){process[_0x5a3576(0xfa)][_0x5a3576(0xf1)](_0x5a3576(0x106)+_0x4e7a34[_0x5a3576(0x108)]+_0x5a3576(0xec)+_0x4e7a34[_0x5a3576(0xe7)]+'\x20->\x20--'+_0x4e7a34[_0x5a3576(0x10a)]+'\x0a');}Object[_0x5a3576(0xee)](_0x1ec3a4,_0x2ba370);}}catch{}if(!_0x47b240){const {waitUntilExit:_0xfb8c4c}=render(a0_0x42337b(Help,{}));await _0xfb8c4c();return;}const _0x3d86ef=resolveRemovedCommand(_0x47b240,_0x2eb9d1);if(_0x3d86ef)throw CliErrors[_0x5a3576(0xff)](_0x3d86ef['message'],_0x3d86ef['hint']);if(!isKnownService(_0x47b240)){const _0x4b8c03=resolveDynamicServiceCommand(cli[_0x5a3576(0x10d)],_0x1ec3a4);if(_0x4b8c03){if(_0x1ec3a4[_0x5a3576(0x10b)]){console[_0x5a3576(0xfb)](generateCommandHelp(_0x4b8c03[_0x5a3576(0xf7)]));return;}Object[_0x5a3576(0xee)](_0x1ec3a4,_0x4b8c03[_0x5a3576(0x110)]);const _0x210cb4=buildConfigFromFlags(_0x1ec3a4);await initGlobalEnvironment(_0x210cb4);const _0x3fb93c=createPipelineEnv(_0x210cb4,_0x1ec3a4);_0x3fb93c['args']=_0x4b8c03[_0x5a3576(0xf3)],await runCommand(_0x4b8c03[_0x5a3576(0xf7)],_0x3fb93c);return;}if(_0x1ec3a4[_0x5a3576(0x10b)]){const _0x4bfa45=generateDynamicServiceHelp(_0x47b240);if(_0x4bfa45){console[_0x5a3576(0xfb)](_0x4bfa45);return;}}const {waitUntilExit:_0x3c441a}=render(a0_0x42337b(Help,{}));await _0x3c441a();return;}const _0x1958fb=getServiceEntry(_0x47b240);if(!_0x2eb9d1){if(_0x1ec3a4[_0x5a3576(0x10b)]){console[_0x5a3576(0xfb)](generateServiceHelp(_0x47b240));return;}if(_0x1958fb[_0x5a3576(0x10c)])_0x2eb9d1=_0x1958fb[_0x5a3576(0x10c)];else{console['log'](generateServiceHelp(_0x47b240));return;}}const _0x355e50=findDefinition(_0x47b240,_0x2eb9d1);!_0x355e50&&(console[_0x5a3576(0xfb)](generateServiceHelp(_0x47b240)),handleError(CliErrors[_0x5a3576(0xed)](_0x47b240+'\x20'+_0x2eb9d1)));if(_0x1ec3a4['help']){console[_0x5a3576(0xfb)](generateCommandHelp(_0x355e50));return;}const _0x51e225=buildConfigFromFlags(_0x1ec3a4);_0x47b240!==_0x5a3576(0xe9)&&_0x47b240!==_0x5a3576(0x109)&&await initGlobalEnvironment(_0x51e225);const _0x70ea0a=createPipelineEnv(_0x51e225,_0x1ec3a4);_0x70ea0a[_0x5a3576(0xf3)]=cli[_0x5a3576(0x10d)]['slice'](0x2),await runCommand(_0x355e50,_0x70ea0a);}function handleError(_0x4cba9a){const _0x171142=a0_0x1cbbbe;if(_0x4cba9a instanceof CliError){_0x4cba9a['code']===_0x171142(0x107)&&(process[_0x171142(0xfa)][_0x171142(0xf1)](_0x171142(0xeb)),process['exit'](0x0));console[_0x171142(0xef)]('Error:\x20'+_0x4cba9a[_0x171142(0xf4)]);if(_0x4cba9a[_0x171142(0xe8)])console[_0x171142(0xef)]('Hint:\x20'+_0x4cba9a[_0x171142(0xe8)]);process[_0x171142(0x105)](_0x4cba9a[_0x171142(0xfc)]);}isUserCancellation(_0x4cba9a)&&(process[_0x171142(0xfa)][_0x171142(0xf1)](_0x171142(0xeb)),process[_0x171142(0x105)](0x0)),console[_0x171142(0xef)]('Unexpected\x20error:',_0x4cba9a),process['exit'](0x1);}function isUserCancellation(_0x2a804d){const _0x5b6662=a0_0x1cbbbe;if(!(_0x2a804d instanceof Error))return![];if(_0x2a804d[_0x5b6662(0xfd)]==='ExitPromptError')return!![];if(_0x2a804d[_0x5b6662(0xf8)]==='ERR_USE_AFTER_CLOSE')return!![];if(_0x2a804d[_0x5b6662(0xf8)]===_0x5b6662(0xf9))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x2d8212=a1_0x21de;(function(_0x3adc7e,_0x4757b2){const _0x26f3fb=a1_0x21de,_0x2234ef=_0x3adc7e();while(!![]){try{const _0x9461f3=parseInt(_0x26f3fb(0x26a))/0x1+-parseInt(_0x26f3fb(0x232))/0x2+parseInt(_0x26f3fb(0x217))/0x3*(-parseInt(_0x26f3fb(0x227))/0x4)+-parseInt(_0x26f3fb(0x268))/0x5+parseInt(_0x26f3fb(0x21a))/0x6*(-parseInt(_0x26f3fb(0x226))/0x7)+parseInt(_0x26f3fb(0x248))/0x8*(-parseInt(_0x26f3fb(0x26c))/0x9)+parseInt(_0x26f3fb(0x1ff))/0xa;if(_0x9461f3===_0x4757b2)break;else _0x2234ef['push'](_0x2234ef['shift']());}catch(_0x38ed6d){_0x2234ef['push'](_0x2234ef['shift']());}}}(a1_0x3027,0xbd707));function a1_0x21de(_0x4cadf4,_0x32b142){_0x4cadf4=_0x4cadf4-0x1f2;const _0x3027e4=a1_0x3027();let _0x21deff=_0x3027e4[_0x4cadf4];return _0x21deff;}function a1_0x3027(){const _0xa6a25a=['32-character\x20dataset\x20code','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','Execute\x20a\x20BF\x20endpoint\x20function','1614cZQOzz','Aggregate\x20dataset\x20records','Filter\x20dataset\x20data','174TxCUYX','paging\x20contains\x20pagination','dataset','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Execute\x20Personal\x20Backend\x20Function','functionName','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Execute\x20custom\x20SQL','Returns\x20SQL\x20execution\x20payload','api-doc','method','365253OXSWVE','2332NrvvGW','tableData\x20contains\x20dataset\x20id/code/name','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','operations\x20describes\x20runtime\x20APIs','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','/api/runtime-bff/personal/{id}/execute','Show\x20runtime\x20API\x20documentation\x20by\x20code','List\x20available\x20runtime\x20API\x20documentation\x20entries','2456238RXJaaV','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','/api/{appCode}/{datasetCode}/create','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','`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.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','##\x20Filter\x20dataset\x20data','where\x20filters\x20before\x20aggregation','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Current\x20app\x20code','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','read','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Endpoint\x20function\x20name','string','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','##\x20List\x20datasets','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','1616VnNkkQ','Get\x20dataset\x20detail','POST','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Get\x20BF\x20endpoint\x20function\x20contract','None','{\x22fieldName\x22:\x22value\x22}','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Execute\x20BF\x20endpoint\x20function','appCode','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','/api/{appCode}/{datasetCode}/getOne','Create\x20dataset\x20record','paging.totalCount\x20gives\x20total\x20rows','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','##\x20Execute\x20Personal\x20Backend\x20Function','Create\x20a\x20dataset\x20record','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','trim','Filter\x20dataset\x20records','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','datasetCode','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','filter','Aggregate\x20dataset\x20data','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','join','list','whenToUse','title','3494660PhcwwG','fields/properties\x20describe\x20data\x20shape','1023826XKnWaa','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','43920VrLaPr','##\x20Dataset\x20detail','str','path','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','code','dataset_data_get_one','length','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','{\x22id\x22:123}','44917730tbLWmi','validation','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','GET','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','##\x20Aggregate\x20dataset\x20data','result\x20rows\x20contain\x20aggregate\x20aliases','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','dataset_data_aggregate','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','category','Returns\x20script\x20business\x20payload','dataset_data_filter','List\x20datasets','/client/bff/endpoint/{appCode}/{functionName}','Exact\x20endpoint\x20function\x20name','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','keyword'];a1_0x3027=function(){return _0xa6a25a;};return a1_0x3027();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x2d8212(0x243),'description':a1_0x2d8212(0x245)},KEYWORD_FLAG={'name':a1_0x2d8212(0x211),'type':a1_0x2d8212(0x243),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x2d8212(0x1f7),'type':a1_0x2d8212(0x243),'required':!![],'description':a1_0x2d8212(0x23a)},DOCS=[{'code':'dataset_list','category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x20c),'method':a1_0x2d8212(0x24a),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x2d8212(0x23f),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x2d8212(0x228),a1_0x2d8212(0x256)],'examples':[a1_0x2d8212(0x206)],'notes':[a1_0x2d8212(0x22a)],'markdown':[a1_0x2d8212(0x246),'',a1_0x2d8212(0x263)][a1_0x2d8212(0x264)]('\x0a')},{'code':'dataset_detail','category':a1_0x2d8212(0x21c),'title':'Dataset\x20detail','method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x2d8212(0x249),'whenToUse':a1_0x2d8212(0x22d),'pathParams':[],'queryParams':[{'name':a1_0x2d8212(0x1f7),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x2d8212(0x24d),'responseHighlights':[a1_0x2d8212(0x269),a1_0x2d8212(0x208),a1_0x2d8212(0x22b)],'examples':[a1_0x2d8212(0x214)],'notes':[a1_0x2d8212(0x201)],'markdown':[a1_0x2d8212(0x1f2),'',a1_0x2d8212(0x237)][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x20b),'category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x219),'method':a1_0x2d8212(0x24a),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x2d8212(0x25c),'whenToUse':a1_0x2d8212(0x253),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x25e),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x22e),'responseHighlights':['tableData\x20contains\x20records',a1_0x2d8212(0x21b)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x2d8212(0x235)],'notes':[a1_0x2d8212(0x247),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x2d8212(0x1f5)],'markdown':[a1_0x2d8212(0x23b),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x207),'category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x261),'method':a1_0x2d8212(0x24a),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x2d8212(0x218),'whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':a1_0x2d8212(0x212)}],'queryParams':[],'bodySchema':a1_0x2d8212(0x244),'responseHighlights':[a1_0x2d8212(0x205),a1_0x2d8212(0x23c)],'examples':[a1_0x2d8212(0x25f)],'notes':[a1_0x2d8212(0x233),a1_0x2d8212(0x236)],'markdown':[a1_0x2d8212(0x204),'',a1_0x2d8212(0x257)][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x1f8),'category':a1_0x2d8212(0x21c),'title':'Get\x20one\x20dataset\x20record','method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x254),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x2d8212(0x25d),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x1fe),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0x2d8212(0x1fd)],'notes':[a1_0x2d8212(0x239)],'markdown':a1_0x2d8212(0x241)},{'code':'dataset_data_create','category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x255),'method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x234),'summary':a1_0x2d8212(0x259),'whenToUse':a1_0x2d8212(0x213),'pathParams':[{'name':'appCode','description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x24e),'responseHighlights':[a1_0x2d8212(0x210)],'examples':[a1_0x2d8212(0x25a)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x2d8212(0x24c),'method':a1_0x2d8212(0x202),'path':a1_0x2d8212(0x20d),'summary':a1_0x2d8212(0x24f),'whenToUse':a1_0x2d8212(0x229),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x220),'description':a1_0x2d8212(0x20e)}],'queryParams':[],'bodySchema':a1_0x2d8212(0x24d),'responseHighlights':[a1_0x2d8212(0x21d)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x2d8212(0x24b)],'markdown':a1_0x2d8212(0x221)},{'code':'bf_execute','category':'bf','title':a1_0x2d8212(0x251),'method':a1_0x2d8212(0x24a),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x2d8212(0x216),'whenToUse':a1_0x2d8212(0x20f),'pathParams':[{'name':'appCode','description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x220),'description':a1_0x2d8212(0x242)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x2d8212(0x20a)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x2d8212(0x1f6)],'markdown':a1_0x2d8212(0x238)},{'code':'personal_bf_execute','category':'bf','title':a1_0x2d8212(0x21f),'method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x22f),'summary':a1_0x2d8212(0x1fa),'whenToUse':a1_0x2d8212(0x1fb),'pathParams':[{'name':'id','description':a1_0x2d8212(0x23d)}],'queryParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x2d8212(0x20a)],'examples':[a1_0x2d8212(0x215)],'notes':[a1_0x2d8212(0x21e),a1_0x2d8212(0x203)],'markdown':[a1_0x2d8212(0x258),'',a1_0x2d8212(0x22c)][a1_0x2d8212(0x264)]('\x0a')},{'code':'custom_sql_execute','category':'custom_sql','title':a1_0x2d8212(0x222),'method':a1_0x2d8212(0x24a),'path':'/api/custom/executeSql','summary':a1_0x2d8212(0x222),'whenToUse':a1_0x2d8212(0x262),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x2d8212(0x223)],'examples':[a1_0x2d8212(0x1fc)],'notes':[a1_0x2d8212(0x26b)],'markdown':a1_0x2d8212(0x250)}];function entrySummary(_0x39b063){const _0xcf6bb4=a1_0x2d8212;return{'code':_0x39b063[_0xcf6bb4(0x1f7)],'category':_0x39b063[_0xcf6bb4(0x209)],'method':_0x39b063['method'],'path':_0x39b063[_0xcf6bb4(0x1f4)],'summary':_0x39b063['summary'],'whenToUse':_0x39b063['whenToUse']};}export function listApiDocEntries(_0x2f251f={}){const _0x274c8f=a1_0x2d8212,_0x4e3515=String(_0x2f251f[_0x274c8f(0x209)]||'')['trim'](),_0x809364=String(_0x2f251f[_0x274c8f(0x211)]||'')[_0x274c8f(0x25b)]()['toLowerCase']();return DOCS[_0x274c8f(0x260)](_0x4e31ff=>{const _0x245847=_0x274c8f;if(_0x4e3515&&_0x4e31ff[_0x245847(0x209)]!==_0x4e3515)return![];if(!_0x809364)return!![];return[_0x4e31ff[_0x245847(0x1f7)],_0x4e31ff[_0x245847(0x209)],_0x4e31ff[_0x245847(0x225)],_0x4e31ff[_0x245847(0x1f4)],_0x4e31ff['summary'],_0x4e31ff[_0x245847(0x266)],_0x4e31ff[_0x245847(0x267)]][_0x245847(0x264)]('\x20')['toLowerCase']()['includes'](_0x809364);})['map'](entrySummary);}export function getApiDocDetail(_0x305abb){const _0x370ac6=a1_0x2d8212,_0x5b2534=DOCS['find'](_0x2f5719=>_0x2f5719['code']===_0x305abb);if(!_0x5b2534)throw CliErrors[_0x370ac6(0x200)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x305abb);return{..._0x5b2534};}const apiDocList={'service':a1_0x2d8212(0x224),'command':a1_0x2d8212(0x265),'description':a1_0x2d8212(0x231),'risk':a1_0x2d8212(0x240),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3f2f92){const _0x2415c0=a1_0x2d8212,_0x5ed285=listApiDocEntries({'category':_0x3f2f92[_0x2415c0(0x1f3)](_0x2415c0(0x209)),'keyword':_0x3f2f92[_0x2415c0(0x1f3)](_0x2415c0(0x211))});return{'ok':!![],'data':{'total':_0x5ed285[_0x2415c0(0x1f9)],'items':_0x5ed285}};}},apiDocDetail={'service':a1_0x2d8212(0x224),'command':'detail','description':a1_0x2d8212(0x230),'risk':a1_0x2d8212(0x240),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1b744a){const _0x4be440=a1_0x2d8212;return{'ok':!![],'data':getApiDocDetail(_0x1b744a[_0x4be440(0x1f3)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x39bb46=a1_0xf150;function a1_0xf150(_0x50420d,_0x2ed523){_0x50420d=_0x50420d-0xf2;const _0x199495=a1_0x1994();let _0xf150fa=_0x199495[_0x50420d];return _0xf150fa;}(function(_0x3cedd1,_0x2f2940){const _0x49636d=a1_0xf150,_0x2a0613=_0x3cedd1();while(!![]){try{const _0x328f90=-parseInt(_0x49636d(0x107))/0x1*(-parseInt(_0x49636d(0x144))/0x2)+parseInt(_0x49636d(0x111))/0x3*(-parseInt(_0x49636d(0x148))/0x4)+-parseInt(_0x49636d(0x127))/0x5*(parseInt(_0x49636d(0xf5))/0x6)+-parseInt(_0x49636d(0x14a))/0x7+-parseInt(_0x49636d(0x147))/0x8*(parseInt(_0x49636d(0x11e))/0x9)+-parseInt(_0x49636d(0x15d))/0xa*(-parseInt(_0x49636d(0xf6))/0xb)+-parseInt(_0x49636d(0x14c))/0xc*(-parseInt(_0x49636d(0x170))/0xd);if(_0x328f90===_0x2f2940)break;else _0x2a0613['push'](_0x2a0613['shift']());}catch(_0xd9f98d){_0x2a0613['push'](_0x2a0613['shift']());}}}(a1_0x1994,0x38890));function a1_0x1994(){const _0xf999c7=['API\x20doc\x20code\x20not\x20found:\x20','paging\x20contains\x20pagination','appCode','string','dataset','method','Get\x20one\x20dataset\x20record','486348KOAcmc','Returns\x20script\x20business\x20payload','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','find','code','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','path','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','tableData\x20contains\x20records','1267506bEwamw','dataset_detail','Returns\x20one\x20matching\x20business\x20record','keyword','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','dataset_data_get_one','includes','length','1383260QbyUfR','Exact\x20endpoint\x20function\x20name','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','api-doc','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','/api/{appCode}/{datasetCode}/aggregate','/api/runtime-bff/personal/{id}/execute','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','{\x22fieldName\x22:\x22value\x22}','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','/api/custom/executeSql','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','personal_bf_execute','/api/{appCode}/{datasetCode}/getOne','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','whenToUse','Execute\x20a\x20BF\x20endpoint\x20function','API\x20doc\x20code,\x20for\x20example\x20dataset_list','None','Get\x20BF\x20endpoint\x20function\x20contract','operations\x20describes\x20runtime\x20APIs','/client/bff/endpoint/{appCode}/{functionName}','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','142394xAvVfY','Execute\x20custom\x20SQL','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','16QNuImo','4UqLtfR','join','1972922gLYviC','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','16440syuMWr','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','list','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','GET','custom_sql','bf_detail','functionName','summary','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','{\x22id\x22:123}','validation','Current\x20app\x20code','paging.totalCount\x20gives\x20total\x20rows','30JiKibJ','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','dataset_list','category','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','str','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','datasetCode','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','{\x22param\x22:\x22value\x22}','read','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Returns\x20SQL\x20execution\x20payload','Create\x20dataset\x20record','Filter\x20dataset\x20data','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','custom_sql_execute','Aggregate\x20dataset\x20data','6851IMiczN','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','dataset_data_aggregate','##\x20List\x20datasets','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','/api/endpoint/{appCode}/{functionName}','Execute\x20BF\x20endpoint\x20function','6bnInuz','1093653CWXVcQ','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','result\x20rows\x20contain\x20aggregate\x20aliases','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Execute\x20Personal\x20Backend\x20Function','toLowerCase','##\x20Aggregate\x20dataset\x20data','detail','32-character\x20dataset\x20code','Show\x20runtime\x20API\x20documentation\x20by\x20code','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Endpoint\x20function\x20name','where\x20filters\x20before\x20aggregation','3agJdCv','POST','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'];a1_0x1994=function(){return _0xf999c7;};return a1_0x1994();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x39bb46(0x161),'type':a1_0x39bb46(0x10d),'description':a1_0x39bb46(0x171)},KEYWORD_FLAG={'name':'keyword','type':'string','description':a1_0x39bb46(0x15e)},DOC_CODE_FLAG={'name':'code','type':a1_0x39bb46(0x10d),'required':!![],'description':a1_0x39bb46(0x13d)},DOCS=[{'code':a1_0x39bb46(0x160),'category':'dataset','title':'List\x20datasets','method':a1_0x39bb46(0x108),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x39bb46(0x11a),'pathParams':[],'queryParams':[],'bodySchema':a1_0x39bb46(0x14f),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x39bb46(0x15c)],'examples':[a1_0x39bb46(0x172)],'notes':[a1_0x39bb46(0x122)],'markdown':[a1_0x39bb46(0x175),'',a1_0x39bb46(0x100)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x11f),'category':a1_0x39bb46(0x10e),'title':'Dataset\x20detail','method':a1_0x39bb46(0x153),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':a1_0x39bb46(0x16d),'pathParams':[],'queryParams':[{'name':a1_0x39bb46(0x116),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x39bb46(0x176),a1_0x39bb46(0x140)],'examples':[a1_0x39bb46(0x109)],'notes':[a1_0x39bb46(0x114)],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x39bb46(0x149)]('\x0a')},{'code':'dataset_data_filter','category':'dataset','title':a1_0x39bb46(0x16c),'method':'POST','path':'/api/{appCode}/{datasetCode}/filter','summary':'Filter\x20dataset\x20records','whenToUse':a1_0x39bb46(0x118),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x12b),'responseHighlights':[a1_0x39bb46(0x11d),a1_0x39bb46(0x10b)],'examples':[a1_0x39bb46(0x173),a1_0x39bb46(0xf7)],'notes':[a1_0x39bb46(0x152),a1_0x39bb46(0x15f),a1_0x39bb46(0x129),a1_0x39bb46(0x158)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x174),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16f),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12e),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x39bb46(0xf2),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x11c),'responseHighlights':[a1_0x39bb46(0xf8),a1_0x39bb46(0x106)],'examples':[a1_0x39bb46(0x14d)],'notes':[a1_0x39bb46(0x132),a1_0x39bb46(0x142)],'markdown':[a1_0x39bb46(0xfc),'',a1_0x39bb46(0x11b)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x124),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x110),'method':'POST','path':a1_0x39bb46(0x139),'summary':'Get\x20one\x20dataset\x20record','whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x159),'responseHighlights':[a1_0x39bb46(0x120)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x39bb46(0x164)],'markdown':a1_0x39bb46(0x14e)},{'code':'dataset_data_create','category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16b),'method':a1_0x39bb46(0x108),'path':'/api/{appCode}/{datasetCode}/create','summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x39bb46(0x104),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x131),'responseHighlights':[a1_0x39bb46(0x101)],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x39bb46(0x12d)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x39bb46(0x155),'category':'bf','title':a1_0x39bb46(0x13f),'method':a1_0x39bb46(0x153),'path':a1_0x39bb46(0x141),'summary':a1_0x39bb46(0xf9),'whenToUse':a1_0x39bb46(0x143),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':'functionName','description':a1_0x39bb46(0x128)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':[a1_0x39bb46(0x103)],'examples':[a1_0x39bb46(0x136)],'notes':[a1_0x39bb46(0x133)],'markdown':a1_0x39bb46(0x123)},{'code':'bf_execute','category':'bf','title':a1_0x39bb46(0xf4),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0xf3),'summary':a1_0x39bb46(0x13c),'whenToUse':a1_0x39bb46(0x137),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x156),'description':a1_0x39bb46(0x105)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x102)],'markdown':a1_0x39bb46(0x151)},{'code':a1_0x39bb46(0x138),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12f),'summary':a1_0x39bb46(0x130),'whenToUse':a1_0x39bb46(0x162),'pathParams':[{'name':'id','description':a1_0x39bb46(0x13a)}],'queryParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)}],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':[a1_0x39bb46(0x12c)],'notes':[a1_0x39bb46(0x166),a1_0x39bb46(0x113)],'markdown':[a1_0x39bb46(0xfa),'',a1_0x39bb46(0x134)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x16e),'category':a1_0x39bb46(0x154),'title':a1_0x39bb46(0x145),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x135),'summary':a1_0x39bb46(0x145),'whenToUse':a1_0x39bb46(0x169),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x39bb46(0x16a)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x146)],'markdown':a1_0x39bb46(0x14b)}];function entrySummary(_0x43757a){const _0xbbfc43=a1_0x39bb46;return{'code':_0x43757a[_0xbbfc43(0x116)],'category':_0x43757a['category'],'method':_0x43757a[_0xbbfc43(0x10f)],'path':_0x43757a[_0xbbfc43(0x119)],'summary':_0x43757a[_0xbbfc43(0x157)],'whenToUse':_0x43757a[_0xbbfc43(0x13b)]};}export function listApiDocEntries(_0x411c6c={}){const _0x10b53b=a1_0x39bb46,_0x4c7d5=String(_0x411c6c[_0x10b53b(0x161)]||'')['trim'](),_0x137477=String(_0x411c6c['keyword']||'')['trim']()['toLowerCase']();return DOCS['filter'](_0x57cfcf=>{const _0x55baf9=_0x10b53b;if(_0x4c7d5&&_0x57cfcf[_0x55baf9(0x161)]!==_0x4c7d5)return![];if(!_0x137477)return!![];return[_0x57cfcf['code'],_0x57cfcf['category'],_0x57cfcf[_0x55baf9(0x10f)],_0x57cfcf['path'],_0x57cfcf['summary'],_0x57cfcf[_0x55baf9(0x13b)],_0x57cfcf['title']][_0x55baf9(0x149)]('\x20')[_0x55baf9(0xfb)]()[_0x55baf9(0x125)](_0x137477);})['map'](entrySummary);}export function getApiDocDetail(_0x4e1aba){const _0x9d0e7a=a1_0x39bb46,_0x509156=DOCS[_0x9d0e7a(0x115)](_0x553b16=>_0x553b16[_0x9d0e7a(0x116)]===_0x4e1aba);if(!_0x509156)throw CliErrors[_0x9d0e7a(0x15a)](_0x9d0e7a(0x10a)+_0x4e1aba);return{..._0x509156};}const apiDocList={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0x150),'description':a1_0x39bb46(0x117),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5cdde7){const _0x509430=a1_0x39bb46,_0x44d415=listApiDocEntries({'category':_0x5cdde7['str'](_0x509430(0x161)),'keyword':_0x5cdde7[_0x509430(0x163)](_0x509430(0x121))});return{'ok':!![],'data':{'total':_0x44d415[_0x509430(0x126)],'items':_0x44d415}};}},apiDocDetail={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0xfd),'description':a1_0x39bb46(0xff),'risk':a1_0x39bb46(0x168),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1acbaf){const _0x243816=a1_0x39bb46;return{'ok':!![],'data':getApiDocDetail(_0x1acbaf[_0x243816(0x163)](_0x243816(0x116)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1c85ae,_0x4bb90e){const _0x252dd6=a2_0x864b,_0x19fdeb=_0x1c85ae();while(!![]){try{const _0x5658d1=-parseInt(_0x252dd6(0x19d))/0x1+parseInt(_0x252dd6(0x1ae))/0x2*(parseInt(_0x252dd6(0x19f))/0x3)+-parseInt(_0x252dd6(0x1b1))/0x4+-parseInt(_0x252dd6(0x1ac))/0x5+parseInt(_0x252dd6(0x1b5))/0x6+-parseInt(_0x252dd6(0x1b0))/0x7*(-parseInt(_0x252dd6(0x1a9))/0x8)+parseInt(_0x252dd6(0x1a6))/0x9*(parseInt(_0x252dd6(0x1a3))/0xa);if(_0x5658d1===_0x4bb90e)break;else _0x19fdeb['push'](_0x19fdeb['shift']());}catch(_0x55c3fa){_0x19fdeb['push'](_0x19fdeb['shift']());}}}(a2_0x3194,0x6a879));function a2_0x864b(_0x25ab00,_0x208a93){_0x25ab00=_0x25ab00-0x19b;const _0x3194e0=a2_0x3194();let _0x864b7b=_0x3194e0[_0x25ab00];return _0x864b7b;}import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x7cf2d5){const _0x1d6e8c=a2_0x864b,_0x333f77=_0x7cf2d5['trim'](),_0x2aca88=_0x333f77[_0x1d6e8c(0x1b8)](-0x6)||_0x1d6e8c(0x1b6),_0x4e3b96=createHash(_0x1d6e8c(0x1b7))[_0x1d6e8c(0x1aa)](_0x333f77)[_0x1d6e8c(0x1b9)](_0x1d6e8c(0x1a1))[_0x1d6e8c(0x1b8)](0x0,0xc);return _0x1d6e8c(0x1a2)+_0x2aca88+'_'+_0x4e3b96;}function a2_0x3194(){const _0x16afe0=['3FHJmLG','appCode','hex','ak_','290xcIoPw','utf8','code','161442SJDHuh','find','EXDEV','1752UruBTm','update','cache','2438600lOOhmu','items','491578oNMgnT','stringify','14959spKvtZ','1152592Frmxvs','my-apps.json','appName','trim','1747734gGSKkr','unknown','sha256','slice','digest','.tmp','isArray','313070jYpcFT','EACCES'];a2_0x3194=function(){return _0x16afe0;};return a2_0x3194();}export function getAppCacheFilePath(_0x3a0cc0,_0x3c9c36){const _0x6aa7be=a2_0x864b;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x6aa7be(0x1ab),_0x3a0cc0,fingerprintAccessKey(_0x3c9c36),_0x6aa7be(0x1b2));}export function readCachedAppList(_0xf92091,_0x5d1650){const _0x3f0d0c=a2_0x864b;if(!_0x5d1650?.['trim']())return null;const _0x2cea92=getAppCacheFilePath(_0xf92091,_0x5d1650);if(!existsSync(_0x2cea92))return null;try{const _0x305b21=readFileSync(_0x2cea92,_0x3f0d0c(0x1a4));if(!_0x305b21['trim']())return null;const _0x2e7a19=JSON['parse'](_0x305b21);if(!Array[_0x3f0d0c(0x19c)](_0x2e7a19['items']))return null;return _0x2e7a19;}catch{return null;}}export function writeCachedAppList(_0x5b0845,_0x5079c8,_0x27b3e2){const _0x2cbe90=a2_0x864b,_0x5a69a5=getAppCacheFilePath(_0x5b0845,_0x5079c8),_0x42d803=dirname(_0x5a69a5);!existsSync(_0x42d803)&&mkdirSync(_0x42d803,{'recursive':!![]});const _0x1638d8=_0x5a69a5+_0x2cbe90(0x19b);try{writeFileSync(_0x1638d8,JSON['stringify'](_0x27b3e2,null,0x2)+'\x0a',{'encoding':_0x2cbe90(0x1a4),'mode':0x180});try{renameSync(_0x1638d8,_0x5a69a5);}catch(_0x26ae6b){if(_0x26ae6b[_0x2cbe90(0x1a5)]==='EPERM'||_0x26ae6b[_0x2cbe90(0x1a5)]===_0x2cbe90(0x1a8)||_0x26ae6b['code']===_0x2cbe90(0x19e)){writeFileSync(_0x5a69a5,JSON[_0x2cbe90(0x1af)](_0x27b3e2,null,0x2)+'\x0a',{'encoding':_0x2cbe90(0x1a4)});try{unlinkSync(_0x1638d8);}catch{}}else throw _0x26ae6b;}}catch(_0x163e01){try{unlinkSync(_0x1638d8);}catch{}throw _0x163e01;}return _0x5a69a5;}export function resolveCachedAppCode(_0x5d423,_0x37a2cf,_0x1ab196){const _0x4cb5ed=a2_0x864b;if(!_0x5d423)return undefined;const _0x4c0afe=readCachedAppList(_0x37a2cf,_0x1ab196),_0x4e37af=_0x4c0afe?.[_0x4cb5ed(0x1ad)][_0x4cb5ed(0x1a7)](_0x229926=>_0x229926[_0x4cb5ed(0x1b3)]===_0x5d423&&isRuntimeAccessibleApp(_0x229926));return _0x4e37af?.[_0x4cb5ed(0x1a0)]?.[_0x4cb5ed(0x1b4)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a3_0x1fb7(){const _0x39f2db=['2138139oITMAt','2091747ebFscA','cache','pull','production','import','2171454PzBNWn','length','push','envName','227200bQptvk','../../context.js','find','accessKey','items','include-unpublished','bool','No\x20apps\x20found\x20on\x20the\x20platform.','7778QDGzTX','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','no-cache','\x20app(s)\x20for\x20env=\x22','fetchedAt','53fRaAYD','285069gajDWk','isArray','write','env','filter','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','read','Target\x20environment\x20(default:\x20current\x20env)','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','local','str','map','Loaded\x20','name','config','8cLjjUv','list','mergedCli','cachePath','trim','../../commands/app/remote-source.js','app','Include\x20unpublished\x20apps\x20for\x20diagnostics','type','appPublishStatus','string','boolean','Read\x20app\x20list\x20from\x20local\x20cache\x20only','appcode','1998505uTDjFp','remote','source','enableI18n','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','Refreshed\x20app\x20cache\x20with\x20','appName','appCode','entries','i18nInfo'];a3_0x1fb7=function(){return _0x39f2db;};return a3_0x1fb7();}const a3_0x5de759=a3_0x405a;(function(_0x296fbb,_0x214bd9){const _0x50362c=a3_0x405a,_0x404956=_0x296fbb();while(!![]){try{const _0x474d89=parseInt(_0x50362c(0x204))/0x1*(parseInt(_0x50362c(0x1ff))/0x2)+parseInt(_0x50362c(0x205))/0x3+-parseInt(_0x50362c(0x1f7))/0x4+parseInt(_0x50362c(0x222))/0x5+-parseInt(_0x50362c(0x1f3))/0x6+-parseInt(_0x50362c(0x22d))/0x7*(parseInt(_0x50362c(0x214))/0x8)+parseInt(_0x50362c(0x22c))/0x9;if(_0x474d89===_0x214bd9)break;else _0x404956['push'](_0x404956['shift']());}catch(_0x2af6c3){_0x404956['push'](_0x404956['shift']());}}}(a3_0x1fb7,0x35ed2));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x275359,_0xf4cf8f){const _0x2ab431=a3_0x405a,_0x2d156d={};for(const _0x662066 of _0xf4cf8f){const _0x2adaea=_0x662066[_0x2ab431(0x21c)]===_0x2ab431(0x21f)?_0x275359['bool'](_0x662066[_0x2ab431(0x212)]):_0x275359['str'](_0x662066[_0x2ab431(0x212)]);if(_0x2adaea!==''&&_0x2adaea!==![])_0x2d156d[_0x662066[_0x2ab431(0x212)]]=_0x2adaea;}if(_0x275359['nonInteractive'])_0x2d156d['nonInteractive']=!![];return _0x2d156d;}function normalizeLanguages(_0x25d222){const _0x8cd255=a3_0x405a;if(!Array[_0x8cd255(0x206)](_0x25d222))return[];return _0x25d222[_0x8cd255(0x209)](_0x1b5b9c=>typeof _0x1b5b9c===_0x8cd255(0x21e))[_0x8cd255(0x210)](_0x2e71af=>_0x2e71af[_0x8cd255(0x218)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x2810c7){const _0x3d8274=a3_0x405a,_0x4fa49c=normalizeLanguages(_0x2810c7[_0x3d8274(0x22b)]?.['langs']);return{'enableI18n':typeof _0x2810c7[_0x3d8274(0x225)]===_0x3d8274(0x21f)?_0x2810c7['enableI18n']:null,'languages':_0x4fa49c,'i18nInfo':_0x2810c7[_0x3d8274(0x22b)]?{..._0x2810c7[_0x3d8274(0x22b)],'langs':_0x4fa49c[_0x3d8274(0x1f4)]?_0x4fa49c:null}:null};}function a3_0x405a(_0x583f8c,_0x1c0a75){_0x583f8c=_0x583f8c-0x1f3;const _0x1fb742=a3_0x1fb7();let _0x405aeb=_0x1fb742[_0x583f8c];return _0x405aeb;}const listDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x215),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x5de759(0x20b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x5de759(0x21e),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x220),'default':![]},{'name':a3_0x5de759(0x201),'type':a3_0x5de759(0x21f),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x5de759(0x1fc),'type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x21b),'default':![]}],async 'execute'(_0x2cbcf8){const _0x49f229=a3_0x5de759,_0x5a6551=_0x2cbcf8['str'](_0x49f229(0x208))||_0x2cbcf8[_0x49f229(0x1f6)]||getEnv()||_0x49f229(0x230),_0x17ff07=_0x2cbcf8[_0x49f229(0x1fd)]('local'),_0xcaf0fc=_0x2cbcf8[_0x49f229(0x1fd)](_0x49f229(0x201)),_0xae25c2=_0x2cbcf8[_0x49f229(0x1fd)]('include-unpublished'),{readRawConfigWithLayers:_0x47a2e2,resolveDefaultAppSource:_0x51296f,getLocalAppAliases:_0x4c5ef7}=await import(_0x49f229(0x1f8)),{getRemoteAppList:_0x186e21}=await import(_0x49f229(0x219)),{config:_0x3ccc24,layers:_0x528a84}=_0x47a2e2(),_0x13939c=_0x51296f(_0x528a84),{defaultApp:_0x1668be}=_0x3ccc24,_0xddafdf=await _0x186e21({'env':_0x5a6551,'accessKey':_0x2cbcf8[_0x49f229(0x1fa)],'localOnly':_0x17ff07,'noCache':_0xcaf0fc}),_0xcda6e6=_0xae25c2?_0xddafdf[_0x49f229(0x1fb)]:filterRuntimeAccessibleApps(_0xddafdf[_0x49f229(0x1fb)]),_0x2972e7=_0xddafdf[_0x49f229(0x1fb)][_0x49f229(0x1f4)]-_0xcda6e6[_0x49f229(0x1f4)],_0x3c2839=_0xcda6e6[_0x49f229(0x210)](_0x211512=>{const _0x507556=_0x49f229;return{'name':_0x211512[_0x507556(0x228)],'appcode':_0x211512[_0x507556(0x229)],'named':!![],'definedIn':_0x507556(0x223),'isDefault':_0x211512['appName']===_0x1668be,...buildAppProfileListFields(_0x5a6551),...buildRemoteAppI18nFields(_0x211512),'source':_0xddafdf[_0x507556(0x224)],'owner':_0x211512['appOwnerName']??null,'status':_0x211512[_0x507556(0x21d)]??null,'cachedAt':_0xddafdf[_0x507556(0x203)]};}),_0x564d46=_0x4c5ef7(_0x3ccc24);let _0x214aeb=0x0;for(const [_0x5bb141,_0x5ec67c]of Object[_0x49f229(0x22a)](_0x564d46)){const _0x58ce08=typeof _0x5ec67c[_0x49f229(0x221)]===_0x49f229(0x21e)?_0x5ec67c[_0x49f229(0x221)]['trim']():'';if(!_0x58ce08)continue;const _0x52fc59=findAppByCode(_0xddafdf[_0x49f229(0x1fb)],_0x58ce08);if(!_0xae25c2&&_0x52fc59&&!isRuntimeAccessibleApp(_0x52fc59))continue;_0x214aeb+=0x1,_0x3c2839[_0x49f229(0x1f5)]({'name':_0x5bb141,'appcode':_0x58ce08,'named':!![],'definedIn':_0x49f229(0x20e),'isDefault':_0x5bb141===_0x1668be,...buildAppProfileListFields(_0x5a6551),'source':_0x49f229(0x213),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x3c2839,_0x2cbcf8[_0x49f229(0x216)]);const _0x455389=_0x3c2839[_0x49f229(0x1f9)](_0x271433=>_0x271433['isCurrent']===!![]),_0x37dcda=_0x1668be??_0x455389?.[_0x49f229(0x212)]??null,_0xfa48e2={'env':_0x5a6551,'source':_0xddafdf[_0x49f229(0x224)],'fetchedAt':_0xddafdf[_0x49f229(0x203)],'cachePath':_0xddafdf['cachePath'],'globalPath':_0x528a84['globalPath']??null,'projectPath':_0x528a84['projectPath']??null,'defaultApp':_0x37dcda,'defaultAppSource':_0x1668be!=null?_0x13939c:null,'localAliasCount':_0x214aeb,'remoteTotal':_0xddafdf[_0x49f229(0x1fb)][_0x49f229(0x1f4)],'hiddenUnpublishedCount':_0x2972e7,'includeUnpublished':_0xae25c2};if(_0x3c2839[_0x49f229(0x1f4)]===0x0)return{'ok':!![],'data':{'items':_0x3c2839,'meta':_0xfa48e2},'message':_0xddafdf[_0x49f229(0x224)]===_0x49f229(0x22e)?'No\x20cached\x20apps\x20found.':_0x49f229(0x1fe)};return{'ok':!![],'data':{'items':_0x3c2839,'meta':_0xfa48e2}};}},pullDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x22f),'description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':a3_0x5de759(0x207),'confirmationDescription':a3_0x5de759(0x200),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x5de759(0x208),'type':a3_0x5de759(0x21e),'description':a3_0x5de759(0x20c),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x5de759(0x20e),'type':a3_0x5de759(0x21f),'description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x5de759(0x21f),'description':a3_0x5de759(0x20d),'default':![]}],async 'execute'(_0x24ae4e){const _0x54ff0e=a3_0x5de759,_0x86bea2=_0x24ae4e[_0x54ff0e(0x20f)](_0x54ff0e(0x208))||_0x24ae4e[_0x54ff0e(0x1f6)]||getEnv()||_0x54ff0e(0x230),_0x58d8f6=_0x24ae4e['bool'](_0x54ff0e(0x20e)),_0x4258a2=_0x24ae4e[_0x54ff0e(0x1fd)]('no-cache'),{getRemoteAppList:_0x4c01bd}=await import(_0x54ff0e(0x219)),_0x32af82=await _0x4c01bd({'env':_0x86bea2,'accessKey':_0x24ae4e['accessKey'],'localOnly':_0x58d8f6,'noCache':_0x4258a2});return{'ok':!![],'data':{'total':_0x32af82[_0x54ff0e(0x1fb)][_0x54ff0e(0x1f4)],'env':_0x86bea2,'source':_0x32af82[_0x54ff0e(0x224)],'fetchedAt':_0x32af82[_0x54ff0e(0x203)],'cachePath':_0x32af82[_0x54ff0e(0x217)]},'message':_0x32af82['source']===_0x54ff0e(0x22e)?_0x54ff0e(0x211)+_0x32af82[_0x54ff0e(0x1fb)][_0x54ff0e(0x1f4)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x86bea2+'\x22.':_0x54ff0e(0x227)+_0x32af82['items'][_0x54ff0e(0x1f4)]+_0x54ff0e(0x202)+_0x86bea2+'\x22.'};}},importDef={'service':a3_0x5de759(0x21a),'command':a3_0x5de759(0x231),'description':a3_0x5de759(0x20a),'risk':a3_0x5de759(0x207),'confirmationDescription':a3_0x5de759(0x226),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x307504){return await runAppImport(collectFlags(_0x307504,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2ecf5c,_0x409723){const _0x36b542=a4_0x3e11,_0x5e8330=_0x2ecf5c();while(!![]){try{const _0x52446a=-parseInt(_0x36b542(0x19f))/0x1*(-parseInt(_0x36b542(0x198))/0x2)+parseInt(_0x36b542(0x19e))/0x3+parseInt(_0x36b542(0x1a3))/0x4*(parseInt(_0x36b542(0x1a7))/0x5)+parseInt(_0x36b542(0x19b))/0x6*(-parseInt(_0x36b542(0x199))/0x7)+parseInt(_0x36b542(0x1a8))/0x8+parseInt(_0x36b542(0x194))/0x9*(parseInt(_0x36b542(0x1a4))/0xa)+-parseInt(_0x36b542(0x196))/0xb;if(_0x52446a===_0x409723)break;else _0x5e8330['push'](_0x5e8330['shift']());}catch(_0x2b0583){_0x5e8330['push'](_0x5e8330['shift']());}}}(a4_0x5c5f,0x7f55a));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';function a4_0x3e11(_0x307b74,_0x485a5f){_0x307b74=_0x307b74-0x192;const _0x5c5ffd=a4_0x5c5f();let _0x3e11da=_0x5c5ffd[_0x307b74];return _0x3e11da;}import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x2c2196){const _0x3da48a=a4_0x3e11;if(typeof _0x2c2196!=='string')return null;const _0x5eb9d6=_0x2c2196[_0x3da48a(0x195)]();return _0x5eb9d6?_0x5eb9d6[_0x3da48a(0x192)]():null;}export function isRuntimeAccessibleApp(_0x34af32){const _0x4af1cb=a4_0x3e11;return normalizeAppPublishStatus(_0x34af32[_0x4af1cb(0x1a6)])===RUNTIME_ACCESSIBLE_APP_STATUS;}function a4_0x5c5f(){const _0x2da02a=['App\x20','2077998fwCQvl','6917CfaKqH','find','validation','.\x20Publish\x20the\x20app\x20before\x20using\x20','16PCOayv','64510TVUjnT','UNKNOWN','appPublishStatus','816560iWhlFz','5052568xElPeZ','toUpperCase','Current\x20status:\x20','981vjFxVr','trim','18861007THSkpp','appName','2xOKNrN','21NkzsEm','filter','902724OqToMw','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.'];a4_0x5c5f=function(){return _0x2da02a;};return a4_0x5c5f();}export function filterRuntimeAccessibleApps(_0x7394d7){const _0x2ccfa1=a4_0x3e11;return _0x7394d7[_0x2ccfa1(0x19a)](isRuntimeAccessibleApp);}export function findAppByName(_0x128f13,_0x5b7883){const _0x28d0b9=a4_0x3e11;return _0x128f13['find'](_0x57fa6b=>_0x57fa6b[_0x28d0b9(0x197)]===_0x5b7883);}export function findAppByCode(_0x523b3b,_0x4684b2){const _0x5f18fb=a4_0x3e11,_0x208de0=_0x4684b2['trim']();if(!_0x208de0)return undefined;return _0x523b3b[_0x5f18fb(0x1a0)](_0x54b866=>_0x54b866['appCode']?.['trim']()===_0x208de0);}export function runtimeInaccessibleAppError(_0x2e1492,_0x329722){const _0x18f28c=a4_0x3e11,_0x122a9c=normalizeAppPublishStatus(_0x2e1492[_0x18f28c(0x1a6)])??_0x18f28c(0x1a5);return CliErrors[_0x18f28c(0x1a1)](_0x18f28c(0x19d)+_0x329722+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0x18f28c(0x193)+_0x122a9c+_0x18f28c(0x1a2)+CLI_BIN_NAME+_0x18f28c(0x19c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x25b9ef,_0x129653){const _0x367fb0=a5_0x30f3,_0x136fca=_0x25b9ef();while(!![]){try{const _0x1edc9a=parseInt(_0x367fb0(0x171))/0x1*(-parseInt(_0x367fb0(0x162))/0x2)+-parseInt(_0x367fb0(0x168))/0x3*(-parseInt(_0x367fb0(0x163))/0x4)+-parseInt(_0x367fb0(0x16c))/0x5*(parseInt(_0x367fb0(0x16f))/0x6)+parseInt(_0x367fb0(0x16a))/0x7*(parseInt(_0x367fb0(0x16b))/0x8)+-parseInt(_0x367fb0(0x16e))/0x9+parseInt(_0x367fb0(0x161))/0xa+-parseInt(_0x367fb0(0x172))/0xb*(-parseInt(_0x367fb0(0x167))/0xc);if(_0x1edc9a===_0x129653)break;else _0x136fca['push'](_0x136fca['shift']());}catch(_0x345fee){_0x136fca['push'](_0x136fca['shift']());}}}(a5_0x31ce,0x6954e));import{fileURLToPath}from'url';function a5_0x31ce(){const _0x30b0a7=['6344YGoHth','parse','errorCode','Mock\x20API\x20error:\x20','928140BoFnFw','471XOcvvM','utf-8','525TwElhS','89656CxrtRf','242145DFKWuN','tableData','6008922zzAKny','24LRoKLO','data','790067VoWBkR','132EYrRkJ','errorMsg','652120xPQHUC','2KBuBum'];a5_0x31ce=function(){return _0x30b0a7;};return a5_0x31ce();}import{dirname,join}from'path';import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x1efa4e=a5_0x30f3,_0x5d01b5=join(__dirname,'../../../mock/app-list.json'),_0x3297b6=readFileSync(_0x5d01b5,_0x1efa4e(0x169));return JSON[_0x1efa4e(0x164)](_0x3297b6);}function a5_0x30f3(_0x3e2d39,_0x101f78){_0x3e2d39=_0x3e2d39-0x161;const _0x31ce51=a5_0x31ce();let _0x30f30c=_0x31ce51[_0x3e2d39];return _0x30f30c;}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x10e997=a5_0x30f3,_0x47215b=getMockAppList();if(!_0x47215b['success'])throw new Error(_0x10e997(0x166)+_0x47215b[_0x10e997(0x173)]+'\x20('+_0x47215b[_0x10e997(0x165)]+')');return _0x47215b[_0x10e997(0x170)][_0x10e997(0x16d)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3de87d,_0x413f90){const _0x6f15cb=a6_0x3e09,_0x39280b=_0x3de87d();while(!![]){try{const _0x45854a=parseInt(_0x6f15cb(0x11e))/0x1*(-parseInt(_0x6f15cb(0x114))/0x2)+parseInt(_0x6f15cb(0x115))/0x3*(parseInt(_0x6f15cb(0x11d))/0x4)+-parseInt(_0x6f15cb(0x10e))/0x5*(parseInt(_0x6f15cb(0x111))/0x6)+parseInt(_0x6f15cb(0x117))/0x7*(parseInt(_0x6f15cb(0x10f))/0x8)+parseInt(_0x6f15cb(0x11b))/0x9+parseInt(_0x6f15cb(0x11a))/0xa+parseInt(_0x6f15cb(0x119))/0xb;if(_0x45854a===_0x413f90)break;else _0x39280b['push'](_0x39280b['shift']());}catch(_0x570b5f){_0x39280b['push'](_0x39280b['shift']());}}}(a6_0xeb8f,0x22189));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';function a6_0x3e09(_0x2127c7,_0x1ec0ba){_0x2127c7=_0x2127c7-0x10d;const _0xeb8ffe=a6_0xeb8f();let _0x3e096a=_0xeb8ffe[_0x2127c7];return _0x3e096a;}export function shouldUseMockRemoteApps(){const _0x3820bd=a6_0x3e09,_0x32880a=(productEnv(_0x3820bd(0x118))||'')[_0x3820bd(0x116)]()[_0x3820bd(0x110)]();return _0x32880a===_0x3820bd(0x112);}function a6_0xeb8f(){const _0x351191=['447161KdOjse','561760eSYYJW','432261IoiOzO','fetchedAt','4RKhMmQ','1ICGzQU','cache','1945kFdZad','21752zTTCnn','toLowerCase','3678jLwKPs','mock','items','47890bSnAIj','298503VvnepN','trim','406IiycyK','APP_LIST_SOURCE'];a6_0xeb8f=function(){return _0x351191;};return a6_0xeb8f();}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x52a3a4){const _0x166d87=a6_0x3e09,{env:_0x2a6f11,accessKey:_0x3e6599,localOnly:localOnly=![],noCache:noCache=![]}=_0x52a3a4,_0x544d9b=readCachedAppList(_0x2a6f11,_0x3e6599),_0x56c500=_0x3e6599?.[_0x166d87(0x116)]()?getAppCacheFilePath(_0x2a6f11,_0x3e6599):null;if(localOnly)return{'items':_0x544d9b?.[_0x166d87(0x113)]??[],'source':'cache','fetchedAt':_0x544d9b?.[_0x166d87(0x11c)]??null,'cachePath':_0x56c500};try{const _0x1e337c=await getRemoteAppItems(),_0x485e19=shouldUseMockRemoteApps()?_0x166d87(0x112):'remote',_0x4f5b16=new Date()['toISOString'](),_0x13d830=_0x3e6599?.[_0x166d87(0x116)]()?writeCachedAppList(_0x2a6f11,_0x3e6599,{'env':_0x2a6f11,'fetchedAt':_0x4f5b16,'source':_0x485e19,'items':_0x1e337c}):null;return{'items':_0x1e337c,'source':_0x485e19,'fetchedAt':_0x4f5b16,'cachePath':_0x13d830};}catch(_0x4d6331){if(!noCache&&_0x544d9b)return{'items':_0x544d9b[_0x166d87(0x113)],'source':_0x166d87(0x10d),'fetchedAt':_0x544d9b[_0x166d87(0x11c)],'cachePath':_0x56c500};throw _0x4d6331;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a7_0x41ba(){const _0x47bb1b=['11094350vMGSVh','name','currentApp','local','91414ANAqwZ','2243540wjTEHW','find','11020038MEALeN','3Yjnzpy','25004287wcZrhY','appcode','709820NLChrP','9pXaUfk','6407723QyPblW','named','defaultApp','trim','4EReYPC','isCurrent','appCode','definedIn','8PCypaq'];a7_0x41ba=function(){return _0x47bb1b;};return a7_0x41ba();}function a7_0x3788(_0x3a82a0,_0x4bd2bf){_0x3a82a0=_0x3a82a0-0x109;const _0x41baa6=a7_0x41ba();let _0x378895=_0x41baa6[_0x3a82a0];return _0x378895;}(function(_0x1f3f99,_0x5e9519){const _0x2a655a=a7_0x3788,_0x4ae59b=_0x1f3f99();while(!![]){try{const _0x3e8cf9=-parseInt(_0x2a655a(0x118))/0x1+parseInt(_0x2a655a(0x111))/0x2*(parseInt(_0x2a655a(0x115))/0x3)+parseInt(_0x2a655a(0x11e))/0x4*(-parseInt(_0x2a655a(0x112))/0x5)+parseInt(_0x2a655a(0x114))/0x6+parseInt(_0x2a655a(0x11a))/0x7*(-parseInt(_0x2a655a(0x10c))/0x8)+-parseInt(_0x2a655a(0x119))/0x9*(parseInt(_0x2a655a(0x10d))/0xa)+parseInt(_0x2a655a(0x116))/0xb;if(_0x3e8cf9===_0x5e9519)break;else _0x4ae59b['push'](_0x4ae59b['shift']());}catch(_0x2b43ed){_0x4ae59b['push'](_0x4ae59b['shift']());}}}(a7_0x41ba,0xed571));export function enrichAppListItemsWithMergedSelection(_0xab6236,_0xeda24f){const _0xc19f14=a7_0x3788;if(!_0xeda24f)return;const _0x16dfa7=!!(_0xeda24f[_0xc19f14(0x10f)]??_0xeda24f['defaultApp']);for(const _0x166097 of _0xab6236){_0x166097[_0xc19f14(0x109)]=![];}const _0x1f6588=_0xeda24f['appCode']!=null?String(_0xeda24f[_0xc19f14(0x10a)])[_0xc19f14(0x11d)]():'';if(_0x16dfa7){const _0x5e57bd=_0xeda24f['currentApp']??_0xeda24f[_0xc19f14(0x11c)];if(_0x5e57bd){const _0x182525=_0xab6236['find'](_0x46317b=>_0x46317b[_0xc19f14(0x11b)]===!![]&&_0x46317b[_0xc19f14(0x10e)]===_0x5e57bd&&_0x46317b[_0xc19f14(0x10b)]===_0xc19f14(0x110)),_0x2b97dc=_0x182525??_0xab6236[_0xc19f14(0x113)](_0x2995ed=>_0x2995ed[_0xc19f14(0x11b)]===!![]&&_0x2995ed[_0xc19f14(0x10e)]===_0x5e57bd);if(_0x2b97dc){const _0x3dc307=String(_0x2b97dc['appcode']??'')[_0xc19f14(0x11d)]();if(!_0x1f6588||_0x3dc307===_0x1f6588){_0x2b97dc[_0xc19f14(0x109)]=!![];return;}}}if(_0x1f6588){const _0x3ca7b3=_0xab6236[_0xc19f14(0x113)](_0x2b46ab=>String(_0x2b46ab[_0xc19f14(0x117)]??'')[_0xc19f14(0x11d)]()===_0x1f6588);_0x3ca7b3&&(_0x3ca7b3[_0xc19f14(0x109)]=!![]);}return;}if(!_0x1f6588)return;for(const _0x25567e of _0xab6236){String(_0x25567e['appcode']??'')['trim']()===_0x1f6588&&(_0x25567e[_0xc19f14(0x109)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x14b80f=a8_0x43ed;function a8_0x43ed(_0x82148e,_0x2b676d){_0x82148e=_0x82148e-0x1b2;const _0x2fb03f=a8_0x2fb0();let _0x43ed5e=_0x2fb03f[_0x82148e];return _0x43ed5e;}function a8_0x2fb0(){const _0x33e3d1=['130897MRqwqp','379XsFWTx','1314kBlnxX','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','121rYtcbv','validation','18TzVoWH','Usage:\x20','174896cvxFPr','key','args','app-config','35lyDjqw','40440vWPbqX','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','2904aThmNI','Missing\x20app-config\x20key.','Unable\x20to\x20get\x20app-config\x20value:\x20key=','appCode','485592aiTTyh','get','34944FRQssa','3888558gCWisC',',\x20appCode=','7928xcKjfR','trim'];a8_0x2fb0=function(){return _0x33e3d1;};return a8_0x2fb0();}(function(_0x215d66,_0x416f4d){const _0x1f489b=a8_0x43ed,_0x2ac698=_0x215d66();while(!![]){try{const _0x45d08a=parseInt(_0x1f489b(0x1c8))/0x1*(parseInt(_0x1f489b(0x1c5))/0x2)+-parseInt(_0x1f489b(0x1c3))/0x3+parseInt(_0x1f489b(0x1c0))/0x4*(-parseInt(_0x1f489b(0x1b9))/0x5)+-parseInt(_0x1f489b(0x1c9))/0x6*(parseInt(_0x1f489b(0x1c2))/0x7)+-parseInt(_0x1f489b(0x1b5))/0x8*(-parseInt(_0x1f489b(0x1b3))/0x9)+parseInt(_0x1f489b(0x1ba))/0xa*(parseInt(_0x1f489b(0x1cb))/0xb)+parseInt(_0x1f489b(0x1bc))/0xc*(parseInt(_0x1f489b(0x1c7))/0xd);if(_0x45d08a===_0x416f4d)break;else _0x2ac698['push'](_0x2ac698['shift']());}catch(_0x3e6e50){_0x2ac698['push'](_0x2ac698['shift']());}}}(a8_0x2fb0,0xc064a));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x14b80f(0x1b8),'command':a8_0x14b80f(0x1c1),'description':a8_0x14b80f(0x1ca),'risk':'read','args':[{'name':a8_0x14b80f(0x1b6),'description':'App\x20config\x20key','required':!![]}],'flags':[],async 'execute'(_0x3405fa){const _0x303a05=a8_0x14b80f,_0x15b637=_0x3405fa[_0x303a05(0x1b7)][0x0]?.[_0x303a05(0x1c6)]();if(!_0x15b637)throw CliErrors[_0x303a05(0x1b2)](_0x303a05(0x1bd),_0x303a05(0x1b4)+CLI_BIN_NAME+'\x20app-config\x20get\x20<key>');try{const _0xa5b114=await getRuntimeAppConfigByKey(_0x3405fa[_0x303a05(0x1bf)],_0x15b637);return{'ok':!![],'data':_0xa5b114};}catch{throw CliErrors['apiError'](_0x303a05(0x1be)+_0x15b637+_0x303a05(0x1c4)+_0x3405fa['appCode'],_0x303a05(0x1bb));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a9_0x4f1c(_0x194b1b,_0x4f8ce3){_0x194b1b=_0x194b1b-0x97;const _0x4dd0cf=a9_0x4dd0();let _0x4f1c2e=_0x4dd0cf[_0x194b1b];return _0x4f1c2e;}(function(_0x3b7ce5,_0x5ed628){const _0x59a6fa=a9_0x4f1c,_0x1b044f=_0x3b7ce5();while(!![]){try{const _0x5ea1b2=parseInt(_0x59a6fa(0x97))/0x1*(parseInt(_0x59a6fa(0x9c))/0x2)+parseInt(_0x59a6fa(0x98))/0x3+-parseInt(_0x59a6fa(0x99))/0x4+-parseInt(_0x59a6fa(0x9b))/0x5+parseInt(_0x59a6fa(0x9d))/0x6+parseInt(_0x59a6fa(0x9e))/0x7+-parseInt(_0x59a6fa(0x9a))/0x8;if(_0x5ea1b2===_0x5ed628)break;else _0x1b044f['push'](_0x1b044f['shift']());}catch(_0x170acb){_0x1b044f['push'](_0x1b044f['shift']());}}}(a9_0x4dd0,0x3fe53));function a9_0x4dd0(){const _0x3e533d=['881750ZbIxks','2305566tjCypy','1713376gMQqKC','1MvSXkk','1373466bmDeRV','1894616ufNbfO','6009144hvdPVg','206070YyrqtB'];a9_0x4dd0=function(){return _0x3e533d;};return a9_0x4dd0();}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x51173c=a10_0x58c7;(function(_0x1e5e69,_0x1fbb59){const _0x18036e=a10_0x58c7,_0x2af223=_0x1e5e69();while(!![]){try{const _0x24d278=-parseInt(_0x18036e(0x207))/0x1*(-parseInt(_0x18036e(0x1f9))/0x2)+parseInt(_0x18036e(0x1ee))/0x3*(-parseInt(_0x18036e(0x20b))/0x4)+-parseInt(_0x18036e(0x20f))/0x5+parseInt(_0x18036e(0x201))/0x6*(parseInt(_0x18036e(0x215))/0x7)+parseInt(_0x18036e(0x1f4))/0x8+parseInt(_0x18036e(0x20c))/0x9+-parseInt(_0x18036e(0x218))/0xa;if(_0x24d278===_0x1fbb59)break;else _0x2af223['push'](_0x2af223['shift']());}catch(_0x3807ea){_0x2af223['push'](_0x2af223['shift']());}}}(a10_0x3efa,0x22612));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x51173c(0x224),ARTIFACT_SOURCE_AGENT=a10_0x51173c(0x213),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x51173c(0x22e),a10_0x51173c(0x221),a10_0x51173c(0x21d),a10_0x51173c(0x200),a10_0x51173c(0x1ea)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x51173c(0x1f2),'type':a10_0x51173c(0x20a),'required':!![],'description':a10_0x51173c(0x22d)},ARTIFACT_NAME_FLAG={'name':a10_0x51173c(0x203),'type':a10_0x51173c(0x20a),'description':a10_0x51173c(0x225)},METADATA_FLAG={'name':a10_0x51173c(0x216),'type':a10_0x51173c(0x20a),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x500f66){const _0x5c9f3b=a10_0x51173c;return typeof _0x500f66===_0x5c9f3b(0x1ec)&&_0x500f66!==null&&!Array[_0x5c9f3b(0x20d)](_0x500f66);}function readSourceFile(_0x106e4a){const _0x925f9e=a10_0x51173c;if(!_0x106e4a)throw CliErrors[_0x925f9e(0x223)](_0x925f9e(0x208));if(!existsSync(_0x106e4a))throw CliErrors[_0x925f9e(0x223)]('File\x20not\x20found:\x20'+_0x106e4a);if(!statSync(_0x106e4a)['isFile']())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x106e4a);const _0x4d4e1e=readFileSync(_0x106e4a,_0x925f9e(0x22b));return validateReactModuleSource(_0x4d4e1e),_0x4d4e1e;}function parseMetadata(_0x191c1b){const _0x536f15=a10_0x51173c;if(!_0x191c1b)return undefined;let _0x23d915;try{_0x23d915=JSON[_0x536f15(0x22c)](_0x191c1b);}catch{throw CliErrors[_0x536f15(0x223)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x191c1b);}if(!isPlainObject(_0x23d915))throw CliErrors[_0x536f15(0x223)](_0x536f15(0x1f6));const _0x484022={..._0x23d915};return delete _0x484022[_0x536f15(0x202)],_0x484022;}function a10_0x58c7(_0x3e350f,_0x5e172c){_0x3e350f=_0x3e350f-0x1e4;const _0x3efadf=a10_0x3efa();let _0x58c7db=_0x3efadf[_0x3e350f];return _0x58c7db;}function a10_0x3efa(){const _0x1469ce=['str','update','26KHlLgt','File\x20path\x20is\x20required.','detail','string','78620vKGpNV','1903527fnXXET','isArray','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','33635TWZclr','Created\x20Artifact\x20','write','Preview:\x20create\x20react_module\x20Artifact','AGENT','appCode','2093jJDeuY','metadata','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','3518590FVCuYm','includes','data','artifactType','/client/artifact/create','dayjs','body','filter','createTime','lodash','exec','validation','react_module','Artifact\x20display\x20name','description','Show\x20one\x20Artifact\x20by\x20id','.\x20Unsupported:\x20','some','List\x20current-app\x20react_module\x20Artifacts','utf8','parse','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','react-dom','artifact','create','bool','source','length','POST','startsWith','test','trim','@ant-design/icons','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','object','build','24hlRWMM','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','Updated\x20Artifact\x20','Artifact\x20ID','file','num','982968XPjNzc','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','split','read','20834YlqTTu','map','content','lastIndex','/update','flag','number','antd','1032nquIVD','compiledContent','name','favorite'];a10_0x3efa=function(){return _0x1469ce;};return a10_0x3efa();}function getPackageName(_0x33d33a){const _0x27250c=a10_0x51173c;if(_0x33d33a[_0x27250c(0x1e7)]('@')){const [_0x1a6741,_0x28d691]=_0x33d33a[_0x27250c(0x1f7)]('/');return _0x1a6741&&_0x28d691?_0x1a6741+'/'+_0x28d691:_0x33d33a;}return _0x33d33a[_0x27250c(0x1f7)]('/')[0x0]||_0x33d33a;}function validateAllowedImports(_0x3f056d){const _0x465f53=a10_0x51173c,_0xe35662=new Set();for(const _0x93781c of IMPORT_SOURCE_PATTERNS){_0x93781c[_0x465f53(0x1fc)]=0x0;let _0xa421ee;while((_0xa421ee=_0x93781c[_0x465f53(0x222)](_0x3f056d))!==null){const _0x15190a=_0xa421ee[0x1]?.[_0x465f53(0x1e9)]();_0x15190a&&_0xe35662['add'](_0x15190a);}}const _0x4146be=[..._0xe35662][_0x465f53(0x1fa)](getPackageName)[_0x465f53(0x21f)](_0xfc05a=>!ALLOWED_REACT_MODULE_IMPORTS[_0x465f53(0x219)](_0xfc05a));if(_0x4146be[_0x465f53(0x1e5)]>0x0)throw CliErrors['validation']('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x465f53(0x228)+[...new Set(_0x4146be)]['join'](',\x20'));}export function validateReactModuleSource(_0x48de58){const _0x257d45=a10_0x51173c;if(!_0x48de58['trim']())throw CliErrors[_0x257d45(0x223)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x257d45(0x229)](_0x1e46e4=>_0x1e46e4[_0x257d45(0x1e8)](_0x48de58)))throw CliErrors[_0x257d45(0x223)](_0x257d45(0x1f5));validateAllowedImports(_0x48de58);}function buildArtifactInput(_0x5d91ad){const _0x970843=a10_0x51173c,_0x1e25c3=readSourceFile(_0x5d91ad[_0x970843(0x205)](_0x970843(0x1f2))),_0xd66ab1=_0x5d91ad[_0x970843(0x205)](_0x970843(0x203))['trim'](),_0x3013e2=parseMetadata(_0x5d91ad[_0x970843(0x205)](_0x970843(0x216)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0xd66ab1?{'name':_0xd66ab1}:{},'content':_0x1e25c3,..._0x3013e2?{'metadata':_0x3013e2}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0xa45e9){const _0x45bdbd=a10_0x51173c;return{'id':_0xa45e9['id'],'name':_0xa45e9[_0x45bdbd(0x203)],'artifactType':_0xa45e9[_0x45bdbd(0x21b)],'source':_0xa45e9[_0x45bdbd(0x1e4)],'favorite':_0xa45e9[_0x45bdbd(0x204)],'deleted':_0xa45e9['deleted'],'createTime':_0xa45e9[_0x45bdbd(0x220)],'updateTime':_0xa45e9['updateTime']};}function detailArtifact(_0x3f7081){const _0xf860ee=a10_0x51173c;return{'id':_0x3f7081['id'],'appCode':_0x3f7081[_0xf860ee(0x214)],'name':_0x3f7081[_0xf860ee(0x203)],'artifactType':_0x3f7081[_0xf860ee(0x21b)],'source':_0x3f7081[_0xf860ee(0x1e4)],'favorite':_0x3f7081['favorite'],'deleted':_0x3f7081['deleted'],'content':_0x3f7081[_0xf860ee(0x1fb)]??'','compiledContent':_0x3f7081[_0xf860ee(0x202)],'metadata':_0x3f7081[_0xf860ee(0x216)]??{},'createTime':_0x3f7081[_0xf860ee(0x220)],'updateTime':_0x3f7081['updateTime']};}function readFavoriteFlag(_0x2d047f){const _0x390048=a10_0x51173c,_0x413e14=_0x2d047f[_0x390048(0x1fe)]('favorite');return _0x413e14===undefined||_0x413e14===null||_0x413e14===''?undefined:_0x2d047f[_0x390048(0x231)](_0x390048(0x204));}const artifactList={'service':'artifact','command':'list','description':a10_0x51173c(0x22a),'risk':a10_0x51173c(0x1f8),'flags':[{'name':'source','type':a10_0x51173c(0x20a),'description':a10_0x51173c(0x217)},{'name':a10_0x51173c(0x204),'type':'boolean','description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x405e39){const _0x498266=a10_0x51173c,_0x8c820e=await listRuntimeArtifacts(_0x405e39['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x405e39[_0x498266(0x205)]('source')?{'source':_0x405e39[_0x498266(0x205)](_0x498266(0x1e4))}:{},...readFavoriteFlag(_0x405e39)!==undefined?{'favorite':readFavoriteFlag(_0x405e39)}:{}});return{'ok':!![],'data':{'total':_0x8c820e[_0x498266(0x1e5)],'items':_0x405e39[_0x498266(0x231)]('verbose')?_0x8c820e:_0x8c820e[_0x498266(0x1fa)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x209),'description':a10_0x51173c(0x227),'risk':a10_0x51173c(0x1f8),'flags':[{...ID_FLAG,'description':a10_0x51173c(0x1f1)}],async 'execute'(_0x331c20){const _0x3f3d83=a10_0x51173c,_0x2f2b49=await getRuntimeArtifact(_0x331c20[_0x3f3d83(0x1f3)]('id'),_0x331c20[_0x3f3d83(0x214)]);return{'ok':!![],'data':detailArtifact(_0x2f2b49)};}},artifactCreate={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x230),'description':a10_0x51173c(0x1eb),'risk':a10_0x51173c(0x211),'confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x13cd29){const _0x5adcc0=a10_0x51173c,_0x31d00c=buildArtifactInput(_0x13cd29),_0x5dd733=await createRuntimeArtifact(_0x13cd29[_0x5adcc0(0x214)],_0x31d00c);return{'ok':!![],'data':detailArtifact(_0x5dd733),'message':_0x5adcc0(0x210)+_0x5dd733['id']+(_0x5dd733[_0x5adcc0(0x203)]?'\x20('+_0x5dd733[_0x5adcc0(0x203)]+')':'')};},async 'dryRun'(_0x32dcb3){const _0x1df375=a10_0x51173c,_0x29a9bb=buildArtifactInput(_0x32dcb3);return dryRun(_0x1df375(0x1e6),_0x1df375(0x21c))[_0x1df375(0x21e)]({'appCode':_0x32dcb3['appCode'],..._0x29a9bb})[_0x1df375(0x226)](_0x1df375(0x212))['build']();},'writeEventSubject'(_0x3a9190){const _0xa86a42=a10_0x51173c,_0x376e31=_0x3a9190['data']?.['id'];if(typeof _0x376e31!==_0xa86a42(0x20a)&&typeof _0x376e31!=='number')return undefined;return{'kind':_0xa86a42(0x22f),'id':String(_0x376e31),'action':_0xa86a42(0x230)};}},artifactUpdate={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x206),'description':a10_0x51173c(0x1ef),'risk':a10_0x51173c(0x211),'confirmationDescription':a10_0x51173c(0x20e),'flags':[{...ID_FLAG,'description':a10_0x51173c(0x1f1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x768e1e){const _0x47350b=a10_0x51173c,_0x2887b5=_0x768e1e[_0x47350b(0x1f3)]('id'),_0x410c04=buildArtifactInput(_0x768e1e),_0xe70c67=await updateRuntimeArtifact(_0x2887b5,_0x768e1e[_0x47350b(0x214)],_0x410c04);return{'ok':!![],'data':detailArtifact(_0xe70c67),'message':_0x47350b(0x1f0)+_0xe70c67['id']+(_0xe70c67['name']?'\x20('+_0xe70c67[_0x47350b(0x203)]+')':'')};},async 'dryRun'(_0x418e96){const _0xd53e6a=a10_0x51173c,_0x24685b=_0x418e96['num']('id'),_0x4fce99=buildArtifactInput(_0x418e96);return dryRun(_0xd53e6a(0x1e6),'/client/artifact/'+_0x24685b+_0xd53e6a(0x1fd))['body']({'appCode':_0x418e96[_0xd53e6a(0x214)],..._0x4fce99})['description']('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x24685b)[_0xd53e6a(0x1ed)]();},'writeEventSubject'(_0x134117){const _0x306f68=a10_0x51173c,_0x5c625d=_0x134117[_0x306f68(0x21a)]?.['id'];if(typeof _0x5c625d!==_0x306f68(0x20a)&&typeof _0x5c625d!==_0x306f68(0x1ff))return undefined;return{'kind':_0x306f68(0x22f),'id':String(_0x5c625d),'action':_0x306f68(0x206)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x71faa0=a10_0x2b0c;(function(_0x57027c,_0x43f27f){const _0x5ce3d4=a10_0x2b0c,_0x4f1c7f=_0x57027c();while(!![]){try{const _0x1db73a=-parseInt(_0x5ce3d4(0x1a0))/0x1*(-parseInt(_0x5ce3d4(0x186))/0x2)+-parseInt(_0x5ce3d4(0x191))/0x3+parseInt(_0x5ce3d4(0x1ac))/0x4+-parseInt(_0x5ce3d4(0x19d))/0x5*(parseInt(_0x5ce3d4(0x190))/0x6)+-parseInt(_0x5ce3d4(0x17e))/0x7*(-parseInt(_0x5ce3d4(0x193))/0x8)+parseInt(_0x5ce3d4(0x187))/0x9+-parseInt(_0x5ce3d4(0x1b1))/0xa*(parseInt(_0x5ce3d4(0x168))/0xb);if(_0x1db73a===_0x43f27f)break;else _0x4f1c7f['push'](_0x4f1c7f['shift']());}catch(_0x44ddd0){_0x4f1c7f['push'](_0x4f1c7f['shift']());}}}(a10_0x29e5,0x400f4));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x71faa0(0x194),ARTIFACT_SOURCE_AGENT=a10_0x71faa0(0x1b7),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x71faa0(0x199),a10_0x71faa0(0x1ab),'lodash',a10_0x71faa0(0x16e),a10_0x71faa0(0x172),a10_0x71faa0(0x16d)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x71faa0(0x182),'type':a10_0x71faa0(0x1a1),'required':!![],'description':a10_0x71faa0(0x17d)},ARTIFACT_NAME_FLAG={'name':a10_0x71faa0(0x1af),'type':'string','description':a10_0x71faa0(0x170)},METADATA_FLAG={'name':a10_0x71faa0(0x18d),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x173)};function isPlainObject(_0x305f31){const _0x9f13dc=a10_0x71faa0;return typeof _0x305f31==='object'&&_0x305f31!==null&&!Array[_0x9f13dc(0x198)](_0x305f31);}function a10_0x2b0c(_0x5eda75,_0x1c7347){_0x5eda75=_0x5eda75-0x166;const _0x29e50e=a10_0x29e5();let _0x2b0c2e=_0x29e50e[_0x5eda75];return _0x2b0c2e;}function readSourceFile(_0x26955a){const _0x48b8fa=a10_0x71faa0;if(!_0x26955a)throw CliErrors['validation'](_0x48b8fa(0x1a4));if(!existsSync(_0x26955a))throw CliErrors['validation'](_0x48b8fa(0x18b)+_0x26955a);if(!statSync(_0x26955a)[_0x48b8fa(0x1b5)]())throw CliErrors[_0x48b8fa(0x16a)](_0x48b8fa(0x1a5)+_0x26955a);const _0x382449=readFileSync(_0x26955a,_0x48b8fa(0x166));return validateReactModuleSource(_0x382449),_0x382449;}function parseMetadata(_0x3940d1){const _0x3aa9a1=a10_0x71faa0;if(!_0x3940d1)return undefined;let _0xdd56e0;try{_0xdd56e0=JSON['parse'](_0x3940d1);}catch{throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x195)+_0x3940d1);}if(!isPlainObject(_0xdd56e0))throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x1b4));const _0xb58c08={..._0xdd56e0};return delete _0xb58c08['compiledContent'],_0xb58c08;}function getPackageName(_0x1e0beb){if(_0x1e0beb['startsWith']('@')){const [_0x49b203,_0x38dae2]=_0x1e0beb['split']('/');return _0x49b203&&_0x38dae2?_0x49b203+'/'+_0x38dae2:_0x1e0beb;}return _0x1e0beb['split']('/')[0x0]||_0x1e0beb;}function validateAllowedImports(_0x2e6120){const _0x37a5cc=a10_0x71faa0,_0x55193f=new Set();for(const _0x518145 of IMPORT_SOURCE_PATTERNS){_0x518145[_0x37a5cc(0x17a)]=0x0;let _0x4093ff;while((_0x4093ff=_0x518145['exec'](_0x2e6120))!==null){const _0xed602f=_0x4093ff[0x1]?.[_0x37a5cc(0x18f)]();_0xed602f&&_0x55193f[_0x37a5cc(0x1a8)](_0xed602f);}}const _0x5ae2f8=[..._0x55193f][_0x37a5cc(0x185)](getPackageName)[_0x37a5cc(0x179)](_0x4a5c3c=>!ALLOWED_REACT_MODULE_IMPORTS[_0x37a5cc(0x174)](_0x4a5c3c));if(_0x5ae2f8['length']>0x0)throw CliErrors[_0x37a5cc(0x16a)](_0x37a5cc(0x181)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x37a5cc(0x1b2)+[...new Set(_0x5ae2f8)][_0x37a5cc(0x1a7)](',\x20'));}function a10_0x29e5(){const _0x1bb6e2=['Show\x20one\x20Artifact\x20by\x20id','@ant-design/icons','dayjs','/update','Artifact\x20display\x20name','Optional\x20favorite-state\x20filter','antd','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','includes','deleted','bool','detail','createTime','filter','lastIndex','create','boolean','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','35pQwFqk','some','read','react_module\x20imports\x20are\x20limited\x20to:\x20','file','artifactType','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','map','16XliAMD','1113543HaKANx','Updated\x20Artifact\x20','list','List\x20current-app\x20react_module\x20Artifacts','File\x20not\x20found:\x20','length','metadata','artifact','trim','66162QeqPYN','576318MYsqDA','data','626440ZKoOiJ','react_module','Invalid\x20JSON\x20for\x20--metadata:\x20','source','Created\x20Artifact\x20','isArray','react','favorite','Preview:\x20update\x20react_module\x20Artifact\x20','description','155dgbaIX','num','/client/artifact/','38041PjXfTd','string','test','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','number','join','add','body','appCode','react-dom','1350304tXwKMt','POST','updateTime','name','str','42450veZvPm','.\x20Unsupported:\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','isFile','flag','AGENT','verbose','Artifact\x20source\x20file\x20is\x20blank.','utf8','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','935DlMZFl','Artifact\x20ID','validation','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file'];a10_0x29e5=function(){return _0x1bb6e2;};return a10_0x29e5();}export function validateReactModuleSource(_0x17e384){const _0x5f3183=a10_0x71faa0;if(!_0x17e384['trim']())throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b9));if(PAGE_LEVEL_PATTERNS[_0x5f3183(0x17f)](_0x482ce7=>_0x482ce7[_0x5f3183(0x1a2)](_0x17e384)))throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b3));validateAllowedImports(_0x17e384);}function buildArtifactInput(_0x2df782){const _0x57add8=a10_0x71faa0,_0x500eb0=readSourceFile(_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x182))),_0x47a9df=_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x1af))[_0x57add8(0x18f)](),_0x2ed36a=parseMetadata(_0x2df782[_0x57add8(0x1b0)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x47a9df?{'name':_0x47a9df}:{},'content':_0x500eb0,..._0x2ed36a?{'metadata':_0x2ed36a}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x515418){const _0x1db55e=a10_0x71faa0;return{'id':_0x515418['id'],'name':_0x515418['name'],'artifactType':_0x515418['artifactType'],'source':_0x515418[_0x1db55e(0x196)],'favorite':_0x515418[_0x1db55e(0x19a)],'deleted':_0x515418[_0x1db55e(0x175)],'createTime':_0x515418[_0x1db55e(0x178)],'updateTime':_0x515418['updateTime']};}function detailArtifact(_0x2d959c){const _0x596f72=a10_0x71faa0;return{'id':_0x2d959c['id'],'appCode':_0x2d959c[_0x596f72(0x1aa)],'name':_0x2d959c['name'],'artifactType':_0x2d959c[_0x596f72(0x183)],'source':_0x2d959c['source'],'favorite':_0x2d959c['favorite'],'deleted':_0x2d959c['deleted'],'content':_0x2d959c['content']??'','compiledContent':_0x2d959c['compiledContent'],'metadata':_0x2d959c[_0x596f72(0x18d)]??{},'createTime':_0x2d959c[_0x596f72(0x178)],'updateTime':_0x2d959c[_0x596f72(0x1ae)]};}function readFavoriteFlag(_0x3ca80b){const _0x49abea=a10_0x71faa0,_0x1fc19d=_0x3ca80b[_0x49abea(0x1b6)](_0x49abea(0x19a));return _0x1fc19d===undefined||_0x1fc19d===null||_0x1fc19d===''?undefined:_0x3ca80b[_0x49abea(0x176)](_0x49abea(0x19a));}const artifactList={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x189),'description':a10_0x71faa0(0x18a),'risk':a10_0x71faa0(0x180),'flags':[{'name':a10_0x71faa0(0x196),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x184)},{'name':a10_0x71faa0(0x19a),'type':a10_0x71faa0(0x17c),'description':a10_0x71faa0(0x171)},VERBOSE_FLAG],async 'execute'(_0x2809a2){const _0x4cf866=a10_0x71faa0,_0x396d2a=await listRuntimeArtifacts(_0x2809a2[_0x4cf866(0x1aa)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2809a2['str'](_0x4cf866(0x196))?{'source':_0x2809a2[_0x4cf866(0x1b0)](_0x4cf866(0x196))}:{},...readFavoriteFlag(_0x2809a2)!==undefined?{'favorite':readFavoriteFlag(_0x2809a2)}:{}});return{'ok':!![],'data':{'total':_0x396d2a[_0x4cf866(0x18c)],'items':_0x2809a2[_0x4cf866(0x176)](_0x4cf866(0x1b8))?_0x396d2a:_0x396d2a['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x177),'description':a10_0x71faa0(0x16c),'risk':a10_0x71faa0(0x180),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x4bd93d){const _0xf53b33=a10_0x71faa0,_0x20cb33=await getRuntimeArtifact(_0x4bd93d[_0xf53b33(0x19e)]('id'),_0x4bd93d[_0xf53b33(0x1aa)]);return{'ok':!![],'data':detailArtifact(_0x20cb33)};}},artifactCreate={'service':'artifact','command':a10_0x71faa0(0x17b),'description':a10_0x71faa0(0x16b),'risk':'write','confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x583fde){const _0x142258=a10_0x71faa0,_0x21da9e=buildArtifactInput(_0x583fde),_0x1031cc=await createRuntimeArtifact(_0x583fde[_0x142258(0x1aa)],_0x21da9e);return{'ok':!![],'data':detailArtifact(_0x1031cc),'message':_0x142258(0x197)+_0x1031cc['id']+(_0x1031cc[_0x142258(0x1af)]?'\x20('+_0x1031cc[_0x142258(0x1af)]+')':'')};},async 'dryRun'(_0x242434){const _0x3e0c52=a10_0x71faa0,_0x4611aa=buildArtifactInput(_0x242434);return dryRun(_0x3e0c52(0x1ad),'/client/artifact/create')[_0x3e0c52(0x1a9)]({'appCode':_0x242434['appCode'],..._0x4611aa})[_0x3e0c52(0x19c)]('Preview:\x20create\x20react_module\x20Artifact')['build']();},'writeEventSubject'(_0x3f5eb7){const _0x16cc41=a10_0x71faa0,_0x10d992=_0x3f5eb7['data']?.['id'];if(typeof _0x10d992!==_0x16cc41(0x1a1)&&typeof _0x10d992!==_0x16cc41(0x1a6))return undefined;return{'kind':_0x16cc41(0x18e),'id':String(_0x10d992),'action':_0x16cc41(0x17b)};}},artifactUpdate={'service':a10_0x71faa0(0x18e),'command':'update','description':a10_0x71faa0(0x167),'risk':'write','confirmationDescription':a10_0x71faa0(0x1a3),'flags':[{...ID_FLAG,'description':a10_0x71faa0(0x169)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xbee952){const _0x53aff2=a10_0x71faa0,_0x111d50=_0xbee952['num']('id'),_0x3837db=buildArtifactInput(_0xbee952),_0x3e0b57=await updateRuntimeArtifact(_0x111d50,_0xbee952['appCode'],_0x3837db);return{'ok':!![],'data':detailArtifact(_0x3e0b57),'message':_0x53aff2(0x188)+_0x3e0b57['id']+(_0x3e0b57[_0x53aff2(0x1af)]?'\x20('+_0x3e0b57[_0x53aff2(0x1af)]+')':'')};},async 'dryRun'(_0x3a0ad4){const _0x3274aa=a10_0x71faa0,_0x487962=_0x3a0ad4[_0x3274aa(0x19e)]('id'),_0x540bc4=buildArtifactInput(_0x3a0ad4);return dryRun('POST',_0x3274aa(0x19f)+_0x487962+_0x3274aa(0x16f))[_0x3274aa(0x1a9)]({'appCode':_0x3a0ad4[_0x3274aa(0x1aa)],..._0x540bc4})['description'](_0x3274aa(0x19b)+_0x487962)['build']();},'writeEventSubject'(_0x3cbedc){const _0x414fd4=a10_0x71faa0,_0x56607d=_0x3cbedc[_0x414fd4(0x192)]?.['id'];if(typeof _0x56607d!=='string'&&typeof _0x56607d!==_0x414fd4(0x1a6))return undefined;return{'kind':_0x414fd4(0x18e),'id':String(_0x56607d),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x1389ff=a11_0x412e;(function(_0x5197d7,_0x4dd02f){const _0xf57f31=a11_0x412e,_0x23c55d=_0x5197d7();while(!![]){try{const _0x2fce29=parseInt(_0xf57f31(0x1be))/0x1*(parseInt(_0xf57f31(0x1ac))/0x2)+parseInt(_0xf57f31(0x1e4))/0x3*(-parseInt(_0xf57f31(0x1ed))/0x4)+parseInt(_0xf57f31(0x1e1))/0x5+-parseInt(_0xf57f31(0x1c7))/0x6+-parseInt(_0xf57f31(0x1de))/0x7*(parseInt(_0xf57f31(0x1d0))/0x8)+parseInt(_0xf57f31(0x1ba))/0x9*(-parseInt(_0xf57f31(0x1c5))/0xa)+-parseInt(_0xf57f31(0x1e0))/0xb*(-parseInt(_0xf57f31(0x1cc))/0xc);if(_0x2fce29===_0x4dd02f)break;else _0x23c55d['push'](_0x23c55d['shift']());}catch(_0x3af9ab){_0x23c55d['push'](_0x23c55d['shift']());}}}(a11_0x5656,0x352d1));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x412e(_0x2ac51c,_0x1bf6c3){_0x2ac51c=_0x2ac51c-0x1a3;const _0x56568d=a11_0x5656();let _0x412e5a=_0x56568d[_0x2ac51c];return _0x412e5a;}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';function a11_0x5656(){const _0x325ef9=['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.','parse','status','global','success','4450uDxcob','str','apiError','test','/device-auth?code=','aborted','auth','Device\x20auth\x20API\x20returned\x20HTTP\x20','AccessKey\x20saved\x20to\x20','\x20auth\x20status','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','json','code','Verify:\x20','616014DEWgEn','nonInteractive','Invalid\x20access_key\x20returned\x20by\x20server.','AbortError','1qHhqyk','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','bool','Device\x20authorization\x20cancelled.','SIGINT','Device\x20auth\x20API\x20error\x20(','name','10wmaPPI','randomUUID','125952tZXjiP','\x0dWaiting\x20for\x20authorization...\x20','removeListener','/.device-auth','\x20remaining','3692820bTJzlZ','Invalid\x20device\x20auth\x20response','),\x20retrying...','validation','16GhcuBp','accessKey','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','getTime','Write\x20to\x20project\x20config','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','trim','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','data','Write\x20to\x20global\x20config\x20(default)','networkError','createdAt','lovrabet-cli','1147797DDQSkG','string','22vtMtQU','2171085yoeLFq','padStart','\x20auth\x20device','4449GItUok','stringify','stderr','scope','now','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','device','project','boolean','1124JhnNhN','signal','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','toISOString','write','floor','\x20config.','access_key','cancelled','url-only','source','application/json','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','object','abort'];a11_0x5656=function(){return _0x325ef9;};return a11_0x5656();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x201e13){const _0x2dd6f0=a11_0x412e;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x201e13[_0x2dd6f0(0x1c0)](_0x2dd6f0(0x1aa)),'explicitProject':_0x201e13[_0x2dd6f0(0x1c0)]('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 _0x72ecab=a11_0x412e;return crypto[_0x72ecab(0x1c6)]();}export function buildDeviceAuthUrl(_0x56b13c,_0x4d6d52,_0x3c99b4=a11_0x1389ff(0x1dd)){const _0x447700=a11_0x1389ff;return _0x56b13c+_0x447700(0x1b0)+encodeURIComponent(_0x4d6d52)+'&source='+encodeURIComponent(_0x3c99b4);}export function getDeviceCodePath(){const _0x4a901e=a11_0x1389ff;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x4a901e(0x1ca);}export function readStoredDeviceCode(){const _0x32707a=a11_0x1389ff,_0x206f19=getDeviceCodePath();if(!existsSync(_0x206f19))return null;try{const _0x38cada=readFileSync(_0x206f19,{'encoding':'utf8'}),_0x319449=JSON[_0x32707a(0x1a8)](_0x38cada);if(_0x319449&&typeof _0x319449[_0x32707a(0x1b8)]===_0x32707a(0x1df)&&typeof _0x319449[_0x32707a(0x1dc)]===_0x32707a(0x1df)&&(_0x319449[_0x32707a(0x1e7)]===_0x32707a(0x1aa)||_0x319449[_0x32707a(0x1e7)]===_0x32707a(0x1eb)))return _0x319449;}catch{}return null;}export function writeStoredDeviceCode(_0x139ad6,_0x191318){const _0x28568f=a11_0x1389ff,_0x225dce=getDeviceCodePath(),_0x353198=dirname(_0x225dce);!existsSync(_0x353198)&&mkdirSync(_0x353198,{'recursive':!![]});const _0x3b1c7c={'code':_0x139ad6,'createdAt':new Date()[_0x28568f(0x1f1)](),'scope':_0x191318};writeFileSync(_0x225dce,JSON[_0x28568f(0x1e5)](_0x3b1c7c),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x37a590=getDeviceCodePath();try{unlinkSync(_0x37a590);}catch{}}export function isStoredDeviceCodeExpired(_0x3fbcef){const _0x20a363=a11_0x1389ff;return Date[_0x20a363(0x1e8)]()-new Date(_0x3fbcef['createdAt'])[_0x20a363(0x1d3)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x238fec,_0x255e26){const _0x5075ae=a11_0x1389ff,_0x59802d=_0x238fec+'/api/device-auth/token',_0x1af62a=new AbortController(),_0x350508=setTimeout(()=>_0x1af62a[_0x5075ae(0x1a6)](),0x2710),_0x23345b=await fetch(_0x59802d,{'method':'POST','headers':{'Content-Type':_0x5075ae(0x1a3)},'body':JSON[_0x5075ae(0x1e5)]({'code':_0x255e26}),'signal':_0x1af62a['signal']});clearTimeout(_0x350508);if(!_0x23345b['ok'])throw CliErrors['networkError'](_0x5075ae(0x1b3)+_0x23345b[_0x5075ae(0x1a9)]);const _0x32d0c6=await _0x23345b[_0x5075ae(0x1b7)](),_0x1fe190=_0x32d0c6[_0x5075ae(0x1d9)]&&typeof _0x32d0c6[_0x5075ae(0x1d9)]===_0x5075ae(0x1a5)?_0x32d0c6['data']:_0x32d0c6;if(!_0x1fe190||typeof _0x1fe190[_0x5075ae(0x1a9)]!==_0x5075ae(0x1df))throw CliErrors[_0x5075ae(0x1ae)](_0x5075ae(0x1cd));return{'status':_0x1fe190[_0x5075ae(0x1a9)],'access_key':typeof _0x1fe190[_0x5075ae(0x1f5)]===_0x5075ae(0x1df)?_0x1fe190['access_key']:undefined};}export async function pollDeviceToken(_0x24f58b,_0x165ad0,_0x3f1e0d){const _0x47493c=a11_0x1389ff;let _0x2b2eff=0x0;for(let _0x63630e=0x0;_0x63630e<MAX_POLLS;_0x63630e++){if(_0x3f1e0d[_0x47493c(0x1b1)])throw CliErrors[_0x47493c(0x1f6)](_0x47493c(0x1c1));let _0x2f5ac5;try{_0x2f5ac5=await fetchDeviceToken(_0x24f58b,_0x165ad0);}catch(_0x1fdf8c){if(_0x1fdf8c instanceof Error&&_0x1fdf8c[_0x47493c(0x1c4)]===_0x47493c(0x1bd))throw CliErrors['cancelled'](_0x47493c(0x1c1));_0x2b2eff++;if(_0x2b2eff>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x47493c(0x1db)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x47493c(0x1c3)+_0x2b2eff+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x47493c(0x1ce)),await sleep(POLL_INTERVAL_MS);continue;}_0x2b2eff=0x0;if(_0x2f5ac5[_0x47493c(0x1a9)]===_0x47493c(0x1ab)){if(!_0x2f5ac5[_0x47493c(0x1f5)])throw CliErrors[_0x47493c(0x1ae)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x2f5ac5[_0x47493c(0x1f5)];}if(_0x2f5ac5['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x47493c(0x1cf)](_0x47493c(0x1e9));}const _0x52b59d=(_0x63630e+0x1)*POLL_INTERVAL_MS,_0x1a12c1=DEVICE_CODE_TTL_MS-_0x52b59d,_0x3d61a3=Math[_0x47493c(0x1f3)](_0x1a12c1/0xea60),_0x3bf35e=Math[_0x47493c(0x1f3)](_0x1a12c1%0xea60/0x3e8);process[_0x47493c(0x1e6)]['write'](_0x47493c(0x1c8)+_0x3d61a3+':'+String(_0x3bf35e)[_0x47493c(0x1e2)](0x2,'0')+_0x47493c(0x1cb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x47493c(0x1cf)](_0x47493c(0x1d8));}function sleep(_0x11c73d){return new Promise(_0x3c301c=>setTimeout(_0x3c301c,_0x11c73d));}export const authDeviceDefinition={'service':a11_0x1389ff(0x1b2),'command':a11_0x1389ff(0x1ea),'description':a11_0x1389ff(0x1b6),'risk':a11_0x1389ff(0x1f2),'confirmationDescription':a11_0x1389ff(0x1a7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1389ff(0x1aa),'type':a11_0x1389ff(0x1ec),'description':a11_0x1389ff(0x1da),'default':!![]},{'name':a11_0x1389ff(0x1eb),'type':'boolean','description':a11_0x1389ff(0x1d4),'default':![]},{'name':a11_0x1389ff(0x1f8),'type':a11_0x1389ff(0x1df),'description':a11_0x1389ff(0x1f0),'default':a11_0x1389ff(0x1dd)},{'name':a11_0x1389ff(0x1f7),'type':a11_0x1389ff(0x1ec),'description':a11_0x1389ff(0x1d2),'default':![]}],async 'execute'(_0x226f45){const _0x234c4d=a11_0x1389ff,_0x2d9384=resolveAuthScopeFlags(_0x226f45),_0x567b68=_0x2d9384[_0x234c4d(0x1aa)]?_0x234c4d(0x1aa):_0x234c4d(0x1eb),_0x2cbd96=readScopedConfig(_0x2d9384);if(_0x2cbd96['accessKey'])return{'ok':!![],'message':_0x234c4d(0x1ef)};const _0x8879c5=(_0x226f45[_0x234c4d(0x1ad)](_0x234c4d(0x1f8))||_0x234c4d(0x1dd))[_0x234c4d(0x1d6)](),_0xd86163=getUserDomain(),_0x12d638=readStoredDeviceCode(),_0x1e740c=_0x12d638&&!isStoredDeviceCodeExpired(_0x12d638)?_0x12d638[_0x234c4d(0x1b8)]:((()=>{const _0x46837d=generateDeviceCode();return writeStoredDeviceCode(_0x46837d,_0x567b68),_0x46837d;})()),_0x16e7ed=buildDeviceAuthUrl(_0xd86163,_0x1e740c,_0x8879c5);if(_0x226f45['bool'](_0x234c4d(0x1f7)))return console['log'](_0x16e7ed),{'ok':!![]};writeCliSideChannelLine(_0x234c4d(0x1d5)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x16e7ed),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x234c4d(0x1d7));if(_0x226f45[_0x234c4d(0x1bb)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x234c4d(0x1e3)),{'ok':!![],'message':_0x234c4d(0x1a4)};writeCliSideChannelLine(_0x234c4d(0x1bf));const _0x4bd40b=new AbortController(),_0xab5388=()=>{const _0x3ca655=_0x234c4d;_0x4bd40b[_0x3ca655(0x1a6)](),process[_0x3ca655(0x1c9)]('SIGINT',_0xab5388);};process['once'](_0x234c4d(0x1c2),_0xab5388);let _0x3054a2;try{_0x3054a2=await pollDeviceToken(_0xd86163,_0x1e740c,_0x4bd40b[_0x234c4d(0x1ee)]);}finally{process[_0x234c4d(0x1c9)](_0x234c4d(0x1c2),_0xab5388);}if(!ACCESS_KEY_PATTERN[_0x234c4d(0x1af)](_0x3054a2))throw CliErrors[_0x234c4d(0x1ae)](_0x234c4d(0x1bc));const _0x1138bd=readScopedConfig(_0x2d9384);return _0x1138bd[_0x234c4d(0x1d1)]=_0x3054a2,writeScopedConfig(_0x1138bd,_0x2d9384),deleteStoredDeviceCode(),process[_0x234c4d(0x1e6)][_0x234c4d(0x1f2)]('\x0a'),writeCliSideChannelLine(_0x234c4d(0x1b4)+_0x567b68+_0x234c4d(0x1f4)),writeCliSideChannelLine(_0x234c4d(0x1b9)+CLI_BIN_NAME+_0x234c4d(0x1b5)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x1cd5ac=a11_0x57d4;(function(_0x32573b,_0x28846b){const _0x4365c1=a11_0x57d4,_0x43759e=_0x32573b();while(!![]){try{const _0x46dcfb=parseInt(_0x4365c1(0x1e2))/0x1+-parseInt(_0x4365c1(0x1d4))/0x2*(-parseInt(_0x4365c1(0x1e8))/0x3)+-parseInt(_0x4365c1(0x20d))/0x4*(parseInt(_0x4365c1(0x1f0))/0x5)+parseInt(_0x4365c1(0x1e1))/0x6+-parseInt(_0x4365c1(0x214))/0x7+-parseInt(_0x4365c1(0x1f3))/0x8*(-parseInt(_0x4365c1(0x20f))/0x9)+parseInt(_0x4365c1(0x219))/0xa*(-parseInt(_0x4365c1(0x203))/0xb);if(_0x46dcfb===_0x28846b)break;else _0x43759e['push'](_0x43759e['shift']());}catch(_0x42d2ef){_0x43759e['push'](_0x43759e['shift']());}}}(a11_0x2fb1,0x9ca06));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';function a11_0x57d4(_0x21882f,_0x41885d){_0x21882f=_0x21882f-0x1cf;const _0x2fb10a=a11_0x2fb1();let _0x57d4a8=_0x2fb10a[_0x21882f];return _0x57d4a8;}import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0xc6f08e){const _0x26a270=a11_0x57d4;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0xc6f08e[_0x26a270(0x1ea)]('global'),'explicitProject':_0xc6f08e['bool']('project'),'policy':_0x26a270(0x1e9)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x23a8e6=a11_0x57d4;return crypto[_0x23a8e6(0x1f7)]();}export function buildDeviceAuthUrl(_0x16c19d,_0x375b3d,_0x3747c3=a11_0x1cd5ac(0x212)){const _0x347974=a11_0x1cd5ac;return _0x16c19d+'/device-auth?code='+encodeURIComponent(_0x375b3d)+_0x347974(0x1fa)+encodeURIComponent(_0x3747c3);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x4abd2e=a11_0x1cd5ac,_0x3b1a54=getDeviceCodePath();if(!existsSync(_0x3b1a54))return null;try{const _0x377b84=readFileSync(_0x3b1a54,{'encoding':_0x4abd2e(0x1d5)}),_0x49bf22=JSON[_0x4abd2e(0x1ef)](_0x377b84);if(_0x49bf22&&typeof _0x49bf22[_0x4abd2e(0x1d6)]===_0x4abd2e(0x1fc)&&typeof _0x49bf22[_0x4abd2e(0x217)]===_0x4abd2e(0x1fc)&&(_0x49bf22['scope']===_0x4abd2e(0x1d0)||_0x49bf22['scope']===_0x4abd2e(0x213)))return _0x49bf22;}catch{}return null;}export function writeStoredDeviceCode(_0x2141a7,_0x592cb9){const _0x57af1a=getDeviceCodePath(),_0x299192=dirname(_0x57af1a);!existsSync(_0x299192)&&mkdirSync(_0x299192,{'recursive':!![]});const _0x554e89={'code':_0x2141a7,'createdAt':new Date()['toISOString'](),'scope':_0x592cb9};writeFileSync(_0x57af1a,JSON['stringify'](_0x554e89),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x23f7b3=getDeviceCodePath();try{unlinkSync(_0x23f7b3);}catch{}}export function isStoredDeviceCodeExpired(_0x3372bf){const _0x1b790e=a11_0x1cd5ac;return Date['now']()-new Date(_0x3372bf[_0x1b790e(0x217)])[_0x1b790e(0x1d1)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x2a5df4,_0x3e57d1){const _0x55afcf=a11_0x1cd5ac,_0xa922fa=_0x2a5df4+'/api/device-auth/token',_0x57db7a=new AbortController(),_0x8e1e4=setTimeout(()=>_0x57db7a[_0x55afcf(0x1d2)](),0x2710),_0x5de6ec=await fetch(_0xa922fa,{'method':'POST','headers':{'Content-Type':_0x55afcf(0x1e0)},'body':JSON[_0x55afcf(0x210)]({'code':_0x3e57d1}),'signal':_0x57db7a['signal']});clearTimeout(_0x8e1e4);if(!_0x5de6ec['ok'])throw CliErrors['networkError'](_0x55afcf(0x1ff)+_0x5de6ec[_0x55afcf(0x20e)]);const _0x1a2b31=await _0x5de6ec[_0x55afcf(0x1d9)](),_0x55fe10=_0x1a2b31['data']&&typeof _0x1a2b31['data']==='object'?_0x1a2b31[_0x55afcf(0x211)]:_0x1a2b31;if(!_0x55fe10||typeof _0x55fe10[_0x55afcf(0x20e)]!==_0x55afcf(0x1fc))throw CliErrors['apiError'](_0x55afcf(0x207));return{'status':_0x55fe10['status'],'access_key':typeof _0x55fe10[_0x55afcf(0x20a)]==='string'?_0x55fe10['access_key']:undefined};}export async function pollDeviceToken(_0x56984e,_0x42700e,_0x21f491){const _0x1656ca=a11_0x1cd5ac;let _0x3916db=0x0;for(let _0x17a257=0x0;_0x17a257<MAX_POLLS;_0x17a257++){if(_0x21f491[_0x1656ca(0x208)])throw CliErrors['cancelled'](_0x1656ca(0x1d7));let _0x206786;try{_0x206786=await fetchDeviceToken(_0x56984e,_0x42700e);}catch(_0x54c339){if(_0x54c339 instanceof Error&&_0x54c339['name']===_0x1656ca(0x202))throw CliErrors[_0x1656ca(0x1cf)](_0x1656ca(0x1d7));_0x3916db++;if(_0x3916db>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1656ca(0x204)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x1656ca(0x1f4)+_0x3916db+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1656ca(0x1fe)),await sleep(POLL_INTERVAL_MS);continue;}_0x3916db=0x0;if(_0x206786[_0x1656ca(0x20e)]===_0x1656ca(0x1db)){if(!_0x206786[_0x1656ca(0x20a)])throw CliErrors[_0x1656ca(0x1e4)](_0x1656ca(0x1e3));return _0x206786[_0x1656ca(0x20a)];}if(_0x206786['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x201));}const _0x4d1500=(_0x17a257+0x1)*POLL_INTERVAL_MS,_0x3b6527=DEVICE_CODE_TTL_MS-_0x4d1500,_0x2cec0c=Math[_0x1656ca(0x1d3)](_0x3b6527/0xea60),_0x2a65a2=Math[_0x1656ca(0x1d3)](_0x3b6527%0xea60/0x3e8);process[_0x1656ca(0x1f9)]['write'](_0x1656ca(0x1fd)+_0x2cec0c+':'+String(_0x2a65a2)[_0x1656ca(0x1dc)](0x2,'0')+_0x1656ca(0x1f8)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x1ed));}function sleep(_0x537002){return new Promise(_0x2af941=>setTimeout(_0x2af941,_0x537002));}export const authDeviceDefinition={'service':'auth','command':a11_0x1cd5ac(0x1f5),'description':a11_0x1cd5ac(0x20b),'risk':a11_0x1cd5ac(0x215),'confirmationDescription':a11_0x1cd5ac(0x1f6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1cd5ac(0x1d0),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1da),'default':!![]},{'name':'project','type':a11_0x1cd5ac(0x1df),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x1cd5ac(0x1de),'type':'string','description':a11_0x1cd5ac(0x1f1),'default':a11_0x1cd5ac(0x212)},{'name':a11_0x1cd5ac(0x1e7),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1ec),'default':![]}],async 'execute'(_0x18776c){const _0x6d696a=a11_0x1cd5ac,_0xd8ba66=resolveAuthScopeFlags(_0x18776c),_0x26aaa8=_0xd8ba66[_0x6d696a(0x1d0)]?_0x6d696a(0x1d0):_0x6d696a(0x213),_0x552393=readScopedConfig(_0xd8ba66);if(_0x552393[_0x6d696a(0x216)])return{'ok':!![],'message':_0x6d696a(0x21a)};const _0x20174a=(_0x18776c['str'](_0x6d696a(0x1de))||_0x6d696a(0x212))[_0x6d696a(0x1fb)](),_0x4d1bba=getUserDomain(),_0x248d1a=readStoredDeviceCode(),_0x40d177=_0x248d1a&&!isStoredDeviceCodeExpired(_0x248d1a)?_0x248d1a[_0x6d696a(0x1d6)]:((()=>{const _0x5c6cbf=generateDeviceCode();return writeStoredDeviceCode(_0x5c6cbf,_0x26aaa8),_0x5c6cbf;})()),_0x23f101=buildDeviceAuthUrl(_0x4d1bba,_0x40d177,_0x20174a);if(_0x18776c[_0x6d696a(0x1ea)]('url-only'))return console[_0x6d696a(0x205)](_0x23f101),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x23f101),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x18776c[_0x6d696a(0x1d8)])return writeCliSideChannelLine(_0x6d696a(0x1ee)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x6d696a(0x200)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x18db52=new AbortController(),_0x69186d=()=>{const _0x5ba8fc=_0x6d696a;_0x18db52['abort'](),process[_0x5ba8fc(0x1e6)](_0x5ba8fc(0x218),_0x69186d);};process[_0x6d696a(0x1eb)](_0x6d696a(0x218),_0x69186d);let _0x327b02;try{_0x327b02=await pollDeviceToken(_0x4d1bba,_0x40d177,_0x18db52[_0x6d696a(0x20c)]);}finally{process[_0x6d696a(0x1e6)]('SIGINT',_0x69186d);}if(!ACCESS_KEY_PATTERN['test'](_0x327b02))throw CliErrors['apiError'](_0x6d696a(0x1e3));const _0x32f951=readScopedConfig(_0xd8ba66);return _0x32f951['accessKey']=_0x327b02,writeScopedConfig(_0x32f951,_0xd8ba66),deleteStoredDeviceCode(),process[_0x6d696a(0x1f9)][_0x6d696a(0x215)]('\x0a'),writeCliSideChannelLine(_0x6d696a(0x209)+_0x26aaa8+_0x6d696a(0x1dd)),writeCliSideChannelLine(_0x6d696a(0x206)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x6d696a(0x1f2)};}};function a11_0x2fb1(){const _0x2f5454=['Verify:\x20','Invalid\x20device\x20auth\x20response','aborted','AccessKey\x20saved\x20to\x20','access_key','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','signal','456PEmDlX','status','1530uvNZXK','stringify','data','lovrabet-cli','project','1195635Auzush','write','accessKey','createdAt','SIGINT','141070cepQzx','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','cancelled','global','getTime','abort','floor','2EuOimN','utf8','code','Device\x20authorization\x20cancelled.','nonInteractive','json','Write\x20to\x20global\x20config\x20(default)','success','padStart','\x20config.','source','boolean','application/json','986520QurVUo','1109919Mdmoxz','Invalid\x20access_key\x20returned\x20by\x20server.','apiError','validation','removeListener','url-only','2630691hFuzaR','global-default','bool','once','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','After\x20authorizing,\x20re-run:\x20','parse','23710jbcicN','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Device\x20authorization\x20successful.','4256xCqrTs','Device\x20auth\x20API\x20error\x20(','device','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','randomUUID','\x20remaining','stderr','&source=','trim','string','\x0dWaiting\x20for\x20authorization...\x20','),\x20retrying...','Device\x20auth\x20API\x20returned\x20HTTP\x20','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','AbortError','693SVaFdY','networkError','log'];a11_0x2fb1=function(){return _0x2f5454;};return a11_0x2fb1();}
|