@lovrabet/lovrabet-cli 2.3.0 → 2.3.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.d.ts +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.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.d.ts +6 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +0 -16
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.d.ts +30 -0
- package/lib/core/kb-search-client.js +1 -0
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.d.ts +2 -0
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/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 +3 -2
- package/skills/lovrabet/guides/sql-and-bff-workflow.md +1 -1
- package/skills/lovrabet/references/lovrabet-config-commands.md +7 -6
- package/skills/lovrabet/references/lovrabet-config.md +9 -8
- package/skills/lovrabet/references/lovrabet-doctor.md +2 -0
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +3 -1
- package/skills/lovrabet/references/lovrabet-personal-bff-workflow.md +32 -0
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
(function(_0x46fcc7,_0x3448a1){const _0x161a17=a0_0x578f,_0x1fb01f=_0x46fcc7();while(!![]){try{const _0x123547=parseInt(_0x161a17(0x14e))/0x1+-parseInt(_0x161a17(0x157))/0x2*(parseInt(_0x161a17(0x142))/0x3)+-parseInt(_0x161a17(0x151))/0x4+-parseInt(_0x161a17(0x134))/0x5+-parseInt(_0x161a17(0x15a))/0x6*(parseInt(_0x161a17(0x13e))/0x7)+-parseInt(_0x161a17(0x144))/0x8+parseInt(_0x161a17(0x13d))/0x9*(parseInt(_0x161a17(0x14b))/0xa);if(_0x123547===_0x3448a1)break;else _0x1fb01f['push'](_0x1fb01f['shift']());}catch(_0x451e29){_0x1fb01f['push'](_0x1fb01f['shift']());}}}(a0_0x3324,0x5a704));import{jsx as a0_0x39d0e1}from'react/jsx-runtime';import a0_0x47068f from'meow';import{render}from'ink';import{Help}from'./help.js';function a0_0x578f(_0x3c6a4f,_0x41ccf4){_0x3c6a4f=_0x3c6a4f-0x133;const _0x33244f=a0_0x3324();let _0x578f01=_0x33244f[_0x3c6a4f];return _0x578f01;}import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';function a0_0x3324(){const _0x408bcf=['exit','471246cRhAna','code','validation','780388tjBvsc','original','write','./framework/preparse.js','help','ExitPromptError','44072KJqxwW','message','input','78lhguvt','defaultCommand','name','slice','Hint:\x20','corrected','2176825IXiOPF','hint','flatMap','error',':\x20--','stderr','cancelled','definition','args','9vFaZJM','247695DLwsBw','unknownCommand','[preparse]\x20','exitCode','33idnbWp','ERR_STREAM_DESTROYED','4180904LLKNLK','\x20->\x20--','\x0aCancelled.\x0a','log','assign','handler','flags','17546660fyrzpG','ERR_USE_AFTER_CLOSE'];a0_0x3324=function(){return _0x408bcf;};return a0_0x3324();}const helpText=generateFullHelp(),cli=a0_0x47068f(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x44d7dc){handleError(_0x44d7dc);}}async function run(){const _0x6ea6b4=a0_0x578f;let _0xe2ebf2=cli[_0x6ea6b4(0x159)][0x0],_0x258d23=cli[_0x6ea6b4(0x159)][0x1];const _0x46fcef=cli[_0x6ea6b4(0x14a)];try{const {correctFlags:_0x212843}=await import(_0x6ea6b4(0x154)),_0x20974b=getAllDefinitions()[_0x6ea6b4(0x136)](_0x1910e0=>_0x1910e0[_0x6ea6b4(0x14a)]??[]),{flags:_0x36092f,corrections:_0x25fe5d}=_0x212843(_0x46fcef,_0x20974b);if(_0x25fe5d['length']>0x0){for(const _0x5f21c6 of _0x25fe5d){process['stderr'][_0x6ea6b4(0x153)](_0x6ea6b4(0x140)+_0x5f21c6[_0x6ea6b4(0x149)]+_0x6ea6b4(0x138)+_0x5f21c6[_0x6ea6b4(0x152)]+_0x6ea6b4(0x145)+_0x5f21c6[_0x6ea6b4(0x133)]+'\x0a');}Object[_0x6ea6b4(0x148)](_0x46fcef,_0x36092f);}}catch{}if(!_0xe2ebf2){const {waitUntilExit:_0x45936e}=render(a0_0x39d0e1(Help,{}));await _0x45936e();return;}const _0x2f6126=resolveRemovedCommand(_0xe2ebf2,_0x258d23);if(_0x2f6126)throw CliErrors[_0x6ea6b4(0x150)](_0x2f6126[_0x6ea6b4(0x158)],_0x2f6126[_0x6ea6b4(0x135)]);if(!isKnownService(_0xe2ebf2)){const _0x387d29=resolveDynamicServiceCommand(cli['input'],_0x46fcef);if(_0x387d29){if(_0x46fcef[_0x6ea6b4(0x155)]){console[_0x6ea6b4(0x147)](generateCommandHelp(_0x387d29[_0x6ea6b4(0x13b)]));return;}Object[_0x6ea6b4(0x148)](_0x46fcef,_0x387d29[_0x6ea6b4(0x14a)]);const _0x2d1c65=buildConfigFromFlags(_0x46fcef);await initGlobalEnvironment(_0x2d1c65);const _0x49b58a=createPipelineEnv(_0x2d1c65,_0x46fcef);_0x49b58a[_0x6ea6b4(0x13c)]=_0x387d29[_0x6ea6b4(0x13c)],await runCommand(_0x387d29[_0x6ea6b4(0x13b)],_0x49b58a);return;}if(_0x46fcef[_0x6ea6b4(0x155)]){const _0x51fce6=generateDynamicServiceHelp(_0xe2ebf2);if(_0x51fce6){console[_0x6ea6b4(0x147)](_0x51fce6);return;}}const {waitUntilExit:_0x12da3e}=render(a0_0x39d0e1(Help,{}));await _0x12da3e();return;}const _0x32753d=getServiceEntry(_0xe2ebf2);if(!_0x258d23){if(_0x46fcef['help']){console[_0x6ea6b4(0x147)](generateServiceHelp(_0xe2ebf2));return;}if(_0x32753d[_0x6ea6b4(0x15b)])_0x258d23=_0x32753d[_0x6ea6b4(0x15b)];else{console['log'](generateServiceHelp(_0xe2ebf2));return;}}const _0x26ed8e=findDefinition(_0xe2ebf2,_0x258d23);!_0x26ed8e&&(console[_0x6ea6b4(0x147)](generateServiceHelp(_0xe2ebf2)),handleError(CliErrors[_0x6ea6b4(0x13f)](_0xe2ebf2+'\x20'+_0x258d23)));if(_0x46fcef[_0x6ea6b4(0x155)]){console[_0x6ea6b4(0x147)](generateCommandHelp(_0x26ed8e));return;}const _0x205199=buildConfigFromFlags(_0x46fcef);await initGlobalEnvironment(_0x205199);const _0x53850c=createPipelineEnv(_0x205199,_0x46fcef);_0x53850c[_0x6ea6b4(0x13c)]=cli[_0x6ea6b4(0x159)][_0x6ea6b4(0x15d)](0x2),await runCommand(_0x26ed8e,_0x53850c);}function handleError(_0x23cd37){const _0x6d26df=a0_0x578f;if(_0x23cd37 instanceof CliError){_0x23cd37[_0x6d26df(0x14f)]===_0x6d26df(0x13a)&&(process['stderr'][_0x6d26df(0x153)]('\x0aCancelled.\x0a'),process[_0x6d26df(0x14d)](0x0));console[_0x6d26df(0x137)]('Error:\x20'+_0x23cd37['message']);if(_0x23cd37[_0x6d26df(0x135)])console['error'](_0x6d26df(0x15e)+_0x23cd37[_0x6d26df(0x135)]);process[_0x6d26df(0x14d)](_0x23cd37[_0x6d26df(0x141)]);}isUserCancellation(_0x23cd37)&&(process[_0x6d26df(0x139)][_0x6d26df(0x153)](_0x6d26df(0x146)),process[_0x6d26df(0x14d)](0x0)),console['error']('Unexpected\x20error:',_0x23cd37),process[_0x6d26df(0x14d)](0x1);}function isUserCancellation(_0x309170){const _0x46f63f=a0_0x578f;if(!(_0x309170 instanceof Error))return![];if(_0x309170[_0x46f63f(0x15c)]===_0x46f63f(0x156))return!![];if(_0x309170['code']===_0x46f63f(0x14c))return!![];if(_0x309170[_0x46f63f(0x14f)]===_0x46f63f(0x143))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x25e98b=a1_0x44cf;(function(_0x5269d4,_0x2f990b){const _0x62d5f3=a1_0x44cf,_0x7f1695=_0x5269d4();while(!![]){try{const _0x37cc49=parseInt(_0x62d5f3(0x1ab))/0x1*(parseInt(_0x62d5f3(0x14d))/0x2)+parseInt(_0x62d5f3(0x199))/0x3+parseInt(_0x62d5f3(0x1b1))/0x4+parseInt(_0x62d5f3(0x18b))/0x5*(parseInt(_0x62d5f3(0x14a))/0x6)+parseInt(_0x62d5f3(0x18a))/0x7*(-parseInt(_0x62d5f3(0x183))/0x8)+-parseInt(_0x62d5f3(0x151))/0x9+parseInt(_0x62d5f3(0x1b0))/0xa;if(_0x37cc49===_0x2f990b)break;else _0x7f1695['push'](_0x7f1695['shift']());}catch(_0x4464bc){_0x7f1695['push'](_0x7f1695['shift']());}}}(a1_0x85e9,0x1ec78));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x25e98b(0x182),'type':a1_0x25e98b(0x143),'description':a1_0x25e98b(0x15e)},KEYWORD_FLAG={'name':'keyword','type':a1_0x25e98b(0x143),'description':a1_0x25e98b(0x162)},DOC_CODE_FLAG={'name':'code','type':a1_0x25e98b(0x143),'required':!![],'description':a1_0x25e98b(0x178)},DOCS=[{'code':a1_0x25e98b(0x1b4),'category':'dataset','title':a1_0x25e98b(0x187),'method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x152),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':'Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','pathParams':[],'queryParams':[],'bodySchema':a1_0x25e98b(0x159),'responseHighlights':[a1_0x25e98b(0x176),a1_0x25e98b(0x17c)],'examples':[a1_0x25e98b(0x1ac)],'notes':[a1_0x25e98b(0x192)],'markdown':[a1_0x25e98b(0x167),'',a1_0x25e98b(0x15f)]['join']('\x0a')},{'code':a1_0x25e98b(0x19b),'category':a1_0x25e98b(0x141),'title':a1_0x25e98b(0x179),'method':a1_0x25e98b(0x175),'path':a1_0x25e98b(0x1a5),'summary':a1_0x25e98b(0x19c),'whenToUse':a1_0x25e98b(0x1a0),'pathParams':[],'queryParams':[{'name':a1_0x25e98b(0x163),'description':a1_0x25e98b(0x1a1)}],'bodySchema':a1_0x25e98b(0x172),'responseHighlights':[a1_0x25e98b(0x185),a1_0x25e98b(0x191),a1_0x25e98b(0x196)],'examples':[a1_0x25e98b(0x19d)],'notes':[a1_0x25e98b(0x180)],'markdown':[a1_0x25e98b(0x15d),'','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.']['join']('\x0a')},{'code':a1_0x25e98b(0x17f),'category':a1_0x25e98b(0x141),'title':a1_0x25e98b(0x1ae),'method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x14c),'summary':a1_0x25e98b(0x158),'whenToUse':a1_0x25e98b(0x1b3),'pathParams':[{'name':a1_0x25e98b(0x13b),'description':a1_0x25e98b(0x14e)},{'name':a1_0x25e98b(0x161),'description':a1_0x25e98b(0x1a1)}],'queryParams':[],'bodySchema':a1_0x25e98b(0x194),'responseHighlights':['tableData\x20contains\x20records',a1_0x25e98b(0x13d)],'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_0x25e98b(0x149)],'notes':[a1_0x25e98b(0x1a9),a1_0x25e98b(0x15a),a1_0x25e98b(0x197),a1_0x25e98b(0x16b)],'markdown':[a1_0x25e98b(0x174),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.']['join']('\x0a')},{'code':a1_0x25e98b(0x18e),'category':a1_0x25e98b(0x141),'title':a1_0x25e98b(0x148),'method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x145),'summary':a1_0x25e98b(0x18d),'whenToUse':a1_0x25e98b(0x168),'pathParams':[{'name':a1_0x25e98b(0x13b),'description':'Current\x20app\x20code'},{'name':'datasetCode','description':a1_0x25e98b(0x1a1)}],'queryParams':[],'bodySchema':a1_0x25e98b(0x19e),'responseHighlights':[a1_0x25e98b(0x16f),a1_0x25e98b(0x160)],'examples':['lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27'],'notes':[a1_0x25e98b(0x170),'`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.'],'markdown':[a1_0x25e98b(0x171),'',a1_0x25e98b(0x164)][a1_0x25e98b(0x16c)]('\x0a')},{'code':a1_0x25e98b(0x1a7),'category':a1_0x25e98b(0x141),'title':a1_0x25e98b(0x150),'method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x14f),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x25e98b(0x18f),'pathParams':[{'name':a1_0x25e98b(0x13b),'description':'Current\x20app\x20code'},{'name':a1_0x25e98b(0x161),'description':a1_0x25e98b(0x1a1)}],'queryParams':[],'bodySchema':'{\x22id\x22:123}','responseHighlights':[a1_0x25e98b(0x142)],'examples':[a1_0x25e98b(0x1aa)],'notes':[a1_0x25e98b(0x19a)],'markdown':a1_0x25e98b(0x144)},{'code':'dataset_data_create','category':a1_0x25e98b(0x141),'title':a1_0x25e98b(0x193),'method':'POST','path':a1_0x25e98b(0x188),'summary':a1_0x25e98b(0x1a4),'whenToUse':'Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x25e98b(0x14e)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x25e98b(0x1af),'responseHighlights':['Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result'],'examples':[a1_0x25e98b(0x190)],'notes':[a1_0x25e98b(0x17a)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x25e98b(0x146),'method':'GET','path':a1_0x25e98b(0x177),'summary':a1_0x25e98b(0x154),'whenToUse':a1_0x25e98b(0x1a3),'pathParams':[{'name':'appCode','description':a1_0x25e98b(0x14e)},{'name':'functionName','description':a1_0x25e98b(0x1a2)}],'queryParams':[],'bodySchema':a1_0x25e98b(0x172),'responseHighlights':[a1_0x25e98b(0x1b5)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x25e98b(0x17e)],'markdown':'##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.'},{'code':'bf_execute','category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x1a8),'summary':a1_0x25e98b(0x1b6),'whenToUse':a1_0x25e98b(0x169),'pathParams':[{'name':'appCode','description':a1_0x25e98b(0x14e)},{'name':'functionName','description':a1_0x25e98b(0x156)}],'queryParams':[],'bodySchema':a1_0x25e98b(0x1a6),'responseHighlights':[a1_0x25e98b(0x19f)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x25e98b(0x157)],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x25e98b(0x15c),'category':a1_0x25e98b(0x18c),'title':a1_0x25e98b(0x15b),'method':a1_0x25e98b(0x153),'path':a1_0x25e98b(0x16d),'summary':'Execute\x20custom\x20SQL','whenToUse':a1_0x25e98b(0x13a),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x25e98b(0x13e)],'examples':[a1_0x25e98b(0x140)],'notes':[a1_0x25e98b(0x155)],'markdown':a1_0x25e98b(0x138)}];function entrySummary(_0x48eb90){const _0x10ab3b=a1_0x25e98b;return{'code':_0x48eb90[_0x10ab3b(0x163)],'category':_0x48eb90[_0x10ab3b(0x182)],'method':_0x48eb90[_0x10ab3b(0x13f)],'path':_0x48eb90['path'],'summary':_0x48eb90['summary'],'whenToUse':_0x48eb90[_0x10ab3b(0x17b)]};}export function listApiDocEntries(_0x34e34a={}){const _0xc7994a=a1_0x25e98b,_0x3c4414=String(_0x34e34a[_0xc7994a(0x182)]||'')[_0xc7994a(0x195)](),_0x55b5bc=String(_0x34e34a[_0xc7994a(0x173)]||'')['trim']()['toLowerCase']();return DOCS[_0xc7994a(0x16a)](_0xf0fa94=>{const _0x53436f=_0xc7994a;if(_0x3c4414&&_0xf0fa94['category']!==_0x3c4414)return![];if(!_0x55b5bc)return!![];return[_0xf0fa94[_0x53436f(0x163)],_0xf0fa94['category'],_0xf0fa94[_0x53436f(0x13f)],_0xf0fa94[_0x53436f(0x186)],_0xf0fa94[_0x53436f(0x1b2)],_0xf0fa94[_0x53436f(0x17b)],_0xf0fa94[_0x53436f(0x13c)]][_0x53436f(0x16c)]('\x20')[_0x53436f(0x147)]()[_0x53436f(0x198)](_0x55b5bc);})[_0xc7994a(0x181)](entrySummary);}function a1_0x44cf(_0x1f7284,_0x3c0f71){_0x1f7284=_0x1f7284-0x138;const _0x85e92c=a1_0x85e9();let _0x44cf57=_0x85e92c[_0x1f7284];return _0x44cf57;}export function getApiDocDetail(_0x44105d){const _0x33497b=a1_0x25e98b,_0x110b14=DOCS[_0x33497b(0x189)](_0x3ba803=>_0x3ba803[_0x33497b(0x163)]===_0x44105d);if(!_0x110b14)throw CliErrors['validation'](_0x33497b(0x17d)+_0x44105d);return{..._0x110b14};}function a1_0x85e9(){const _0x54d60b=['List\x20datasets','/api/{appCode}/{datasetCode}/create','find','35GUuiCG','1060RaTyne','custom_sql','Aggregate\x20dataset\x20records','dataset_data_aggregate','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Create\x20dataset\x20record','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','trim','operations\x20describes\x20runtime\x20APIs','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','includes','63324FMuQiH','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','dataset_detail','Get\x20dataset\x20detail','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Returns\x20script\x20business\x20payload','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','32-character\x20dataset\x20code','Exact\x20endpoint\x20function\x20name','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','Create\x20a\x20dataset\x20record','/api/dataset/getOneByCode?code={datasetCode}','{\x22param\x22:\x22value\x22}','dataset_data_get_one','/api/endpoint/{appCode}/{functionName}','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','2627ThAndx','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','read','Filter\x20dataset\x20data','{\x22fieldName\x22:\x22value\x22}','669160lEmDaY','159360TJkUlM','summary','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','dataset_list','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Execute\x20a\x20BF\x20endpoint\x20function','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Show\x20runtime\x20API\x20documentation\x20by\x20code','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','appCode','title','paging\x20contains\x20pagination','Returns\x20SQL\x20execution\x20payload','method','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','dataset','Returns\x20one\x20matching\x20business\x20record','string','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','/api/{appCode}/{datasetCode}/aggregate','Get\x20BF\x20endpoint\x20function\x20contract','toLowerCase','Aggregate\x20dataset\x20data','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','6402RdbBao','detail','/api/{appCode}/{datasetCode}/filter','138mHKERV','Current\x20app\x20code','/api/{appCode}/{datasetCode}/getOne','Get\x20one\x20dataset\x20record','1816686fNcamt','/api/dataset/get-dataset-list-by-app-code','POST','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Endpoint\x20function\x20name','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Filter\x20dataset\x20records','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Execute\x20custom\x20SQL','custom_sql_execute','##\x20Dataset\x20detail','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','where\x20filters\x20before\x20aggregation','datasetCode','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','code','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','length','List\x20available\x20runtime\x20API\x20documentation\x20entries','##\x20List\x20datasets','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','filter','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','join','/api/custom/executeSql','api-doc','result\x20rows\x20contain\x20aggregate\x20aliases','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','##\x20Aggregate\x20dataset\x20data','None','keyword','##\x20Filter\x20dataset\x20data','GET','tableData\x20contains\x20dataset\x20id/code/name','/client/bff/endpoint/{appCode}/{functionName}','API\x20doc\x20code,\x20for\x20example\x20dataset_list','Dataset\x20detail','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','whenToUse','paging.totalCount\x20gives\x20total\x20rows','API\x20doc\x20code\x20not\x20found:\x20','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','dataset_data_filter','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','map','category','331848aNDDfE','str','fields/properties\x20describe\x20data\x20shape','path'];a1_0x85e9=function(){return _0x54d60b;};return a1_0x85e9();}const apiDocList={'service':a1_0x25e98b(0x16e),'command':'list','description':a1_0x25e98b(0x166),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5dbbdc){const _0xb2084d=a1_0x25e98b,_0x1b8ce5=listApiDocEntries({'category':_0x5dbbdc[_0xb2084d(0x184)](_0xb2084d(0x182)),'keyword':_0x5dbbdc[_0xb2084d(0x184)](_0xb2084d(0x173))});return{'ok':!![],'data':{'total':_0x1b8ce5[_0xb2084d(0x165)],'items':_0x1b8ce5}};}},apiDocDetail={'service':a1_0x25e98b(0x16e),'command':a1_0x25e98b(0x14b),'description':a1_0x25e98b(0x139),'risk':a1_0x25e98b(0x1ad),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1ecf2e){const _0x1bbdd6=a1_0x25e98b;return{'ok':!![],'data':getApiDocDetail(_0x1ecf2e[_0x1bbdd6(0x184)](_0x1bbdd6(0x163)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x140dd6=a1_0x3612;(function(_0x478232,_0x1fee79){const _0x5500e1=a1_0x3612,_0x36c689=_0x478232();while(!![]){try{const _0x11605d=parseInt(_0x5500e1(0x9f))/0x1+parseInt(_0x5500e1(0xd6))/0x2+-parseInt(_0x5500e1(0xa4))/0x3+-parseInt(_0x5500e1(0x94))/0x4+-parseInt(_0x5500e1(0x9a))/0x5*(parseInt(_0x5500e1(0xd1))/0x6)+-parseInt(_0x5500e1(0xde))/0x7+parseInt(_0x5500e1(0xee))/0x8*(parseInt(_0x5500e1(0x104))/0x9);if(_0x11605d===_0x1fee79)break;else _0x36c689['push'](_0x36c689['shift']());}catch(_0xcae7e4){_0x36c689['push'](_0x36c689['shift']());}}}(a1_0x20f8,0x65be2));function a1_0x20f8(){const _0x10dbe2=['Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Filter\x20dataset\x20data','Returns\x20one\x20matching\x20business\x20record','trim','path','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','functionName','dataset_data_filter','length','##\x20List\x20datasets','GET','keyword','Show\x20runtime\x20API\x20documentation\x20by\x20code','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','/client/bff/endpoint/{appCode}/{functionName}','string','Current\x20app\x20code','API\x20doc\x20code\x20not\x20found:\x20','read','/api/custom/executeSql','join','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Endpoint\x20function\x20name','bf_execute','list','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','##\x20Dataset\x20detail','filter','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','API\x20doc\x20code,\x20for\x20example\x20dataset_list','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','32-character\x20dataset\x20code','appCode','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Get\x20dataset\x20detail','bf_detail','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','fields/properties\x20describe\x20data\x20shape','126ipQNEV','{\x22fieldName\x22:\x22value\x22}','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','/api/dataset/get-dataset-list-by-app-code','862876EYeDuH','Aggregate\x20dataset\x20records','Exact\x20endpoint\x20function\x20name','personal_bf_execute','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','toLowerCase','Dataset\x20detail','List\x20datasets','1922676ybxAdn','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','POST','/api/runtime-bff/personal/{id}/execute','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\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','dataset_list','dataset','dataset_data_create','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','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','summary','8CPnxGw','result\x20rows\x20contain\x20aggregate\x20aliases','{\x22param\x22:\x22value\x22}','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','tableData\x20contains\x20dataset\x20id/code/name','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','Execute\x20custom\x20SQL','Filter\x20dataset\x20records','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','includes','custom_sql','##\x20Filter\x20dataset\x20data','/api/{appCode}/{datasetCode}/create','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','whenToUse','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','api-doc','Returns\x20SQL\x20execution\x20payload','Returns\x20script\x20business\x20payload','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','8167401sgdcFd','Execute\x20Personal\x20Backend\x20Function','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Create\x20dataset\x20record','datasetCode','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','{\x22id\x22:123}','method','category','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','title','validation','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','192900qAWrsb','operations\x20describes\x20runtime\x20APIs','Execute\x20a\x20BF\x20endpoint\x20function','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','14450CdqhXd','code','dataset_data_get_one','paging.totalCount\x20gives\x20total\x20rows','Get\x20one\x20dataset\x20record','8676xQEBGr','where\x20filters\x20before\x20aggregation','None','detail','paging\x20contains\x20pagination','1641846EmTgEd','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','custom_sql_execute','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.'];a1_0x20f8=function(){return _0x10dbe2;};return a1_0x20f8();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x140dd6(0x10c),'type':'string','description':a1_0x140dd6(0xdf)},KEYWORD_FLAG={'name':a1_0x140dd6(0xb5),'type':a1_0x140dd6(0xb9),'description':a1_0x140dd6(0xf1)},DOC_CODE_FLAG={'name':a1_0x140dd6(0x9b),'type':'string','required':!![],'description':a1_0x140dd6(0xc7)},DOCS=[{'code':a1_0x140dd6(0xe8),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xdd),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xd5),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x140dd6(0xcc),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x140dd6(0xf2),a1_0x140dd6(0x9d)],'examples':[a1_0x140dd6(0xfc)],'notes':[a1_0x140dd6(0xd3)],'markdown':[a1_0x140dd6(0xb3),'','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.'][a1_0x140dd6(0xbe)]('\x0a')},{'code':'dataset_detail','category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xdc),'method':a1_0x140dd6(0xb4),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x140dd6(0xcd),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x140dd6(0x9b),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x140dd6(0xa1),'responseHighlights':[a1_0x140dd6(0xd0),'relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned',a1_0x140dd6(0x95)],'examples':[a1_0x140dd6(0xe3)],'notes':[a1_0x140dd6(0x99)],'markdown':[a1_0x140dd6(0xc4),'',a1_0x140dd6(0x110)][a1_0x140dd6(0xbe)]('\x0a')},{'code':a1_0x140dd6(0xb1),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0xaa),'method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x140dd6(0xf5),'whenToUse':a1_0x140dd6(0xc6),'pathParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)},{'name':a1_0x140dd6(0x108),'description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xcb),'responseHighlights':['tableData\x20contains\x20records',a1_0x140dd6(0xa3)],'examples':[a1_0x140dd6(0xf3),a1_0x140dd6(0xec)],'notes':[a1_0x140dd6(0xff),a1_0x140dd6(0xeb),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.'],'markdown':[a1_0x140dd6(0xfa),'',a1_0x140dd6(0xaf)][a1_0x140dd6(0xbe)]('\x0a')},{'code':'dataset_data_aggregate','category':a1_0x140dd6(0xe9),'title':'Aggregate\x20dataset\x20data','method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x140dd6(0xd7),'whenToUse':a1_0x140dd6(0xda),'pathParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)},{'name':'datasetCode','description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xe6),'responseHighlights':[a1_0x140dd6(0xef),a1_0x140dd6(0xa0)],'examples':[a1_0x140dd6(0xc8)],'notes':[a1_0x140dd6(0xa6),a1_0x140dd6(0xf7)],'markdown':['##\x20Aggregate\x20dataset\x20data','','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.'][a1_0x140dd6(0xbe)]('\x0a')},{'code':a1_0x140dd6(0x9c),'category':'dataset','title':a1_0x140dd6(0x9e),'method':a1_0x140dd6(0xe0),'path':'/api/{appCode}/{datasetCode}/getOne','summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x140dd6(0x103),'pathParams':[{'name':'appCode','description':a1_0x140dd6(0xba)},{'name':a1_0x140dd6(0x108),'description':a1_0x140dd6(0xc9)}],'queryParams':[],'bodySchema':a1_0x140dd6(0x10a),'responseHighlights':[a1_0x140dd6(0xab)],'examples':[a1_0x140dd6(0x98)],'notes':[a1_0x140dd6(0xfd)],'markdown':a1_0x140dd6(0x106)},{'code':a1_0x140dd6(0xea),'category':a1_0x140dd6(0xe9),'title':a1_0x140dd6(0x107),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xfb),'summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x140dd6(0xa9),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x140dd6(0x108),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x140dd6(0xd2),'responseHighlights':[a1_0x140dd6(0x93)],'examples':[a1_0x140dd6(0xd4)],'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':a1_0x140dd6(0xce),'category':'bf','title':'Get\x20BF\x20endpoint\x20function\x20contract','method':'GET','path':a1_0x140dd6(0xb8),'summary':a1_0x140dd6(0xcf),'whenToUse':'Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','pathParams':[{'name':a1_0x140dd6(0xca),'description':'Current\x20app\x20code'},{'name':a1_0x140dd6(0xb0),'description':a1_0x140dd6(0xd8)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xa1),'responseHighlights':[a1_0x140dd6(0x109)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x140dd6(0xe7)],'markdown':a1_0x140dd6(0x97)},{'code':a1_0x140dd6(0xc1),'category':'bf','title':'Execute\x20BF\x20endpoint\x20function','method':a1_0x140dd6(0xe0),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x140dd6(0x96),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x140dd6(0xca),'description':'Current\x20app\x20code'},{'name':'functionName','description':a1_0x140dd6(0xc0)}],'queryParams':[],'bodySchema':a1_0x140dd6(0xf0),'responseHighlights':['Returns\x20script\x20business\x20payload'],'examples':[a1_0x140dd6(0xb7)],'notes':[a1_0x140dd6(0xc3)],'markdown':a1_0x140dd6(0xe4)},{'code':a1_0x140dd6(0xd9),'category':'bf','title':a1_0x140dd6(0x105),'method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xe1),'summary':a1_0x140dd6(0xa5),'whenToUse':a1_0x140dd6(0xe2),'pathParams':[{'name':'id','description':a1_0x140dd6(0xbf)}],'queryParams':[{'name':a1_0x140dd6(0xca),'description':a1_0x140dd6(0xba)}],'bodySchema':a1_0x140dd6(0xf0),'responseHighlights':[a1_0x140dd6(0x102)],'examples':[a1_0x140dd6(0xf6)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.'],'markdown':['##\x20Execute\x20Personal\x20Backend\x20Function','',a1_0x140dd6(0xa8)]['join']('\x0a')},{'code':a1_0x140dd6(0xa7),'category':a1_0x140dd6(0xf9),'title':'Execute\x20custom\x20SQL','method':a1_0x140dd6(0xe0),'path':a1_0x140dd6(0xbd),'summary':a1_0x140dd6(0xf4),'whenToUse':a1_0x140dd6(0x10d),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x140dd6(0x101)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x140dd6(0xae)],'markdown':a1_0x140dd6(0xe5)}];function entrySummary(_0x5000e1){const _0x55f582=a1_0x140dd6;return{'code':_0x5000e1[_0x55f582(0x9b)],'category':_0x5000e1['category'],'method':_0x5000e1[_0x55f582(0x10b)],'path':_0x5000e1[_0x55f582(0xad)],'summary':_0x5000e1[_0x55f582(0xed)],'whenToUse':_0x5000e1[_0x55f582(0xfe)]};}function a1_0x3612(_0x32a591,_0x5d75ac){_0x32a591=_0x32a591-0x93;const _0x20f84c=a1_0x20f8();let _0x361273=_0x20f84c[_0x32a591];return _0x361273;}export function listApiDocEntries(_0x3c5491={}){const _0x4f311f=a1_0x140dd6,_0x48a0e3=String(_0x3c5491['category']||'')['trim'](),_0x42c9ff=String(_0x3c5491['keyword']||'')[_0x4f311f(0xac)]()['toLowerCase']();return DOCS[_0x4f311f(0xc5)](_0x2522a7=>{const _0x3614c0=_0x4f311f;if(_0x48a0e3&&_0x2522a7[_0x3614c0(0x10c)]!==_0x48a0e3)return![];if(!_0x42c9ff)return!![];return[_0x2522a7['code'],_0x2522a7[_0x3614c0(0x10c)],_0x2522a7['method'],_0x2522a7['path'],_0x2522a7[_0x3614c0(0xed)],_0x2522a7['whenToUse'],_0x2522a7[_0x3614c0(0x10e)]]['join']('\x20')[_0x3614c0(0xdb)]()[_0x3614c0(0xf8)](_0x42c9ff);})['map'](entrySummary);}export function getApiDocDetail(_0x31b3fe){const _0x3a3b3a=a1_0x140dd6,_0x460cec=DOCS['find'](_0x4e1f0e=>_0x4e1f0e['code']===_0x31b3fe);if(!_0x460cec)throw CliErrors[_0x3a3b3a(0x10f)](_0x3a3b3a(0xbb)+_0x31b3fe);return{..._0x460cec};}const apiDocList={'service':a1_0x140dd6(0x100),'command':a1_0x140dd6(0xc2),'description':'List\x20available\x20runtime\x20API\x20documentation\x20entries','risk':a1_0x140dd6(0xbc),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3dfaf0){const _0x214985=a1_0x140dd6,_0x3f20d0=listApiDocEntries({'category':_0x3dfaf0['str'](_0x214985(0x10c)),'keyword':_0x3dfaf0['str'](_0x214985(0xb5))});return{'ok':!![],'data':{'total':_0x3f20d0[_0x214985(0xb2)],'items':_0x3f20d0}};}},apiDocDetail={'service':a1_0x140dd6(0x100),'command':a1_0x140dd6(0xa2),'description':a1_0x140dd6(0xb6),'risk':a1_0x140dd6(0xbc),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x6c019f){const _0x1b5aa9=a1_0x140dd6;return{'ok':!![],'data':getApiDocDetail(_0x6c019f['str'](_0x1b5aa9(0x9b)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x436fc9,_0x37ba86){const _0x4aab5a=a2_0x6251,_0x3c71cb=_0x436fc9();while(!![]){try{const _0x1460a3=-parseInt(_0x4aab5a(0x146))/0x1*(-parseInt(_0x4aab5a(0x14d))/0x2)+parseInt(_0x4aab5a(0x145))/0x3*(parseInt(_0x4aab5a(0x148))/0x4)+-parseInt(_0x4aab5a(0x139))/0x5*(parseInt(_0x4aab5a(0x147))/0x6)+parseInt(_0x4aab5a(0x152))/0x7*(parseInt(_0x4aab5a(0x13b))/0x8)+-parseInt(_0x4aab5a(0x150))/0x9*(-parseInt(_0x4aab5a(0x140))/0xa)+parseInt(_0x4aab5a(0x149))/0xb*(parseInt(_0x4aab5a(0x13c))/0xc)+parseInt(_0x4aab5a(0x144))/0xd*(-parseInt(_0x4aab5a(0x13d))/0xe);if(_0x1460a3===_0x37ba86)break;else _0x3c71cb['push'](_0x3c71cb['shift']());}catch(_0x3c36b0){_0x3c71cb['push'](_0x3c71cb['shift']());}}}(a2_0x31ef,0x6fc9a));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(_0x1f9919){const _0x25a588=a2_0x6251,_0x35b363=_0x1f9919[_0x25a588(0x14b)](),_0x31b08f=_0x35b363['slice'](-0x6)||'unknown',_0x2fd508=createHash('sha256')[_0x25a588(0x138)](_0x35b363)['digest'](_0x25a588(0x154))[_0x25a588(0x14f)](0x0,0xc);return _0x25a588(0x14a)+_0x31b08f+'_'+_0x2fd508;}export function getAppCacheFilePath(_0x1846d3,_0x138ba4){const _0x1213a5=a2_0x6251;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x1213a5(0x14c),_0x1846d3,fingerprintAccessKey(_0x138ba4),_0x1213a5(0x151));}function a2_0x6251(_0x273b39,_0x604362){_0x273b39=_0x273b39-0x137;const _0x31efca=a2_0x31ef();let _0x625152=_0x31efca[_0x273b39];return _0x625152;}export function readCachedAppList(_0x200a24,_0x57fc34){const _0xdfe319=a2_0x6251;if(!_0x57fc34?.['trim']())return null;const _0x5af217=getAppCacheFilePath(_0x200a24,_0x57fc34);if(!existsSync(_0x5af217))return null;try{const _0x191cf5=readFileSync(_0x5af217,_0xdfe319(0x142));if(!_0x191cf5['trim']())return null;const _0x57adcd=JSON['parse'](_0x191cf5);if(!Array[_0xdfe319(0x13e)](_0x57adcd[_0xdfe319(0x143)]))return null;return _0x57adcd;}catch{return null;}}function a2_0x31ef(){const _0x368162=['12naddRs','13187314tNIzIM','isArray','appCode','10zWvdKQ','stringify','utf8','items','26ORsdHN','12CPkYtz','30044teIODJ','381798OZkFcW','744136Wxtbuz','3391597TotVIg','ak_','trim','cache','36wRSMYa','.tmp','slice','6160059QvgWCV','my-apps.json','14ugXGKO','appName','hex','code','update','10BGesVT','EXDEV','765376MDbZYi'];a2_0x31ef=function(){return _0x368162;};return a2_0x31ef();}export function writeCachedAppList(_0x2999fb,_0x3da56a,_0x5ec279){const _0x2dc37c=a2_0x6251,_0x407c29=getAppCacheFilePath(_0x2999fb,_0x3da56a),_0x289eea=dirname(_0x407c29);!existsSync(_0x289eea)&&mkdirSync(_0x289eea,{'recursive':!![]});const _0x4e148f=_0x407c29+_0x2dc37c(0x14e);try{writeFileSync(_0x4e148f,JSON[_0x2dc37c(0x141)](_0x5ec279,null,0x2)+'\x0a',{'encoding':'utf8','mode':0x180});try{renameSync(_0x4e148f,_0x407c29);}catch(_0x7c35b){if(_0x7c35b[_0x2dc37c(0x137)]==='EPERM'||_0x7c35b[_0x2dc37c(0x137)]===_0x2dc37c(0x13a)||_0x7c35b[_0x2dc37c(0x137)]==='EACCES'){writeFileSync(_0x407c29,JSON[_0x2dc37c(0x141)](_0x5ec279,null,0x2)+'\x0a',{'encoding':_0x2dc37c(0x142)});try{unlinkSync(_0x4e148f);}catch{}}else throw _0x7c35b;}}catch(_0x4902a2){try{unlinkSync(_0x4e148f);}catch{}throw _0x4902a2;}return _0x407c29;}export function resolveCachedAppCode(_0x12badb,_0x5057e6,_0x3944cd){const _0x3d31f5=a2_0x6251;if(!_0x12badb)return undefined;const _0xbb1477=readCachedAppList(_0x5057e6,_0x3944cd),_0x3e6c3c=_0xbb1477?.[_0x3d31f5(0x143)]['find'](_0x5c90d8=>_0x5c90d8[_0x3d31f5(0x153)]===_0x12badb&&isRuntimeAccessibleApp(_0x5c90d8));return _0x3e6c3c?.[_0x3d31f5(0x13f)]?.['trim']()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x526ea3=a3_0x2cbf;(function(_0xc89bd5,_0x242669){const _0x278089=a3_0x2cbf,_0x401ab0=_0xc89bd5();while(!![]){try{const _0x18c4d0=-parseInt(_0x278089(0x167))/0x1+-parseInt(_0x278089(0x14a))/0x2+-parseInt(_0x278089(0x159))/0x3+-parseInt(_0x278089(0x145))/0x4+-parseInt(_0x278089(0x168))/0x5+-parseInt(_0x278089(0x157))/0x6+-parseInt(_0x278089(0x158))/0x7*(-parseInt(_0x278089(0x152))/0x8);if(_0x18c4d0===_0x242669)break;else _0x401ab0['push'](_0x401ab0['shift']());}catch(_0x4b8ac7){_0x401ab0['push'](_0x401ab0['shift']());}}}(a3_0x248e,0x8fa37));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';function a3_0x248e(){const _0x2d5ebc=['1773672MDluzG','envName','source','../../commands/app/remote-source.js','enableI18n','pull','globalPath','name','33103832iIvajF','list','trim','config','fetchedAt','1617078JmCLnS','7oIthKX','152391TAQndC','import','Include\x20unpublished\x20apps\x20for\x20diagnostics','Target\x20environment\x20(default:\x20current\x20env)','projectPath','../../context.js','cache','remote','Filter\x20by\x20environment\x20(default:\x20current\x20env)','\x20cached\x20app(s)\x20for\x20env=\x22','\x20app(s)\x20for\x20env=\x22','langs','mergedCli','isArray','1045436ApGeLq','3673010OJtQNQ','str','length','entries','include-unpublished','accessKey','write','i18nInfo','read','appcode','Refreshed\x20app\x20cache\x20with\x20','type','appCode','appOwnerName','app','find','cachePath','no-cache','Loaded\x20','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','appName','bool','boolean','Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','nonInteractive','No\x20cached\x20apps\x20found.','filter','env','No\x20apps\x20found\x20on\x20the\x20platform.','production','string','Read\x20from\x20local\x20cache\x20only','appPublishStatus','2249808fPXHtb','items','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','local','map'];a3_0x248e=function(){return _0x2d5ebc;};return a3_0x248e();}function a3_0x2cbf(_0x1660a9,_0x38ac38){_0x1660a9=_0x1660a9-0x12a;const _0x248e0e=a3_0x248e();let _0x2cbf35=_0x248e0e[_0x1660a9];return _0x2cbf35;}import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x566497,_0x46a03c){const _0x1a1ea8=a3_0x2cbf,_0x37f5bc={};for(const _0x11aad7 of _0x46a03c){const _0xd55365=_0x11aad7[_0x1a1ea8(0x12e)]===_0x1a1ea8(0x139)?_0x566497['bool'](_0x11aad7[_0x1a1ea8(0x151)]):_0x566497['str'](_0x11aad7[_0x1a1ea8(0x151)]);if(_0xd55365!==''&&_0xd55365!==![])_0x37f5bc[_0x11aad7[_0x1a1ea8(0x151)]]=_0xd55365;}if(_0x566497[_0x1a1ea8(0x13c)])_0x37f5bc[_0x1a1ea8(0x13c)]=!![];return _0x37f5bc;}function normalizeLanguages(_0x3139b5){const _0x9bfe5a=a3_0x2cbf;if(!Array[_0x9bfe5a(0x166)](_0x3139b5))return[];return _0x3139b5[_0x9bfe5a(0x13e)](_0x2e7976=>typeof _0x2e7976==='string')[_0x9bfe5a(0x149)](_0x16aeab=>_0x16aeab[_0x9bfe5a(0x154)]())['filter'](Boolean);}function buildRemoteAppI18nFields(_0x3b7208){const _0x24dd99=a3_0x2cbf,_0xefba37=normalizeLanguages(_0x3b7208[_0x24dd99(0x12a)]?.[_0x24dd99(0x164)]);return{'enableI18n':typeof _0x3b7208[_0x24dd99(0x14e)]==='boolean'?_0x3b7208[_0x24dd99(0x14e)]:null,'languages':_0xefba37,'i18nInfo':_0x3b7208[_0x24dd99(0x12a)]?{..._0x3b7208[_0x24dd99(0x12a)],'langs':_0xefba37['length']?_0xefba37:null}:null};}const listDef={'service':a3_0x526ea3(0x131),'command':a3_0x526ea3(0x153),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x526ea3(0x12b),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x526ea3(0x13f),'type':a3_0x526ea3(0x142),'description':a3_0x526ea3(0x161),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x526ea3(0x139),'description':'Read\x20app\x20list\x20from\x20local\x20cache\x20only','default':![]},{'name':'no-cache','type':a3_0x526ea3(0x139),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x526ea3(0x16c),'type':a3_0x526ea3(0x139),'description':a3_0x526ea3(0x15b),'default':![]}],async 'execute'(_0x4b29a2){const _0x41791f=a3_0x526ea3,_0x5b114b=_0x4b29a2[_0x41791f(0x169)](_0x41791f(0x13f))||_0x4b29a2[_0x41791f(0x14b)]||getEnv()||'production',_0x556e77=_0x4b29a2['bool'](_0x41791f(0x148)),_0x210438=_0x4b29a2[_0x41791f(0x138)](_0x41791f(0x134)),_0x4a6db1=_0x4b29a2[_0x41791f(0x138)](_0x41791f(0x16c)),{readRawConfigWithLayers:_0x99856b,resolveDefaultAppSource:_0x510596,getLocalAppAliases:_0x4a2b60}=await import(_0x41791f(0x15e)),{getRemoteAppList:_0x3b4b4e}=await import(_0x41791f(0x14d)),{config:_0x18c041,layers:_0x137001}=_0x99856b(),_0x57e4cc=_0x510596(_0x137001),{defaultApp:_0x411c96}=_0x18c041,_0x198ca1=await _0x3b4b4e({'env':_0x5b114b,'accessKey':_0x4b29a2[_0x41791f(0x16d)],'localOnly':_0x556e77,'noCache':_0x210438}),_0x59ccd0=_0x4a6db1?_0x198ca1[_0x41791f(0x146)]:filterRuntimeAccessibleApps(_0x198ca1['items']),_0x4aff43=_0x198ca1[_0x41791f(0x146)][_0x41791f(0x16a)]-_0x59ccd0['length'],_0x592586=_0x59ccd0[_0x41791f(0x149)](_0xba8247=>{const _0x380a68=_0x41791f;return{'name':_0xba8247[_0x380a68(0x137)],'appcode':_0xba8247[_0x380a68(0x12f)],'named':!![],'definedIn':_0x380a68(0x160),'isDefault':_0xba8247[_0x380a68(0x137)]===_0x411c96,...buildAppProfileListFields(_0x5b114b),...buildRemoteAppI18nFields(_0xba8247),'source':_0x198ca1['source'],'owner':_0xba8247[_0x380a68(0x130)]??null,'status':_0xba8247[_0x380a68(0x144)]??null,'cachedAt':_0x198ca1[_0x380a68(0x156)]};}),_0x2aeae3=_0x4a2b60(_0x18c041);let _0x3ddaa4=0x0;for(const [_0x3e2e7f,_0x5dc51e]of Object[_0x41791f(0x16b)](_0x2aeae3)){const _0x27c493=typeof _0x5dc51e[_0x41791f(0x12c)]==='string'?_0x5dc51e['appcode'][_0x41791f(0x154)]():'';if(!_0x27c493)continue;const _0x1f259c=findAppByCode(_0x198ca1[_0x41791f(0x146)],_0x27c493);if(!_0x4a6db1&&_0x1f259c&&!isRuntimeAccessibleApp(_0x1f259c))continue;_0x3ddaa4+=0x1,_0x592586['push']({'name':_0x3e2e7f,'appcode':_0x27c493,'named':!![],'definedIn':_0x41791f(0x148),'isDefault':_0x3e2e7f===_0x411c96,...buildAppProfileListFields(_0x5b114b),'source':_0x41791f(0x155),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x592586,_0x4b29a2[_0x41791f(0x165)]);const _0x9451a2=_0x592586[_0x41791f(0x132)](_0x4cf430=>_0x4cf430['isCurrent']===!![]),_0xc01fef=_0x411c96??_0x9451a2?.[_0x41791f(0x151)]??null,_0x534668={'env':_0x5b114b,'source':_0x198ca1[_0x41791f(0x14c)],'fetchedAt':_0x198ca1[_0x41791f(0x156)],'cachePath':_0x198ca1[_0x41791f(0x133)],'globalPath':_0x137001[_0x41791f(0x150)]??null,'projectPath':_0x137001[_0x41791f(0x15d)]??null,'defaultApp':_0xc01fef,'defaultAppSource':_0x411c96!=null?_0x57e4cc:null,'localAliasCount':_0x3ddaa4,'remoteTotal':_0x198ca1[_0x41791f(0x146)][_0x41791f(0x16a)],'hiddenUnpublishedCount':_0x4aff43,'includeUnpublished':_0x4a6db1};if(_0x592586[_0x41791f(0x16a)]===0x0)return{'ok':!![],'data':{'items':_0x592586,'meta':_0x534668},'message':_0x198ca1[_0x41791f(0x14c)]===_0x41791f(0x15f)?_0x41791f(0x13d):_0x41791f(0x140)};return{'ok':!![],'data':{'items':_0x592586,'meta':_0x534668}};}},pullDef={'service':a3_0x526ea3(0x131),'command':a3_0x526ea3(0x14f),'description':a3_0x526ea3(0x147),'risk':a3_0x526ea3(0x16e),'confirmationDescription':a3_0x526ea3(0x136),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x526ea3(0x13f),'type':a3_0x526ea3(0x142),'description':a3_0x526ea3(0x15c),'enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x526ea3(0x148),'type':a3_0x526ea3(0x139),'description':a3_0x526ea3(0x143),'default':![]},{'name':'no-cache','type':a3_0x526ea3(0x139),'description':a3_0x526ea3(0x13b),'default':![]}],async 'execute'(_0xc2a36d){const _0x4f0601=a3_0x526ea3,_0x4a8ac2=_0xc2a36d[_0x4f0601(0x169)](_0x4f0601(0x13f))||_0xc2a36d[_0x4f0601(0x14b)]||getEnv()||_0x4f0601(0x141),_0x17dd86=_0xc2a36d['bool']('local'),_0x3fc8a2=_0xc2a36d[_0x4f0601(0x138)](_0x4f0601(0x134)),{getRemoteAppList:_0x18c0e2}=await import(_0x4f0601(0x14d)),_0x5b8bb5=await _0x18c0e2({'env':_0x4a8ac2,'accessKey':_0xc2a36d[_0x4f0601(0x16d)],'localOnly':_0x17dd86,'noCache':_0x3fc8a2});return{'ok':!![],'data':{'total':_0x5b8bb5[_0x4f0601(0x146)][_0x4f0601(0x16a)],'env':_0x4a8ac2,'source':_0x5b8bb5[_0x4f0601(0x14c)],'fetchedAt':_0x5b8bb5[_0x4f0601(0x156)],'cachePath':_0x5b8bb5['cachePath']},'message':_0x5b8bb5[_0x4f0601(0x14c)]==='cache'?_0x4f0601(0x135)+_0x5b8bb5['items'][_0x4f0601(0x16a)]+_0x4f0601(0x162)+_0x4a8ac2+'\x22.':_0x4f0601(0x12d)+_0x5b8bb5[_0x4f0601(0x146)][_0x4f0601(0x16a)]+_0x4f0601(0x163)+_0x4a8ac2+'\x22.'};}},importDef={'service':a3_0x526ea3(0x131),'command':a3_0x526ea3(0x15a),'description':a3_0x526ea3(0x13a),'risk':a3_0x526ea3(0x16e),'confirmationDescription':'Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x280bf3){return await runAppImport(collectFlags(_0x280bf3,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a4_0x1cdb(_0x280f88,_0xe73179){_0x280f88=_0x280f88-0x11e;const _0xe18870=a4_0xe188();let _0x1cdb3b=_0xe18870[_0x280f88];return _0x1cdb3b;}(function(_0x54228d,_0x1f2eb5){const _0x147a7f=a4_0x1cdb,_0x2c5767=_0x54228d();while(!![]){try{const _0x559edd=parseInt(_0x147a7f(0x11e))/0x1+-parseInt(_0x147a7f(0x122))/0x2+-parseInt(_0x147a7f(0x131))/0x3*(-parseInt(_0x147a7f(0x128))/0x4)+parseInt(_0x147a7f(0x123))/0x5+parseInt(_0x147a7f(0x121))/0x6*(parseInt(_0x147a7f(0x12c))/0x7)+parseInt(_0x147a7f(0x12f))/0x8*(parseInt(_0x147a7f(0x11f))/0x9)+-parseInt(_0x147a7f(0x129))/0xa*(parseInt(_0x147a7f(0x120))/0xb);if(_0x559edd===_0x1f2eb5)break;else _0x2c5767['push'](_0x2c5767['shift']());}catch(_0x5795d7){_0x2c5767['push'](_0x2c5767['shift']());}}}(a4_0xe188,0xda62a));import{CLI_BIN_NAME}from'../../constant/cli.js';import{RUNTIME_ACCESSIBLE_APP_STATUS}from'../../constant/app.js';import{CliErrors}from'../../errors.js';export function normalizeAppPublishStatus(_0x3573a4){const _0x144f64=a4_0x1cdb;if(typeof _0x3573a4!=='string')return null;const _0xeed2ab=_0x3573a4[_0x144f64(0x12a)]();return _0xeed2ab?_0xeed2ab[_0x144f64(0x132)]():null;}export function isRuntimeAccessibleApp(_0x3907f9){return normalizeAppPublishStatus(_0x3907f9['appPublishStatus'])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x58d7ee){const _0x35eca2=a4_0x1cdb;return _0x58d7ee[_0x35eca2(0x12e)](isRuntimeAccessibleApp);}export function findAppByName(_0x29dfc2,_0x2e6cfa){const _0x5d6dce=a4_0x1cdb;return _0x29dfc2[_0x5d6dce(0x133)](_0x42b3da=>_0x42b3da[_0x5d6dce(0x126)]===_0x2e6cfa);}function a4_0xe188(){const _0x191fe9=['320840PNYzet','UNKNOWN','appPublishStatus','appName','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','1528ZlbwwQ','9998710CyehCy','trim','appCode','4424973FroUxY','.\x20Publish\x20the\x20app\x20before\x20using\x20','filter','8gCakxU','Current\x20status:\x20','381DTTsFg','toUpperCase','find','474337mgrKJL','12900069GRWcgV','22GhxDVW','12UhjrcP','780780pRsGuZ'];a4_0xe188=function(){return _0x191fe9;};return a4_0xe188();}export function findAppByCode(_0x3ef6f3,_0x33ac6e){const _0x37c30b=a4_0x1cdb,_0x132796=_0x33ac6e[_0x37c30b(0x12a)]();if(!_0x132796)return undefined;return _0x3ef6f3['find'](_0x1b2fa7=>_0x1b2fa7[_0x37c30b(0x12b)]?.[_0x37c30b(0x12a)]()===_0x132796);}export function runtimeInaccessibleAppError(_0x209e5b,_0x21ccda){const _0x2bd452=a4_0x1cdb,_0x294bb8=normalizeAppPublishStatus(_0x209e5b[_0x2bd452(0x125)])??_0x2bd452(0x124);return CliErrors['validation']('App\x20'+_0x21ccda+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0x2bd452(0x130)+_0x294bb8+_0x2bd452(0x12d)+CLI_BIN_NAME+_0x2bd452(0x127));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a5_0x46a9(){const _0xecf10=['../../../mock/app-list.json','1020jhbzdI','1192490wudcvQ','3YzexhG','4hyREmL','errorCode','319efAhNR','data','7797375LgHxia','parse','errorMsg','1462794AMjUhj','6789070mlrptr','154GRYqQZ','utf-8','5559208JaKNoe','2743734iTColA','success','tableData'];a5_0x46a9=function(){return _0xecf10;};return a5_0x46a9();}(function(_0x4b90a6,_0x2c9a68){const _0x16118c=a5_0x1ecf,_0x34ad71=_0x4b90a6();while(!![]){try{const _0x4450de=-parseInt(_0x16118c(0x111))/0x1+parseInt(_0x16118c(0x116))/0x2*(-parseInt(_0x16118c(0x11c))/0x3)+-parseInt(_0x16118c(0x11d))/0x4*(parseInt(_0x16118c(0x112))/0x5)+parseInt(_0x16118c(0x11a))/0x6*(-parseInt(_0x16118c(0x113))/0x7)+parseInt(_0x16118c(0x115))/0x8+parseInt(_0x16118c(0x10e))/0x9+parseInt(_0x16118c(0x11b))/0xa*(parseInt(_0x16118c(0x11f))/0xb);if(_0x4450de===_0x2c9a68)break;else _0x34ad71['push'](_0x34ad71['shift']());}catch(_0x49cce5){_0x34ad71['push'](_0x34ad71['shift']());}}}(a5_0x46a9,0xc8ff2));import{fileURLToPath}from'url';import{dirname,join}from'path';import{readFileSync}from'fs';function a5_0x1ecf(_0x4323b3,_0x3b4299){_0x4323b3=_0x4323b3-0x10d;const _0x46a934=a5_0x46a9();let _0x1ecf75=_0x46a934[_0x4323b3];return _0x1ecf75;}const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x13d838=a5_0x1ecf,_0x594656=join(__dirname,_0x13d838(0x119)),_0x5ecfd9=readFileSync(_0x594656,_0x13d838(0x114));return JSON[_0x13d838(0x10f)](_0x5ecfd9);}let _cached=null;export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x1fc087=a5_0x1ecf,_0x396ec6=getMockAppList();if(!_0x396ec6[_0x1fc087(0x117)])throw new Error('Mock\x20API\x20error:\x20'+_0x396ec6[_0x1fc087(0x110)]+'\x20('+_0x396ec6[_0x1fc087(0x11e)]+')');return _0x396ec6[_0x1fc087(0x10d)][_0x1fc087(0x118)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x5eb5(){const _0x56ab97=['APP_LIST_SOURCE','5057307yisjKI','mock','134ilBtEy','24288YBDdME','23190vAeNXK','8AecHyo','remote','9296tizKWw','fetchedAt','1555SbWLwG','toISOString','trim','items','cache','434LmbkOe','9963063bxZrpx','5011780HQHcVu','435975xhwWza','toLowerCase'];a6_0x5eb5=function(){return _0x56ab97;};return a6_0x5eb5();}(function(_0x570cff,_0x1e5d9e){const _0x2cd2db=a6_0x47b3,_0x16d301=_0x570cff();while(!![]){try{const _0x4f1aa8=-parseInt(_0x2cd2db(0x105))/0x1+parseInt(_0x2cd2db(0x10a))/0x2*(-parseInt(_0x2cd2db(0x10c))/0x3)+-parseInt(_0x2cd2db(0x10f))/0x4*(-parseInt(_0x2cd2db(0x111))/0x5)+-parseInt(_0x2cd2db(0x10b))/0x6*(parseInt(_0x2cd2db(0x102))/0x7)+-parseInt(_0x2cd2db(0x10d))/0x8*(parseInt(_0x2cd2db(0x108))/0x9)+parseInt(_0x2cd2db(0x104))/0xa+parseInt(_0x2cd2db(0x103))/0xb;if(_0x4f1aa8===_0x1e5d9e)break;else _0x16d301['push'](_0x16d301['shift']());}catch(_0x21bc30){_0x16d301['push'](_0x16d301['shift']());}}}(a6_0x5eb5,0x5898b));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';function a6_0x47b3(_0x3120f0,_0x41d62f){_0x3120f0=_0x3120f0-0x100;const _0x5eb563=a6_0x5eb5();let _0x47b38c=_0x5eb563[_0x3120f0];return _0x47b38c;}import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x4b1797=a6_0x47b3,_0x326777=(productEnv(_0x4b1797(0x107))||'')[_0x4b1797(0x113)]()[_0x4b1797(0x106)]();return _0x326777===_0x4b1797(0x109);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x10e331){const _0x80ac68=a6_0x47b3,{env:_0x5c17cd,accessKey:_0x407c75,localOnly:localOnly=![],noCache:noCache=![]}=_0x10e331,_0xc83fdb=readCachedAppList(_0x5c17cd,_0x407c75),_0xbe2ff7=_0x407c75?.[_0x80ac68(0x113)]()?getAppCacheFilePath(_0x5c17cd,_0x407c75):null;if(localOnly)return{'items':_0xc83fdb?.['items']??[],'source':_0x80ac68(0x101),'fetchedAt':_0xc83fdb?.[_0x80ac68(0x110)]??null,'cachePath':_0xbe2ff7};try{const _0x2ba3a8=await getRemoteAppItems(),_0x27fa68=shouldUseMockRemoteApps()?_0x80ac68(0x109):_0x80ac68(0x10e),_0x2ff49e=new Date()[_0x80ac68(0x112)](),_0x3ee49c=_0x407c75?.['trim']()?writeCachedAppList(_0x5c17cd,_0x407c75,{'env':_0x5c17cd,'fetchedAt':_0x2ff49e,'source':_0x27fa68,'items':_0x2ba3a8}):null;return{'items':_0x2ba3a8,'source':_0x27fa68,'fetchedAt':_0x2ff49e,'cachePath':_0x3ee49c};}catch(_0x3fc5b5){if(!noCache&&_0xc83fdb)return{'items':_0xc83fdb[_0x80ac68(0x100)],'source':'cache','fetchedAt':_0xc83fdb[_0x80ac68(0x110)],'cachePath':_0xbe2ff7};throw _0x3fc5b5;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x42174c,_0x190f7f){const _0x37f8d1=a7_0x1173,_0x463390=_0x42174c();while(!![]){try{const _0x101493=parseInt(_0x37f8d1(0xd6))/0x1+parseInt(_0x37f8d1(0xd1))/0x2+parseInt(_0x37f8d1(0xd4))/0x3+-parseInt(_0x37f8d1(0xd2))/0x4*(parseInt(_0x37f8d1(0xe0))/0x5)+-parseInt(_0x37f8d1(0xd7))/0x6+parseInt(_0x37f8d1(0xde))/0x7+parseInt(_0x37f8d1(0xd5))/0x8*(parseInt(_0x37f8d1(0xdd))/0x9);if(_0x101493===_0x190f7f)break;else _0x463390['push'](_0x463390['shift']());}catch(_0x5772ad){_0x463390['push'](_0x463390['shift']());}}}(a7_0x2385,0x52f7e));function a7_0x1173(_0x4fed09,_0x3107d7){_0x4fed09=_0x4fed09-0xcf;const _0x23858b=a7_0x2385();let _0x1173ed=_0x23858b[_0x4fed09];return _0x1173ed;}function a7_0x2385(){const _0x1b9adc=['trim','currentApp','name','appCode','local','267462gggvDz','1375031uFZqit','named','12415JDwYSt','find','isCurrent','appcode','190766jhknNk','908xFjeNg','defaultApp','1274556bbbYsV','8Bunzri','174232FIXIiU','102834ORoytB'];a7_0x2385=function(){return _0x1b9adc;};return a7_0x2385();}export function enrichAppListItemsWithMergedSelection(_0x330ad3,_0x19c153){const _0x8df62a=a7_0x1173;if(!_0x19c153)return;const _0x159163=!!(_0x19c153[_0x8df62a(0xd9)]??_0x19c153[_0x8df62a(0xd3)]);for(const _0xfc2737 of _0x330ad3){_0xfc2737['isCurrent']=![];}const _0x4786bb=_0x19c153[_0x8df62a(0xdb)]!=null?String(_0x19c153[_0x8df62a(0xdb)])['trim']():'';if(_0x159163){const _0x251e1b=_0x19c153[_0x8df62a(0xd9)]??_0x19c153[_0x8df62a(0xd3)];if(_0x251e1b){const _0x30d192=_0x330ad3[_0x8df62a(0xe1)](_0x27bc91=>_0x27bc91[_0x8df62a(0xdf)]===!![]&&_0x27bc91[_0x8df62a(0xda)]===_0x251e1b&&_0x27bc91['definedIn']===_0x8df62a(0xdc)),_0x13dd50=_0x30d192??_0x330ad3[_0x8df62a(0xe1)](_0x1df507=>_0x1df507[_0x8df62a(0xdf)]===!![]&&_0x1df507[_0x8df62a(0xda)]===_0x251e1b);if(_0x13dd50){const _0x2914c7=String(_0x13dd50['appcode']??'')[_0x8df62a(0xd8)]();if(!_0x4786bb||_0x2914c7===_0x4786bb){_0x13dd50[_0x8df62a(0xcf)]=!![];return;}}}if(_0x4786bb){const _0x514c47=_0x330ad3[_0x8df62a(0xe1)](_0x3f9bf7=>String(_0x3f9bf7['appcode']??'')[_0x8df62a(0xd8)]()===_0x4786bb);_0x514c47&&(_0x514c47[_0x8df62a(0xcf)]=!![]);}return;}if(!_0x4786bb)return;for(const _0x241cc7 of _0x330ad3){String(_0x241cc7[_0x8df62a(0xd0)]??'')[_0x8df62a(0xd8)]()===_0x4786bb&&(_0x241cc7[_0x8df62a(0xcf)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x41377d=a8_0x24e5;(function(_0x5c1120,_0xc4b6fe){const _0x248600=a8_0x24e5,_0x16edd6=_0x5c1120();while(!![]){try{const _0x538594=parseInt(_0x248600(0x187))/0x1+parseInt(_0x248600(0x17f))/0x2*(parseInt(_0x248600(0x181))/0x3)+parseInt(_0x248600(0x189))/0x4*(parseInt(_0x248600(0x17a))/0x5)+parseInt(_0x248600(0x17b))/0x6*(-parseInt(_0x248600(0x192))/0x7)+parseInt(_0x248600(0x18e))/0x8+-parseInt(_0x248600(0x186))/0x9+-parseInt(_0x248600(0x180))/0xa*(parseInt(_0x248600(0x185))/0xb);if(_0x538594===_0xc4b6fe)break;else _0x16edd6['push'](_0x16edd6['shift']());}catch(_0x397a36){_0x16edd6['push'](_0x16edd6['shift']());}}}(a8_0x5da5,0x91d00));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a8_0x24e5(_0x3adfa0,_0xc8cf06){_0x3adfa0=_0x3adfa0-0x17a;const _0x5da54c=a8_0x5da5();let _0x24e536=_0x5da54c[_0x3adfa0];return _0x24e536;}function a8_0x5da5(){const _0x5eddda=['Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','key','app-config','1234807CnmSVD','1198045RwRpIj','12wjXTEu','Missing\x20app-config\x20key.','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','appCode','2ENMXrk','410hnwFgA','2407233kQlIbY','App\x20config\x20key','Unable\x20to\x20get\x20app-config\x20value:\x20key=','Usage:\x20','503668LaceFZ','3785022oxBqoD','884694vEfIqA','get','8EpVBem','read','\x20app-config\x20get\x20<key>','validation','trim','8652744TlWcIJ'];a8_0x5da5=function(){return _0x5eddda;};return a8_0x5da5();}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x41377d(0x191),'command':a8_0x41377d(0x188),'description':a8_0x41377d(0x18f),'risk':a8_0x41377d(0x18a),'args':[{'name':a8_0x41377d(0x190),'description':a8_0x41377d(0x182),'required':!![]}],'flags':[],async 'execute'(_0x51c0fc){const _0x5835e7=a8_0x41377d,_0x35bb03=_0x51c0fc['args'][0x0]?.[_0x5835e7(0x18d)]();if(!_0x35bb03)throw CliErrors[_0x5835e7(0x18c)](_0x5835e7(0x17c),_0x5835e7(0x184)+CLI_BIN_NAME+_0x5835e7(0x18b));try{const _0x170f9d=await getRuntimeAppConfigByKey(_0x51c0fc[_0x5835e7(0x17e)],_0x35bb03);return{'ok':!![],'data':_0x170f9d};}catch{throw CliErrors['apiError'](_0x5835e7(0x183)+_0x35bb03+',\x20appCode='+_0x51c0fc['appCode'],_0x5835e7(0x17d));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x171fa2,_0x5afb59){const _0x34553b=a9_0x1691,_0x5a73e6=_0x171fa2();while(!![]){try{const _0x33e3fb=parseInt(_0x34553b(0x15d))/0x1*(-parseInt(_0x34553b(0x15b))/0x2)+-parseInt(_0x34553b(0x15e))/0x3+parseInt(_0x34553b(0x156))/0x4+-parseInt(_0x34553b(0x154))/0x5*(parseInt(_0x34553b(0x15c))/0x6)+-parseInt(_0x34553b(0x158))/0x7*(-parseInt(_0x34553b(0x157))/0x8)+parseInt(_0x34553b(0x15a))/0x9*(parseInt(_0x34553b(0x155))/0xa)+parseInt(_0x34553b(0x159))/0xb*(parseInt(_0x34553b(0x15f))/0xc);if(_0x33e3fb===_0x5afb59)break;else _0x5a73e6['push'](_0x5a73e6['shift']());}catch(_0x2ce661){_0x5a73e6['push'](_0x5a73e6['shift']());}}}(a9_0x2214,0x46266));import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x1691(_0x4f2a93,_0x3e9823){_0x4f2a93=_0x4f2a93-0x154;const _0x221440=a9_0x2214();let _0x1691f4=_0x221440[_0x4f2a93];return _0x1691f4;}export const appConfigDefinitions=[appConfigGet];function a9_0x2214(){const _0x117e8e=['1379bwYitk','44RTGZVX','81BmrdZo','14ipmIhl','2675826zBmLhR','6506jKTpkh','1342371ClwvpC','1096152MLgGgV','5RqdfoI','160970NEOydV','631784SuTCaf','22664aaivhG'];a9_0x2214=function(){return _0x117e8e;};return a9_0x2214();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x14432d=a10_0x39ea;(function(_0x4ecbd8,_0x122b57){const _0x20252b=a10_0x39ea,_0x43c039=_0x4ecbd8();while(!![]){try{const _0x311c6d=parseInt(_0x20252b(0x1cc))/0x1*(parseInt(_0x20252b(0x1b0))/0x2)+-parseInt(_0x20252b(0x177))/0x3*(parseInt(_0x20252b(0x196))/0x4)+-parseInt(_0x20252b(0x1ca))/0x5+parseInt(_0x20252b(0x1ce))/0x6+parseInt(_0x20252b(0x180))/0x7*(parseInt(_0x20252b(0x1b1))/0x8)+-parseInt(_0x20252b(0x1cb))/0x9*(parseInt(_0x20252b(0x17a))/0xa)+parseInt(_0x20252b(0x17c))/0xb*(parseInt(_0x20252b(0x1ac))/0xc);if(_0x311c6d===_0x122b57)break;else _0x43c039['push'](_0x43c039['shift']());}catch(_0x44fbc5){_0x43c039['push'](_0x43c039['shift']());}}}(a10_0x389d,0xbcbc0));function a10_0x389d(){const _0xdcbf32=['Preview:\x20create\x20react_module\x20Artifact','Invalid\x20JSON\x20for\x20--metadata:\x20','Optional\x20favorite-state\x20filter','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','2795980NFCnyE','3243978UlZyyP','2NsxbeB','.\x20Unsupported:\x20','254400ybkdDo','artifactType','27519SSuCZg','compiledContent','write','30XNJFTL','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','138622SZqGZS','startsWith','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','POST','1961386pjoUpe','AGENT','metadata','appCode','read','test','lodash','artifact','@ant-design/icons','update','isArray','create','length','updateTime','Artifact\x20display\x20name','createTime','string','join','File\x20not\x20found:\x20','file','Artifact\x20source\x20file\x20is\x20blank.','number','296zDXsmB','verbose','Updated\x20Artifact\x20','filter','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Artifact\x20ID','name','source','antd','deleted','list','trim','bool','includes','react-dom','favorite','File\x20path\x20is\x20required.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','split','detail','str','add','1092tFFJkW','flag','react_module\x20imports\x20are\x20limited\x20to:\x20','/update','1062604esyafm','24TVckGy','object','validation','lastIndex','boolean','map','Created\x20Artifact\x20','utf8','num','exec','List\x20current-app\x20react_module\x20Artifacts','description','some','File\x20is\x20not\x20a\x20regular\x20file:\x20','content','parse','react_module','/client/artifact/create','/client/artifact/','build','Preview:\x20update\x20react_module\x20Artifact\x20'];a10_0x389d=function(){return _0xdcbf32;};return a10_0x389d();}import{existsSync,readFileSync,statSync}from'node:fs';function a10_0x39ea(_0x575065,_0x25eecf){_0x575065=_0x575065-0x177;const _0x389d13=a10_0x389d();let _0x39eafa=_0x389d13[_0x575065];return _0x39eafa;}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_0x14432d(0x1c1),ARTIFACT_SOURCE_AGENT=a10_0x14432d(0x181),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x14432d(0x1a4),a10_0x14432d(0x186),'dayjs',a10_0x14432d(0x19e),a10_0x14432d(0x188)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x14432d(0x191)](',\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_0x14432d(0x193),'type':a10_0x14432d(0x190),'required':!![],'description':a10_0x14432d(0x19a)},ARTIFACT_NAME_FLAG={'name':a10_0x14432d(0x19c),'type':a10_0x14432d(0x190),'description':a10_0x14432d(0x18e)},METADATA_FLAG={'name':a10_0x14432d(0x182),'type':a10_0x14432d(0x190),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x2d591d){const _0x510e68=a10_0x14432d;return typeof _0x2d591d===_0x510e68(0x1b2)&&_0x2d591d!==null&&!Array[_0x510e68(0x18a)](_0x2d591d);}function readSourceFile(_0x55e212){const _0x347da9=a10_0x14432d;if(!_0x55e212)throw CliErrors[_0x347da9(0x1b3)](_0x347da9(0x1a6));if(!existsSync(_0x55e212))throw CliErrors[_0x347da9(0x1b3)](_0x347da9(0x192)+_0x55e212);if(!statSync(_0x55e212)['isFile']())throw CliErrors[_0x347da9(0x1b3)](_0x347da9(0x1be)+_0x55e212);const _0x5e36ce=readFileSync(_0x55e212,_0x347da9(0x1b8));return validateReactModuleSource(_0x5e36ce),_0x5e36ce;}function parseMetadata(_0x3a7ab8){const _0x2797ed=a10_0x14432d;if(!_0x3a7ab8)return undefined;let _0x53b2ae;try{_0x53b2ae=JSON[_0x2797ed(0x1c0)](_0x3a7ab8);}catch{throw CliErrors[_0x2797ed(0x1b3)](_0x2797ed(0x1c7)+_0x3a7ab8);}if(!isPlainObject(_0x53b2ae))throw CliErrors[_0x2797ed(0x1b3)](_0x2797ed(0x1a7));const _0xa7907f={..._0x53b2ae};return delete _0xa7907f[_0x2797ed(0x178)],_0xa7907f;}function getPackageName(_0x18e184){const _0x40bfd6=a10_0x14432d;if(_0x18e184[_0x40bfd6(0x17d)]('@')){const [_0x2327fb,_0x4cdaaf]=_0x18e184['split']('/');return _0x2327fb&&_0x4cdaaf?_0x2327fb+'/'+_0x4cdaaf:_0x18e184;}return _0x18e184[_0x40bfd6(0x1a8)]('/')[0x0]||_0x18e184;}function validateAllowedImports(_0x38334e){const _0x21595e=a10_0x14432d,_0x4b1f1d=new Set();for(const _0x4ea9e2 of IMPORT_SOURCE_PATTERNS){_0x4ea9e2[_0x21595e(0x1b4)]=0x0;let _0x4cb294;while((_0x4cb294=_0x4ea9e2[_0x21595e(0x1ba)](_0x38334e))!==null){const _0x5e83b0=_0x4cb294[0x1]?.[_0x21595e(0x1a1)]();_0x5e83b0&&_0x4b1f1d[_0x21595e(0x1ab)](_0x5e83b0);}}const _0x3b6b91=[..._0x4b1f1d]['map'](getPackageName)[_0x21595e(0x199)](_0x5b7ce6=>!ALLOWED_REACT_MODULE_IMPORTS[_0x21595e(0x1a3)](_0x5b7ce6));if(_0x3b6b91[_0x21595e(0x18c)]>0x0)throw CliErrors['validation'](_0x21595e(0x1ae)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x21595e(0x1cd)+[...new Set(_0x3b6b91)][_0x21595e(0x191)](',\x20'));}export function validateReactModuleSource(_0x5848f6){const _0x14dcad=a10_0x14432d;if(!_0x5848f6[_0x14dcad(0x1a1)]())throw CliErrors[_0x14dcad(0x1b3)](_0x14dcad(0x194));if(PAGE_LEVEL_PATTERNS[_0x14dcad(0x1bd)](_0x508f56=>_0x508f56[_0x14dcad(0x185)](_0x5848f6)))throw CliErrors[_0x14dcad(0x1b3)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x5848f6);}function buildArtifactInput(_0x10d008){const _0x504481=a10_0x14432d,_0x5367e6=readSourceFile(_0x10d008['str'](_0x504481(0x193))),_0x7bf74=_0x10d008[_0x504481(0x1aa)](_0x504481(0x19c))[_0x504481(0x1a1)](),_0x156644=parseMetadata(_0x10d008[_0x504481(0x1aa)](_0x504481(0x182)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x7bf74?{'name':_0x7bf74}:{},'content':_0x5367e6,..._0x156644?{'metadata':_0x156644}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x492eac){const _0xbbda3c=a10_0x14432d;return{'id':_0x492eac['id'],'name':_0x492eac[_0xbbda3c(0x19c)],'artifactType':_0x492eac[_0xbbda3c(0x1cf)],'source':_0x492eac['source'],'favorite':_0x492eac[_0xbbda3c(0x1a5)],'deleted':_0x492eac[_0xbbda3c(0x19f)],'createTime':_0x492eac[_0xbbda3c(0x18f)],'updateTime':_0x492eac[_0xbbda3c(0x18d)]};}function detailArtifact(_0x1ae6aa){const _0x5c6cff=a10_0x14432d;return{'id':_0x1ae6aa['id'],'appCode':_0x1ae6aa[_0x5c6cff(0x183)],'name':_0x1ae6aa[_0x5c6cff(0x19c)],'artifactType':_0x1ae6aa[_0x5c6cff(0x1cf)],'source':_0x1ae6aa[_0x5c6cff(0x19d)],'favorite':_0x1ae6aa[_0x5c6cff(0x1a5)],'deleted':_0x1ae6aa[_0x5c6cff(0x19f)],'content':_0x1ae6aa[_0x5c6cff(0x1bf)]??'','compiledContent':_0x1ae6aa['compiledContent'],'metadata':_0x1ae6aa['metadata']??{},'createTime':_0x1ae6aa[_0x5c6cff(0x18f)],'updateTime':_0x1ae6aa[_0x5c6cff(0x18d)]};}function readFavoriteFlag(_0x16cf28){const _0x48e1e4=a10_0x14432d,_0x49cc27=_0x16cf28[_0x48e1e4(0x1ad)]('favorite');return _0x49cc27===undefined||_0x49cc27===null||_0x49cc27===''?undefined:_0x16cf28[_0x48e1e4(0x1a2)]('favorite');}const artifactList={'service':'artifact','command':a10_0x14432d(0x1a0),'description':a10_0x14432d(0x1bb),'risk':a10_0x14432d(0x184),'flags':[{'name':a10_0x14432d(0x19d),'type':a10_0x14432d(0x190),'description':'Optional\x20source\x20filter,\x20for\x20example\x20AGENT'},{'name':a10_0x14432d(0x1a5),'type':a10_0x14432d(0x1b5),'description':a10_0x14432d(0x1c8)},VERBOSE_FLAG],async 'execute'(_0x206695){const _0x125de5=a10_0x14432d,_0x30f273=await listRuntimeArtifacts(_0x206695[_0x125de5(0x183)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x206695[_0x125de5(0x1aa)](_0x125de5(0x19d))?{'source':_0x206695[_0x125de5(0x1aa)]('source')}:{},...readFavoriteFlag(_0x206695)!==undefined?{'favorite':readFavoriteFlag(_0x206695)}:{}});return{'ok':!![],'data':{'total':_0x30f273[_0x125de5(0x18c)],'items':_0x206695[_0x125de5(0x1a2)](_0x125de5(0x197))?_0x30f273:_0x30f273[_0x125de5(0x1b6)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0x14432d(0x1a9),'description':'Show\x20one\x20Artifact\x20by\x20id','risk':'read','flags':[{...ID_FLAG,'description':a10_0x14432d(0x19b)}],async 'execute'(_0x54d224){const _0x1bbb89=a10_0x14432d,_0x511b98=await getRuntimeArtifact(_0x54d224['num']('id'),_0x54d224[_0x1bbb89(0x183)]);return{'ok':!![],'data':detailArtifact(_0x511b98)};}},artifactCreate={'service':a10_0x14432d(0x187),'command':a10_0x14432d(0x18b),'description':a10_0x14432d(0x1c9),'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'(_0x5edeef){const _0x527414=a10_0x14432d,_0x25abb8=buildArtifactInput(_0x5edeef),_0xec18dc=await createRuntimeArtifact(_0x5edeef[_0x527414(0x183)],_0x25abb8);return{'ok':!![],'data':detailArtifact(_0xec18dc),'message':_0x527414(0x1b7)+_0xec18dc['id']+(_0xec18dc[_0x527414(0x19c)]?'\x20('+_0xec18dc['name']+')':'')};},async 'dryRun'(_0x537d00){const _0x5022a3=a10_0x14432d,_0x5ba17e=buildArtifactInput(_0x537d00);return dryRun('POST',_0x5022a3(0x1c2))['body']({'appCode':_0x537d00[_0x5022a3(0x183)],..._0x5ba17e})['description'](_0x5022a3(0x1c6))['build']();},'writeEventSubject'(_0x2a5646){const _0x2e9e46=a10_0x14432d,_0x2ad60d=_0x2a5646['data']?.['id'];if(typeof _0x2ad60d!==_0x2e9e46(0x190)&&typeof _0x2ad60d!==_0x2e9e46(0x195))return undefined;return{'kind':_0x2e9e46(0x187),'id':String(_0x2ad60d),'action':_0x2e9e46(0x18b)};}},artifactUpdate={'service':a10_0x14432d(0x187),'command':a10_0x14432d(0x189),'description':a10_0x14432d(0x17e),'risk':a10_0x14432d(0x179),'confirmationDescription':a10_0x14432d(0x17b),'flags':[{...ID_FLAG,'description':a10_0x14432d(0x19b)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x3d8992){const _0x1c96f5=a10_0x14432d,_0x4a052c=_0x3d8992[_0x1c96f5(0x1b9)]('id'),_0x3c5b3d=buildArtifactInput(_0x3d8992),_0x4c26fd=await updateRuntimeArtifact(_0x4a052c,_0x3d8992['appCode'],_0x3c5b3d);return{'ok':!![],'data':detailArtifact(_0x4c26fd),'message':_0x1c96f5(0x198)+_0x4c26fd['id']+(_0x4c26fd[_0x1c96f5(0x19c)]?'\x20('+_0x4c26fd[_0x1c96f5(0x19c)]+')':'')};},async 'dryRun'(_0x499594){const _0x1a2574=a10_0x14432d,_0x49d5ac=_0x499594[_0x1a2574(0x1b9)]('id'),_0x3d5b5b=buildArtifactInput(_0x499594);return dryRun(_0x1a2574(0x17f),_0x1a2574(0x1c3)+_0x49d5ac+_0x1a2574(0x1af))['body']({'appCode':_0x499594[_0x1a2574(0x183)],..._0x3d5b5b})[_0x1a2574(0x1bc)](_0x1a2574(0x1c5)+_0x49d5ac)[_0x1a2574(0x1c4)]();},'writeEventSubject'(_0x3bc9db){const _0xdaf308=a10_0x14432d,_0x4f607d=_0x3bc9db['data']?.['id'];if(typeof _0x4f607d!==_0xdaf308(0x190)&&typeof _0x4f607d!==_0xdaf308(0x195))return undefined;return{'kind':'artifact','id':String(_0x4f607d),'action':_0xdaf308(0x189)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x3439a9=a10_0x2e3e;(function(_0x40e256,_0x442909){const _0x47c5a3=a10_0x2e3e,_0x174754=_0x40e256();while(!![]){try{const _0x12dc86=parseInt(_0x47c5a3(0x10a))/0x1+-parseInt(_0x47c5a3(0x12a))/0x2+-parseInt(_0x47c5a3(0x124))/0x3*(-parseInt(_0x47c5a3(0x13a))/0x4)+-parseInt(_0x47c5a3(0x108))/0x5+parseInt(_0x47c5a3(0x102))/0x6+-parseInt(_0x47c5a3(0xf2))/0x7+parseInt(_0x47c5a3(0xf5))/0x8;if(_0x12dc86===_0x442909)break;else _0x174754['push'](_0x174754['shift']());}catch(_0x395a20){_0x174754['push'](_0x174754['shift']());}}}(a10_0x21ad,0xc4126));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';function a10_0x21ad(){const _0xac5267=['9472856KsszZX','Artifact\x20display\x20name','artifactType','flag','react_module','lastIndex','Artifact\x20source\x20file\x20is\x20blank.','boolean','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','source','filter','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','Invalid\x20JSON\x20for\x20--metadata:\x20','7197354YBjBXg','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','build','AGENT','utf8','includes','1649625bMrROY','react','67607jgniGh','deleted','List\x20current-app\x20react_module\x20Artifacts','exec','split','trim','str','test','length','@ant-design/icons','Preview:\x20update\x20react_module\x20Artifact\x20','name','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','appCode','data','favorite','validation','artifact','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','add','--metadata\x20must\x20be\x20a\x20JSON\x20object.','Optional\x20favorite-state\x20filter','read','object','.\x20Unsupported:\x20','description','4635315YWmNdJ','updateTime','map','write','isArray','Show\x20one\x20Artifact\x20by\x20id','2780646EeHxMb','lodash','/update','create','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','list','file','parse','update','some','compiledContent','metadata','detail','string','num','POST','4SxjFFT','bool','startsWith','join','10311140QlqPUr','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','react-dom'];a10_0x21ad=function(){return _0xac5267;};return a10_0x21ad();}import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x3439a9(0xf9),ARTIFACT_SOURCE_AGENT=a10_0x3439a9(0x105),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x3439a9(0x109),a10_0x3439a9(0xf4),a10_0x3439a9(0x12b),'dayjs','antd',a10_0x3439a9(0x113)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x3439a9(0xf1)](',\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_0x3439a9(0x130),'type':a10_0x3439a9(0x137),'required':!![],'description':a10_0x3439a9(0x12e)},ARTIFACT_NAME_FLAG={'name':a10_0x3439a9(0x115),'type':'string','description':a10_0x3439a9(0xf6)},METADATA_FLAG={'name':'metadata','type':a10_0x3439a9(0x137),'description':a10_0x3439a9(0x11c)};function isPlainObject(_0x5bc51e){const _0x137d64=a10_0x3439a9;return typeof _0x5bc51e===_0x137d64(0x121)&&_0x5bc51e!==null&&!Array[_0x137d64(0x128)](_0x5bc51e);}function readSourceFile(_0x2f3b13){const _0x2efa54=a10_0x3439a9;if(!_0x2f3b13)throw CliErrors[_0x2efa54(0x11a)]('File\x20path\x20is\x20required.');if(!existsSync(_0x2f3b13))throw CliErrors[_0x2efa54(0x11a)]('File\x20not\x20found:\x20'+_0x2f3b13);if(!statSync(_0x2f3b13)['isFile']())throw CliErrors[_0x2efa54(0x11a)]('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2f3b13);const _0xf20968=readFileSync(_0x2f3b13,_0x2efa54(0x106));return validateReactModuleSource(_0xf20968),_0xf20968;}function parseMetadata(_0x57664d){const _0x22aad9=a10_0x3439a9;if(!_0x57664d)return undefined;let _0x353c31;try{_0x353c31=JSON[_0x22aad9(0x131)](_0x57664d);}catch{throw CliErrors['validation'](_0x22aad9(0x101)+_0x57664d);}if(!isPlainObject(_0x353c31))throw CliErrors[_0x22aad9(0x11a)](_0x22aad9(0x11e));const _0x56e4b0={..._0x353c31};return delete _0x56e4b0['compiledContent'],_0x56e4b0;}function getPackageName(_0x4a36c8){const _0x36eb22=a10_0x3439a9;if(_0x4a36c8[_0x36eb22(0xf0)]('@')){const [_0x1adab7,_0x8a0fab]=_0x4a36c8['split']('/');return _0x1adab7&&_0x8a0fab?_0x1adab7+'/'+_0x8a0fab:_0x4a36c8;}return _0x4a36c8[_0x36eb22(0x10e)]('/')[0x0]||_0x4a36c8;}function validateAllowedImports(_0x413846){const _0x2ed079=a10_0x3439a9,_0x22c04e=new Set();for(const _0x972579 of IMPORT_SOURCE_PATTERNS){_0x972579[_0x2ed079(0xfa)]=0x0;let _0x1b72c6;while((_0x1b72c6=_0x972579[_0x2ed079(0x10d)](_0x413846))!==null){const _0x4420b4=_0x1b72c6[0x1]?.[_0x2ed079(0x10f)]();_0x4420b4&&_0x22c04e[_0x2ed079(0x11d)](_0x4420b4);}}const _0x21a882=[..._0x22c04e]['map'](getPackageName)[_0x2ed079(0xff)](_0x24b0f5=>!ALLOWED_REACT_MODULE_IMPORTS[_0x2ed079(0x107)](_0x24b0f5));if(_0x21a882[_0x2ed079(0x112)]>0x0)throw CliErrors[_0x2ed079(0x11a)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x2ed079(0x122)+[...new Set(_0x21a882)][_0x2ed079(0xf1)](',\x20'));}export function validateReactModuleSource(_0x3fe7bf){const _0x18a297=a10_0x3439a9;if(!_0x3fe7bf[_0x18a297(0x10f)]())throw CliErrors[_0x18a297(0x11a)](_0x18a297(0xfb));if(PAGE_LEVEL_PATTERNS[_0x18a297(0x133)](_0x1efe73=>_0x1efe73[_0x18a297(0x111)](_0x3fe7bf)))throw CliErrors[_0x18a297(0x11a)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x3fe7bf);}function buildArtifactInput(_0x275ca9){const _0xf1a9b6=a10_0x3439a9,_0x3fe703=readSourceFile(_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x130))),_0x1f35fc=_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x115))[_0xf1a9b6(0x10f)](),_0x42b2b3=parseMetadata(_0x275ca9[_0xf1a9b6(0x110)](_0xf1a9b6(0x135)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x1f35fc?{'name':_0x1f35fc}:{},'content':_0x3fe703,..._0x42b2b3?{'metadata':_0x42b2b3}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x4b7a43){const _0x40d0bf=a10_0x3439a9;return{'id':_0x4b7a43['id'],'name':_0x4b7a43[_0x40d0bf(0x115)],'artifactType':_0x4b7a43[_0x40d0bf(0xf7)],'source':_0x4b7a43[_0x40d0bf(0xfe)],'favorite':_0x4b7a43['favorite'],'deleted':_0x4b7a43[_0x40d0bf(0x10b)],'createTime':_0x4b7a43['createTime'],'updateTime':_0x4b7a43[_0x40d0bf(0x125)]};}function detailArtifact(_0x5005d0){const _0x2ce508=a10_0x3439a9;return{'id':_0x5005d0['id'],'appCode':_0x5005d0[_0x2ce508(0x117)],'name':_0x5005d0[_0x2ce508(0x115)],'artifactType':_0x5005d0[_0x2ce508(0xf7)],'source':_0x5005d0[_0x2ce508(0xfe)],'favorite':_0x5005d0['favorite'],'deleted':_0x5005d0[_0x2ce508(0x10b)],'content':_0x5005d0['content']??'','compiledContent':_0x5005d0[_0x2ce508(0x134)],'metadata':_0x5005d0[_0x2ce508(0x135)]??{},'createTime':_0x5005d0['createTime'],'updateTime':_0x5005d0[_0x2ce508(0x125)]};}function readFavoriteFlag(_0x1e2f0d){const _0x22e9ac=a10_0x3439a9,_0x186663=_0x1e2f0d[_0x22e9ac(0xf8)](_0x22e9ac(0x119));return _0x186663===undefined||_0x186663===null||_0x186663===''?undefined:_0x1e2f0d[_0x22e9ac(0x13b)](_0x22e9ac(0x119));}const artifactList={'service':'artifact','command':a10_0x3439a9(0x12f),'description':a10_0x3439a9(0x10c),'risk':a10_0x3439a9(0x120),'flags':[{'name':a10_0x3439a9(0xfe),'type':a10_0x3439a9(0x137),'description':a10_0x3439a9(0x116)},{'name':a10_0x3439a9(0x119),'type':a10_0x3439a9(0xfc),'description':a10_0x3439a9(0x11f)},VERBOSE_FLAG],async 'execute'(_0x581bf0){const _0x16ade9=a10_0x3439a9,_0x1f0769=await listRuntimeArtifacts(_0x581bf0[_0x16ade9(0x117)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x581bf0['str'](_0x16ade9(0xfe))?{'source':_0x581bf0[_0x16ade9(0x110)](_0x16ade9(0xfe))}:{},...readFavoriteFlag(_0x581bf0)!==undefined?{'favorite':readFavoriteFlag(_0x581bf0)}:{}});return{'ok':!![],'data':{'total':_0x1f0769[_0x16ade9(0x112)],'items':_0x581bf0[_0x16ade9(0x13b)]('verbose')?_0x1f0769:_0x1f0769[_0x16ade9(0x126)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x3439a9(0x11b),'command':a10_0x3439a9(0x136),'description':a10_0x3439a9(0x129),'risk':a10_0x3439a9(0x120),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0xa358b1){const _0x41d016=await getRuntimeArtifact(_0xa358b1['num']('id'),_0xa358b1['appCode']);return{'ok':!![],'data':detailArtifact(_0x41d016)};}},artifactCreate={'service':'artifact','command':a10_0x3439a9(0x12d),'description':a10_0x3439a9(0xfd),'risk':'write','confirmationDescription':a10_0x3439a9(0xf3),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x1244ca){const _0x3cd567=a10_0x3439a9,_0x1f42f4=buildArtifactInput(_0x1244ca),_0x3722e9=await createRuntimeArtifact(_0x1244ca[_0x3cd567(0x117)],_0x1f42f4);return{'ok':!![],'data':detailArtifact(_0x3722e9),'message':'Created\x20Artifact\x20'+_0x3722e9['id']+(_0x3722e9['name']?'\x20('+_0x3722e9[_0x3cd567(0x115)]+')':'')};},async 'dryRun'(_0x4d45f0){const _0x1fd16d=a10_0x3439a9,_0x2af725=buildArtifactInput(_0x4d45f0);return dryRun(_0x1fd16d(0x139),'/client/artifact/create')['body']({'appCode':_0x4d45f0[_0x1fd16d(0x117)],..._0x2af725})['description']('Preview:\x20create\x20react_module\x20Artifact')[_0x1fd16d(0x104)]();},'writeEventSubject'(_0x19a585){const _0xaa5e84=a10_0x3439a9,_0x513ab4=_0x19a585['data']?.['id'];if(typeof _0x513ab4!==_0xaa5e84(0x137)&&typeof _0x513ab4!=='number')return undefined;return{'kind':'artifact','id':String(_0x513ab4),'action':_0xaa5e84(0x12d)};}},artifactUpdate={'service':a10_0x3439a9(0x11b),'command':a10_0x3439a9(0x132),'description':a10_0x3439a9(0x100),'risk':a10_0x3439a9(0x127),'confirmationDescription':a10_0x3439a9(0x103),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x92b91f){const _0xc74f7=a10_0x3439a9,_0xefaa79=_0x92b91f[_0xc74f7(0x138)]('id'),_0x4ed5a1=buildArtifactInput(_0x92b91f),_0x1a0d78=await updateRuntimeArtifact(_0xefaa79,_0x92b91f['appCode'],_0x4ed5a1);return{'ok':!![],'data':detailArtifact(_0x1a0d78),'message':'Updated\x20Artifact\x20'+_0x1a0d78['id']+(_0x1a0d78[_0xc74f7(0x115)]?'\x20('+_0x1a0d78['name']+')':'')};},async 'dryRun'(_0x4933a6){const _0x5291d5=a10_0x3439a9,_0x4ab166=_0x4933a6[_0x5291d5(0x138)]('id'),_0x1e29a5=buildArtifactInput(_0x4933a6);return dryRun('POST','/client/artifact/'+_0x4ab166+_0x5291d5(0x12c))['body']({'appCode':_0x4933a6[_0x5291d5(0x117)],..._0x1e29a5})[_0x5291d5(0x123)](_0x5291d5(0x114)+_0x4ab166)[_0x5291d5(0x104)]();},'writeEventSubject'(_0x48613e){const _0x38866a=a10_0x3439a9,_0x20ebf2=_0x48613e[_0x38866a(0x118)]?.['id'];if(typeof _0x20ebf2!==_0x38866a(0x137)&&typeof _0x20ebf2!=='number')return undefined;return{'kind':'artifact','id':String(_0x20ebf2),'action':'update'};}};function a10_0x2e3e(_0x3c56b0,_0x5bfd0e){_0x3c56b0=_0x3c56b0-0xf0;const _0x21adcc=a10_0x21ad();let _0x2e3ef3=_0x21adcc[_0x3c56b0];return _0x2e3ef3;}export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x24ba0f=a11_0x39af;(function(_0xae8279,_0x1f84c4){const _0x121b25=a11_0x39af,_0x32ea5d=_0xae8279();while(!![]){try{const _0x49d37b=-parseInt(_0x121b25(0xf1))/0x1+parseInt(_0x121b25(0xe5))/0x2+-parseInt(_0x121b25(0x115))/0x3+-parseInt(_0x121b25(0xe9))/0x4*(-parseInt(_0x121b25(0x102))/0x5)+-parseInt(_0x121b25(0x11e))/0x6+-parseInt(_0x121b25(0x10f))/0x7+parseInt(_0x121b25(0xf7))/0x8;if(_0x49d37b===_0x1f84c4)break;else _0x32ea5d['push'](_0x32ea5d['shift']());}catch(_0x5e0f59){_0x32ea5d['push'](_0x32ea5d['shift']());}}}(a11_0x32e3,0xda544));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x57232b){const _0x5db0cb=a11_0x39af;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x57232b[_0x5db0cb(0x10b)]('global'),'explicitProject':_0x57232b[_0x5db0cb(0x10b)]('project'),'policy':'global-default'}));}function a11_0x32e3(){const _0x5cabdf=['scope','120uzKdlh','global','data','/.device-auth','stderr','application/json','now','cancelled','796700Jvipzg','Invalid\x20device\x20auth\x20response','Invalid\x20access_key\x20returned\x20by\x20server.','\x20auth\x20status','stringify','\x20config.','27795640HDCFLe','Device\x20auth\x20API\x20error\x20(','once','createdAt','floor','validation','POST','&source=','source','Write\x20to\x20project\x20config','AbortError','142585zebKAA','json','networkError','write','status','/api/device-auth/token','AccessKey\x20saved\x20to\x20','code','access_key','bool','success','toISOString','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','10578722WPHNpw','apiError','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','boolean','device','project','4469610LuzddZ','signal','aborted','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','accessKey','utf8','abort','),\x20retrying...','expired','4103568MpsiHc','name','Device\x20authorization\x20successful.','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','url-only','log','string','removeListener','auth','object','lovrabet-cli','padStart','Device\x20authorization\x20cancelled.','\x20auth\x20device','parse','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','test','SIGINT','2092110xUOXCe','Write\x20to\x20global\x20config\x20(default)','randomUUID'];a11_0x32e3=function(){return _0x5cabdf;};return a11_0x32e3();}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 _0x15d908=a11_0x39af;return crypto[_0x15d908(0xe7)]();}export function buildDeviceAuthUrl(_0x2c5a71,_0x156ca2,_0x483ff0=a11_0x24ba0f(0x128)){const _0x2723d0=a11_0x24ba0f;return _0x2c5a71+'/device-auth?code='+encodeURIComponent(_0x156ca2)+_0x2723d0(0xfe)+encodeURIComponent(_0x483ff0);}export function getDeviceCodePath(){const _0x499829=a11_0x24ba0f;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x499829(0xec);}export function readStoredDeviceCode(){const _0x5138ee=a11_0x24ba0f,_0x47e903=getDeviceCodePath();if(!existsSync(_0x47e903))return null;try{const _0x12cad5=readFileSync(_0x47e903,{'encoding':_0x5138ee(0x11a)}),_0x3a9d53=JSON[_0x5138ee(0xe1)](_0x12cad5);if(_0x3a9d53&&typeof _0x3a9d53[_0x5138ee(0x109)]===_0x5138ee(0x124)&&typeof _0x3a9d53[_0x5138ee(0xfa)]===_0x5138ee(0x124)&&(_0x3a9d53[_0x5138ee(0xe8)]===_0x5138ee(0xea)||_0x3a9d53[_0x5138ee(0xe8)]===_0x5138ee(0x114)))return _0x3a9d53;}catch{}return null;}export function writeStoredDeviceCode(_0x47f2e9,_0x174f4e){const _0xdb22d3=a11_0x24ba0f,_0x483265=getDeviceCodePath(),_0x332c4e=dirname(_0x483265);!existsSync(_0x332c4e)&&mkdirSync(_0x332c4e,{'recursive':!![]});const _0x4d3f50={'code':_0x47f2e9,'createdAt':new Date()[_0xdb22d3(0x10d)](),'scope':_0x174f4e};writeFileSync(_0x483265,JSON[_0xdb22d3(0xf5)](_0x4d3f50),{'encoding':'utf8','mode':0x180});}function a11_0x39af(_0x1e46d7,_0x19937a){_0x1e46d7=_0x1e46d7-0xe0;const _0x32e3b9=a11_0x32e3();let _0x39af85=_0x32e3b9[_0x1e46d7];return _0x39af85;}export function deleteStoredDeviceCode(){const _0x13c086=getDeviceCodePath();try{unlinkSync(_0x13c086);}catch{}}export function isStoredDeviceCodeExpired(_0x4a588d){const _0x220b69=a11_0x24ba0f;return Date[_0x220b69(0xef)]()-new Date(_0x4a588d[_0x220b69(0xfa)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x26e65b,_0x163ab0){const _0xc97190=a11_0x24ba0f,_0x20c58a=_0x26e65b+_0xc97190(0x107),_0x52eba2=new AbortController(),_0x1e1f0d=setTimeout(()=>_0x52eba2[_0xc97190(0x11b)](),0x2710),_0x610803=await fetch(_0x20c58a,{'method':_0xc97190(0xfd),'headers':{'Content-Type':_0xc97190(0xee)},'body':JSON[_0xc97190(0xf5)]({'code':_0x163ab0}),'signal':_0x52eba2[_0xc97190(0x116)]});clearTimeout(_0x1e1f0d);if(!_0x610803['ok'])throw CliErrors[_0xc97190(0x104)]('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x610803[_0xc97190(0x106)]);const _0x53b888=await _0x610803[_0xc97190(0x103)](),_0x4d2dc7=_0x53b888[_0xc97190(0xeb)]&&typeof _0x53b888[_0xc97190(0xeb)]===_0xc97190(0x127)?_0x53b888[_0xc97190(0xeb)]:_0x53b888;if(!_0x4d2dc7||typeof _0x4d2dc7[_0xc97190(0x106)]!==_0xc97190(0x124))throw CliErrors[_0xc97190(0x110)](_0xc97190(0xf2));return{'status':_0x4d2dc7['status'],'access_key':typeof _0x4d2dc7[_0xc97190(0x10a)]==='string'?_0x4d2dc7[_0xc97190(0x10a)]:undefined};}export async function pollDeviceToken(_0x4aa5d9,_0x3d685d,_0x1b175b){const _0x4c3d0e=a11_0x24ba0f;let _0x3780ae=0x0;for(let _0x90b6a3=0x0;_0x90b6a3<MAX_POLLS;_0x90b6a3++){if(_0x1b175b[_0x4c3d0e(0x117)])throw CliErrors[_0x4c3d0e(0xf0)](_0x4c3d0e(0x12a));let _0x5835fa;try{_0x5835fa=await fetchDeviceToken(_0x4aa5d9,_0x3d685d);}catch(_0x13ac40){if(_0x13ac40 instanceof Error&&_0x13ac40[_0x4c3d0e(0x11f)]===_0x4c3d0e(0x101))throw CliErrors[_0x4c3d0e(0xf0)](_0x4c3d0e(0x12a));_0x3780ae++;if(_0x3780ae>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4c3d0e(0x104)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x4c3d0e(0xf8)+_0x3780ae+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4c3d0e(0x11c)),await sleep(POLL_INTERVAL_MS);continue;}_0x3780ae=0x0;if(_0x5835fa[_0x4c3d0e(0x106)]===_0x4c3d0e(0x10c)){if(!_0x5835fa[_0x4c3d0e(0x10a)])throw CliErrors['apiError'](_0x4c3d0e(0xf3));return _0x5835fa[_0x4c3d0e(0x10a)];}if(_0x5835fa['status']===_0x4c3d0e(0x11d)){deleteStoredDeviceCode();throw CliErrors[_0x4c3d0e(0xfc)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x277a41=(_0x90b6a3+0x1)*POLL_INTERVAL_MS,_0x4fc522=DEVICE_CODE_TTL_MS-_0x277a41,_0x20c639=Math[_0x4c3d0e(0xfb)](_0x4fc522/0xea60),_0x1e0e61=Math['floor'](_0x4fc522%0xea60/0x3e8);process['stderr'][_0x4c3d0e(0x105)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x20c639+':'+String(_0x1e0e61)[_0x4c3d0e(0x129)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x4c3d0e(0xfc)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x2a5f45){return new Promise(_0x142aa9=>setTimeout(_0x142aa9,_0x2a5f45));}export const authDeviceDefinition={'service':a11_0x24ba0f(0x126),'command':a11_0x24ba0f(0x113),'description':a11_0x24ba0f(0x118),'risk':a11_0x24ba0f(0x105),'confirmationDescription':'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.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x24ba0f(0xea),'type':a11_0x24ba0f(0x112),'description':a11_0x24ba0f(0xe6),'default':!![]},{'name':a11_0x24ba0f(0x114),'type':a11_0x24ba0f(0x112),'description':a11_0x24ba0f(0x100),'default':![]},{'name':a11_0x24ba0f(0xff),'type':a11_0x24ba0f(0x124),'description':a11_0x24ba0f(0xe2),'default':a11_0x24ba0f(0x128)},{'name':'url-only','type':a11_0x24ba0f(0x112),'description':a11_0x24ba0f(0x121),'default':![]}],async 'execute'(_0x304814){const _0x25029d=a11_0x24ba0f,_0x256902=resolveAuthScopeFlags(_0x304814),_0x5054de=_0x256902[_0x25029d(0xea)]?_0x25029d(0xea):_0x25029d(0x114),_0x467d91=readScopedConfig(_0x256902);if(_0x467d91[_0x25029d(0x119)])return{'ok':!![],'message':_0x25029d(0x10e)};const _0x3284ef=(_0x304814['str']('source')||_0x25029d(0x128))['trim'](),_0x3bc6b2=getUserDomain(),_0x2b0333=readStoredDeviceCode(),_0x41236e=_0x2b0333&&!isStoredDeviceCodeExpired(_0x2b0333)?_0x2b0333[_0x25029d(0x109)]:((()=>{const _0x4c7e7d=generateDeviceCode();return writeStoredDeviceCode(_0x4c7e7d,_0x5054de),_0x4c7e7d;})()),_0x345a06=buildDeviceAuthUrl(_0x3bc6b2,_0x41236e,_0x3284ef);if(_0x304814[_0x25029d(0x10b)](_0x25029d(0x122)))return console[_0x25029d(0x123)](_0x345a06),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x345a06),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x25029d(0x111));if(_0x304814['nonInteractive'])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x25029d(0xe0)),{'ok':!![],'message':'Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.'};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x4daf2f=new AbortController(),_0x12ff93=()=>{const _0xbe479c=_0x25029d;_0x4daf2f[_0xbe479c(0x11b)](),process['removeListener'](_0xbe479c(0xe4),_0x12ff93);};process[_0x25029d(0xf9)](_0x25029d(0xe4),_0x12ff93);let _0x3e0d88;try{_0x3e0d88=await pollDeviceToken(_0x3bc6b2,_0x41236e,_0x4daf2f['signal']);}finally{process[_0x25029d(0x125)](_0x25029d(0xe4),_0x12ff93);}if(!ACCESS_KEY_PATTERN[_0x25029d(0xe3)](_0x3e0d88))throw CliErrors[_0x25029d(0x110)](_0x25029d(0xf3));const _0x313e9c=readScopedConfig(_0x256902);return _0x313e9c[_0x25029d(0x119)]=_0x3e0d88,writeScopedConfig(_0x313e9c,_0x256902),deleteStoredDeviceCode(),process[_0x25029d(0xed)][_0x25029d(0x105)]('\x0a'),writeCliSideChannelLine(_0x25029d(0x108)+_0x5054de+_0x25029d(0xf6)),writeCliSideChannelLine('Verify:\x20'+CLI_BIN_NAME+_0x25029d(0xf4)),{'ok':!![],'message':_0x25029d(0x120)};}};
|
|
1
|
+
const a11_0x1a8596=a11_0x209c;(function(_0x368215,_0x19d037){const _0x5424f8=a11_0x209c,_0x655ac5=_0x368215();while(!![]){try{const _0x1fadc6=-parseInt(_0x5424f8(0x104))/0x1*(-parseInt(_0x5424f8(0x110))/0x2)+parseInt(_0x5424f8(0xe1))/0x3*(-parseInt(_0x5424f8(0xd4))/0x4)+-parseInt(_0x5424f8(0xe6))/0x5+-parseInt(_0x5424f8(0xcc))/0x6+parseInt(_0x5424f8(0xf6))/0x7*(parseInt(_0x5424f8(0xde))/0x8)+parseInt(_0x5424f8(0xe3))/0x9*(-parseInt(_0x5424f8(0xd2))/0xa)+-parseInt(_0x5424f8(0xf3))/0xb*(-parseInt(_0x5424f8(0x102))/0xc);if(_0x1fadc6===_0x19d037)break;else _0x655ac5['push'](_0x655ac5['shift']());}catch(_0x115021){_0x655ac5['push'](_0x655ac5['shift']());}}}(a11_0x2a50,0xcee5b));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x2079b7){const _0x5cce74=a11_0x209c;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x2079b7[_0x5cce74(0xfd)](_0x5cce74(0x100)),'explicitProject':_0x2079b7['bool']('project'),'policy':_0x5cce74(0xe2)}));}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(){return crypto['randomUUID']();}export function buildDeviceAuthUrl(_0x16c316,_0x5e31a6,_0x30d396=a11_0x1a8596(0xdf)){const _0x5830f4=a11_0x1a8596;return _0x16c316+_0x5830f4(0xd9)+encodeURIComponent(_0x5e31a6)+_0x5830f4(0xe0)+encodeURIComponent(_0x30d396);}export function getDeviceCodePath(){const _0xcba6a6=a11_0x1a8596;return homedir()+'/'+PRODUCT_CONFIG[_0xcba6a6(0xd0)]+_0xcba6a6(0x10a);}function a11_0x209c(_0x5877c4,_0x1e2634){_0x5877c4=_0x5877c4-0xc6;const _0x2a5017=a11_0x2a50();let _0x209c20=_0x2a5017[_0x5877c4];return _0x209c20;}export function readStoredDeviceCode(){const _0x3a3ca1=a11_0x1a8596,_0x1d022e=getDeviceCodePath();if(!existsSync(_0x1d022e))return null;try{const _0xa18361=readFileSync(_0x1d022e,{'encoding':_0x3a3ca1(0xfe)}),_0x3bd5df=JSON['parse'](_0xa18361);if(_0x3bd5df&&typeof _0x3bd5df[_0x3a3ca1(0xed)]==='string'&&typeof _0x3bd5df[_0x3a3ca1(0xc6)]==='string'&&(_0x3bd5df['scope']===_0x3a3ca1(0x100)||_0x3bd5df['scope']===_0x3a3ca1(0xdc)))return _0x3bd5df;}catch{}return null;}export function writeStoredDeviceCode(_0x5dbb23,_0x54f7c4){const _0x5ec8af=a11_0x1a8596,_0x2ae8f5=getDeviceCodePath(),_0x5a3824=dirname(_0x2ae8f5);!existsSync(_0x5a3824)&&mkdirSync(_0x5a3824,{'recursive':!![]});const _0x9762c2={'code':_0x5dbb23,'createdAt':new Date()[_0x5ec8af(0x113)](),'scope':_0x54f7c4};writeFileSync(_0x2ae8f5,JSON[_0x5ec8af(0xdd)](_0x9762c2),{'encoding':_0x5ec8af(0xfe),'mode':0x180});}export function deleteStoredDeviceCode(){const _0x4cae19=getDeviceCodePath();try{unlinkSync(_0x4cae19);}catch{}}export function isStoredDeviceCodeExpired(_0x39e1bf){const _0x2e874c=a11_0x1a8596;return Date[_0x2e874c(0x117)]()-new Date(_0x39e1bf[_0x2e874c(0xc6)])['getTime']()>DEVICE_CODE_TTL_MS;}function a11_0x2a50(){const _0x4a4403=['auth','access_key','abort','boolean','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','code','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','status','stderr','object','/api/device-auth/token','259391FbMuuS','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','networkError','34685sJagrc','application/json','Write\x20to\x20global\x20config\x20(default)','\x0dWaiting\x20for\x20authorization...\x20','test','Device\x20authorization\x20successful.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','bool','utf8','aborted','global','signal','1884GHHmWs','success','3jLWTcD','\x20auth\x20device','),\x20retrying...','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','SIGINT','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','/.device-auth','nonInteractive','floor','device','\x20config.','Verify:\x20','214340dJnfKa','write','json','toISOString','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.','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','string','now','createdAt','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','name','\x20auth\x20status','validation','AbortError','4853310vxPjpc','AccessKey\x20saved\x20to\x20','data','Device\x20authorization\x20cancelled.','homeDirName','apiError','52100szPiqP','cancelled','7772SDXlHq','source','removeListener','expired','log','/device-auth?code=','once','\x20remaining','project','stringify','1832iztKfe','lovrabet-cli','&source=','2349eOwhSk','global-default','2655mnaYEl','After\x20authorizing,\x20re-run:\x20','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','2218835WoyieL','Invalid\x20access_key\x20returned\x20by\x20server.'];a11_0x2a50=function(){return _0x4a4403;};return a11_0x2a50();}export async function fetchDeviceToken(_0x833fb6,_0x206ba7){const _0x396e18=a11_0x1a8596,_0x50d087=_0x833fb6+_0x396e18(0xf2),_0x411bb0=new AbortController(),_0x42364d=setTimeout(()=>_0x411bb0[_0x396e18(0xea)](),0x2710),_0x4159cd=await fetch(_0x50d087,{'method':'POST','headers':{'Content-Type':_0x396e18(0xf7)},'body':JSON[_0x396e18(0xdd)]({'code':_0x206ba7}),'signal':_0x411bb0['signal']});clearTimeout(_0x42364d);if(!_0x4159cd['ok'])throw CliErrors['networkError']('Device\x20auth\x20API\x20returned\x20HTTP\x20'+_0x4159cd[_0x396e18(0xef)]);const _0x226870=await _0x4159cd[_0x396e18(0x112)](),_0x5ca9de=_0x226870[_0x396e18(0xce)]&&typeof _0x226870[_0x396e18(0xce)]===_0x396e18(0xf1)?_0x226870[_0x396e18(0xce)]:_0x226870;if(!_0x5ca9de||typeof _0x5ca9de[_0x396e18(0xef)]!==_0x396e18(0x116))throw CliErrors['apiError']('Invalid\x20device\x20auth\x20response');return{'status':_0x5ca9de[_0x396e18(0xef)],'access_key':typeof _0x5ca9de[_0x396e18(0xe9)]===_0x396e18(0x116)?_0x5ca9de['access_key']:undefined};}export async function pollDeviceToken(_0x12d5f8,_0x589fb8,_0x48e89b){const _0x3dd64c=a11_0x1a8596;let _0x497ee0=0x0;for(let _0x39fe41=0x0;_0x39fe41<MAX_POLLS;_0x39fe41++){if(_0x48e89b[_0x3dd64c(0xff)])throw CliErrors[_0x3dd64c(0xd3)](_0x3dd64c(0xcf));let _0x184417;try{_0x184417=await fetchDeviceToken(_0x12d5f8,_0x589fb8);}catch(_0xa5947d){if(_0xa5947d instanceof Error&&_0xa5947d[_0x3dd64c(0xc8)]===_0x3dd64c(0xcb))throw CliErrors['cancelled'](_0x3dd64c(0xcf));_0x497ee0++;if(_0x497ee0>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x3dd64c(0xf5)](_0x3dd64c(0x109));writeCliSideChannelLine('Device\x20auth\x20API\x20error\x20('+_0x497ee0+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x3dd64c(0x106)),await sleep(POLL_INTERVAL_MS);continue;}_0x497ee0=0x0;if(_0x184417[_0x3dd64c(0xef)]===_0x3dd64c(0x103)){if(!_0x184417[_0x3dd64c(0xe9)])throw CliErrors[_0x3dd64c(0xd1)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x184417['access_key'];}if(_0x184417[_0x3dd64c(0xef)]===_0x3dd64c(0xd7)){deleteStoredDeviceCode();throw CliErrors['validation']('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0xa7b126=(_0x39fe41+0x1)*POLL_INTERVAL_MS,_0x2ad658=DEVICE_CODE_TTL_MS-_0xa7b126,_0x397c63=Math['floor'](_0x2ad658/0xea60),_0x4542ff=Math[_0x3dd64c(0x10c)](_0x2ad658%0xea60/0x3e8);process[_0x3dd64c(0xf0)][_0x3dd64c(0x111)](_0x3dd64c(0xf9)+_0x397c63+':'+String(_0x4542ff)['padStart'](0x2,'0')+_0x3dd64c(0xdb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x3dd64c(0xca)]('Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}function sleep(_0x5629e7){return new Promise(_0x31c560=>setTimeout(_0x31c560,_0x5629e7));}export const authDeviceDefinition={'service':a11_0x1a8596(0xe8),'command':a11_0x1a8596(0x10d),'description':a11_0x1a8596(0xe5),'risk':'write','confirmationDescription':a11_0x1a8596(0x114),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1a8596(0x100),'type':a11_0x1a8596(0xeb),'description':a11_0x1a8596(0xf8),'default':!![]},{'name':'project','type':a11_0x1a8596(0xeb),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x1a8596(0xd5),'type':a11_0x1a8596(0x116),'description':a11_0x1a8596(0xfc),'default':a11_0x1a8596(0xdf)},{'name':'url-only','type':a11_0x1a8596(0xeb),'description':a11_0x1a8596(0xc7),'default':![]}],async 'execute'(_0x321156){const _0x46b29b=a11_0x1a8596,_0x2522b2=resolveAuthScopeFlags(_0x321156),_0x11eb80=_0x2522b2[_0x46b29b(0x100)]?_0x46b29b(0x100):'project',_0x10a7f1=readScopedConfig(_0x2522b2);if(_0x10a7f1['accessKey'])return{'ok':!![],'message':_0x46b29b(0x115)};const _0x29ad37=(_0x321156['str'](_0x46b29b(0xd5))||_0x46b29b(0xdf))['trim'](),_0x4ba0d5=getUserDomain(),_0x3b67b7=readStoredDeviceCode(),_0x309521=_0x3b67b7&&!isStoredDeviceCodeExpired(_0x3b67b7)?_0x3b67b7['code']:((()=>{const _0x56a1c1=generateDeviceCode();return writeStoredDeviceCode(_0x56a1c1,_0x11eb80),_0x56a1c1;})()),_0xf73ed2=buildDeviceAuthUrl(_0x4ba0d5,_0x309521,_0x29ad37);if(_0x321156[_0x46b29b(0xfd)]('url-only'))return console[_0x46b29b(0xd8)](_0xf73ed2),{'ok':!![]};writeCliSideChannelLine(_0x46b29b(0x107)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0xf73ed2),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x46b29b(0xf4));if(_0x321156[_0x46b29b(0x10b)])return writeCliSideChannelLine(_0x46b29b(0xe4)+CLI_BIN_NAME+_0x46b29b(0x105)),{'ok':!![],'message':_0x46b29b(0xec)};writeCliSideChannelLine(_0x46b29b(0xee));const _0x13ccbb=new AbortController(),_0x2da7d1=()=>{const _0x5df8a6=_0x46b29b;_0x13ccbb[_0x5df8a6(0xea)](),process[_0x5df8a6(0xd6)](_0x5df8a6(0x108),_0x2da7d1);};process[_0x46b29b(0xda)]('SIGINT',_0x2da7d1);let _0x26d1c2;try{_0x26d1c2=await pollDeviceToken(_0x4ba0d5,_0x309521,_0x13ccbb[_0x46b29b(0x101)]);}finally{process[_0x46b29b(0xd6)](_0x46b29b(0x108),_0x2da7d1);}if(!ACCESS_KEY_PATTERN[_0x46b29b(0xfa)](_0x26d1c2))throw CliErrors[_0x46b29b(0xd1)](_0x46b29b(0xe7));const _0x222572=readScopedConfig(_0x2522b2);return _0x222572['accessKey']=_0x26d1c2,writeScopedConfig(_0x222572,_0x2522b2),deleteStoredDeviceCode(),process[_0x46b29b(0xf0)][_0x46b29b(0x111)]('\x0a'),writeCliSideChannelLine(_0x46b29b(0xcd)+_0x11eb80+_0x46b29b(0x10e)),writeCliSideChannelLine(_0x46b29b(0x10f)+CLI_BIN_NAME+_0x46b29b(0xc9)),{'ok':!![],'message':_0x46b29b(0xfb)};}};
|