@lovrabet/lovrabet-cli 2.3.0-beta.5 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/sdk-doc.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/permit/dataset-get.js +1 -1
- package/lib/commands/permit/dataset-set.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/personal-bff/index.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.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.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.d.ts +2 -0
- package/lib/context.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.d.ts +1 -0
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.d.ts +9 -7
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +1 -1
- package/skills/lovrabet.manifest.json +3 -3
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
const
|
|
2
|
+
const a0_0x18c225=a0_0x51cd;(function(_0x3a2d0b,_0x2d03ad){const _0x49bf87=a0_0x51cd,_0x477584=_0x3a2d0b();while(!![]){try{const _0x212dc2=parseInt(_0x49bf87(0x102))/0x1+-parseInt(_0x49bf87(0xf2))/0x2+parseInt(_0x49bf87(0xf1))/0x3*(-parseInt(_0x49bf87(0xeb))/0x4)+-parseInt(_0x49bf87(0x100))/0x5+-parseInt(_0x49bf87(0xf4))/0x6*(-parseInt(_0x49bf87(0xed))/0x7)+parseInt(_0x49bf87(0xe6))/0x8+parseInt(_0x49bf87(0xff))/0x9;if(_0x212dc2===_0x2d03ad)break;else _0x477584['push'](_0x477584['shift']());}catch(_0x44662f){_0x477584['push'](_0x477584['shift']());}}}(a0_0x5606,0x5f25e));import{jsx as a0_0x4882ff}from'react/jsx-runtime';function a0_0x5606(){const _0x3451ee=['handler','560843TFubDX','help','name','error','[preparse]\x20','message','ExitPromptError','log','\x0aCancelled.\x0a','slice','write','./framework/preparse.js','definition','Unexpected\x20error:','args','812800OlHHbv',':\x20--','exitCode','assign','ERR_USE_AFTER_CLOSE','752508PzpGVQ','input','15974RbmGQE','catch','ERR_STREAM_DESTROYED','exit','9MrHBHT','214180ORTVRe','hint','282zsTTTf','validation','code','Error:\x20','defaultCommand','flags','\x20->\x20--','flatMap','length','corrected','stderr','3158613MMFwrC','297285UdwAvA'];a0_0x5606=function(){return _0x3451ee;};return a0_0x5606();}import a0_0x5b2ab6 from'meow';import{render}from'ink';import{Help}from'./help.js';import{CliError,CliErrors}from'./errors.js';import{buildConfigFromFlags,initGlobalEnvironment}from'./context.js';import{isKnownService,getServiceEntry,findDefinition,getAllDefinitions,resolveRemovedCommand}from'./commands/registry.js';import{generateDynamicServiceHelp,resolveDynamicServiceCommand}from'./commands/service/dynamic.js';import{runCommand,createPipelineEnv}from'./framework/runner.js';import{generateCommandHelp,generateServiceHelp,generateFullHelp}from'./framework/help.js';function a0_0x51cd(_0x32dcae,_0x128827){_0x32dcae=_0x32dcae-0xdc;const _0x560674=a0_0x5606();let _0x51cd10=_0x560674[_0x32dcae];return _0x51cd10;}import{buildMeowFlags}from'./constant/cli.js';import{getCliVersionDisplay}from'./utils/version.js';const helpText=generateFullHelp(),cli=a0_0x5b2ab6(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()[a0_0x18c225(0xee)](handleError);async function main(){try{await run();}catch(_0x436d8d){handleError(_0x436d8d);}}async function run(){const _0x14ee24=a0_0x18c225;let _0x4f1969=cli[_0x14ee24(0xec)][0x0],_0x2c0e92=cli[_0x14ee24(0xec)][0x1];const _0x3c4ff0=cli[_0x14ee24(0xf9)];try{const {correctFlags:_0xa5aea7}=await import(_0x14ee24(0xe2)),_0x38b171=getAllDefinitions()[_0x14ee24(0xfb)](_0x5c2fac=>_0x5c2fac['flags']??[]),{flags:_0x3f4b1d,corrections:_0xf6e53c}=_0xa5aea7(_0x3c4ff0,_0x38b171);if(_0xf6e53c[_0x14ee24(0xfc)]>0x0){for(const _0x53099e of _0xf6e53c){process[_0x14ee24(0xfe)][_0x14ee24(0xe1)](_0x14ee24(0x106)+_0x53099e[_0x14ee24(0x101)]+_0x14ee24(0xe7)+_0x53099e['original']+_0x14ee24(0xfa)+_0x53099e[_0x14ee24(0xfd)]+'\x0a');}Object[_0x14ee24(0xe9)](_0x3c4ff0,_0x3f4b1d);}}catch{}if(!_0x4f1969){const {waitUntilExit:_0xca7bc6}=render(a0_0x4882ff(Help,{}));await _0xca7bc6();return;}const _0x2eb77d=resolveRemovedCommand(_0x4f1969,_0x2c0e92);if(_0x2eb77d)throw CliErrors[_0x14ee24(0xf5)](_0x2eb77d[_0x14ee24(0xdc)],_0x2eb77d[_0x14ee24(0xf3)]);if(!isKnownService(_0x4f1969)){const _0x50d6f2=resolveDynamicServiceCommand(cli['input'],_0x3c4ff0);if(_0x50d6f2){if(_0x3c4ff0[_0x14ee24(0x103)]){console[_0x14ee24(0xde)](generateCommandHelp(_0x50d6f2['definition']));return;}Object[_0x14ee24(0xe9)](_0x3c4ff0,_0x50d6f2[_0x14ee24(0xf9)]);const _0x4148b2=buildConfigFromFlags(_0x3c4ff0);await initGlobalEnvironment(_0x4148b2);const _0x3fdc61=createPipelineEnv(_0x4148b2,_0x3c4ff0);_0x3fdc61['args']=_0x50d6f2[_0x14ee24(0xe5)],await runCommand(_0x50d6f2[_0x14ee24(0xe3)],_0x3fdc61);return;}if(_0x3c4ff0[_0x14ee24(0x103)]){const _0x3c61d2=generateDynamicServiceHelp(_0x4f1969);if(_0x3c61d2){console['log'](_0x3c61d2);return;}}const {waitUntilExit:_0x8913e5}=render(a0_0x4882ff(Help,{}));await _0x8913e5();return;}const _0x13e2ff=getServiceEntry(_0x4f1969);if(!_0x2c0e92){if(_0x3c4ff0[_0x14ee24(0x103)]){console[_0x14ee24(0xde)](generateServiceHelp(_0x4f1969));return;}if(_0x13e2ff['defaultCommand'])_0x2c0e92=_0x13e2ff[_0x14ee24(0xf8)];else{console[_0x14ee24(0xde)](generateServiceHelp(_0x4f1969));return;}}const _0xe2ff4c=findDefinition(_0x4f1969,_0x2c0e92);!_0xe2ff4c&&(console[_0x14ee24(0xde)](generateServiceHelp(_0x4f1969)),handleError(CliErrors['unknownCommand'](_0x4f1969+'\x20'+_0x2c0e92)));if(_0x3c4ff0[_0x14ee24(0x103)]){console['log'](generateCommandHelp(_0xe2ff4c));return;}const _0xd5f093=buildConfigFromFlags(_0x3c4ff0);await initGlobalEnvironment(_0xd5f093);const _0x50c977=createPipelineEnv(_0xd5f093,_0x3c4ff0);_0x50c977['args']=cli[_0x14ee24(0xec)][_0x14ee24(0xe0)](0x2),await runCommand(_0xe2ff4c,_0x50c977);}function handleError(_0x42f4b8){const _0x42c262=a0_0x18c225;if(_0x42f4b8 instanceof CliError){_0x42f4b8['code']==='cancelled'&&(process[_0x42c262(0xfe)][_0x42c262(0xe1)](_0x42c262(0xdf)),process[_0x42c262(0xf0)](0x0));console[_0x42c262(0x105)](_0x42c262(0xf7)+_0x42f4b8[_0x42c262(0xdc)]);if(_0x42f4b8['hint'])console[_0x42c262(0x105)]('Hint:\x20'+_0x42f4b8[_0x42c262(0xf3)]);process['exit'](_0x42f4b8[_0x42c262(0xe8)]);}isUserCancellation(_0x42f4b8)&&(process[_0x42c262(0xfe)]['write']('\x0aCancelled.\x0a'),process[_0x42c262(0xf0)](0x0)),console[_0x42c262(0x105)](_0x42c262(0xe4),_0x42f4b8),process[_0x42c262(0xf0)](0x1);}function isUserCancellation(_0x44bcb9){const _0x2fac1e=a0_0x18c225;if(!(_0x44bcb9 instanceof Error))return![];if(_0x44bcb9[_0x2fac1e(0x104)]===_0x2fac1e(0xdd))return!![];if(_0x44bcb9[_0x2fac1e(0xf6)]===_0x2fac1e(0xea))return!![];if(_0x44bcb9[_0x2fac1e(0xf6)]===_0x2fac1e(0xef))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a1_0x31bf(_0x4a8ca6,_0x492a86){_0x4a8ca6=_0x4a8ca6-0x103;const _0x34c3fd=a1_0x34c3();let _0x31bf97=_0x34c3fd[_0x4a8ca6];return _0x31bf97;}const a1_0x355bdb=a1_0x31bf;(function(_0x43d380,_0x4694f5){const _0x9b7e10=a1_0x31bf,_0x49c4ff=_0x43d380();while(!![]){try{const _0x3872f2=parseInt(_0x9b7e10(0x14d))/0x1+parseInt(_0x9b7e10(0x167))/0x2*(-parseInt(_0x9b7e10(0x131))/0x3)+-parseInt(_0x9b7e10(0x156))/0x4+-parseInt(_0x9b7e10(0x16c))/0x5+parseInt(_0x9b7e10(0x14f))/0x6+parseInt(_0x9b7e10(0x114))/0x7+-parseInt(_0x9b7e10(0x161))/0x8;if(_0x3872f2===_0x4694f5)break;else _0x49c4ff['push'](_0x49c4ff['shift']());}catch(_0x2280f1){_0x49c4ff['push'](_0x49c4ff['shift']());}}}(a1_0x34c3,0xcac58));import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x355bdb(0x12d),'type':a1_0x355bdb(0x177),'description':a1_0x355bdb(0x15c)},KEYWORD_FLAG={'name':a1_0x355bdb(0x163),'type':a1_0x355bdb(0x177),'description':a1_0x355bdb(0x168)},DOC_CODE_FLAG={'name':a1_0x355bdb(0x171),'type':a1_0x355bdb(0x177),'required':!![],'description':a1_0x355bdb(0x132)},DOCS=[{'code':a1_0x355bdb(0x176),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x158),'method':'POST','path':a1_0x355bdb(0x11f),'summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x355bdb(0x134),'pathParams':[],'queryParams':[],'bodySchema':a1_0x355bdb(0x122),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x355bdb(0x162)],'examples':[a1_0x355bdb(0x126)],'notes':[a1_0x355bdb(0x113)],'markdown':[a1_0x355bdb(0x11c),'',a1_0x355bdb(0x152)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x104),'category':a1_0x355bdb(0x14c),'title':'Dataset\x20detail','method':a1_0x355bdb(0x138),'path':a1_0x355bdb(0x10f),'summary':'Get\x20dataset\x20detail','whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x355bdb(0x171),'description':a1_0x355bdb(0x10b)}],'bodySchema':a1_0x355bdb(0x12c),'responseHighlights':[a1_0x355bdb(0x155),a1_0x355bdb(0x14e),a1_0x355bdb(0x149)],'examples':[a1_0x355bdb(0x12e)],'notes':[a1_0x355bdb(0x148)],'markdown':['##\x20Dataset\x20detail','',a1_0x355bdb(0x13f)]['join']('\x0a')},{'code':a1_0x355bdb(0x15f),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x147),'method':a1_0x355bdb(0x15d),'path':a1_0x355bdb(0x17a),'summary':a1_0x355bdb(0x174),'whenToUse':a1_0x355bdb(0x13a),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':a1_0x355bdb(0x10b)}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x355bdb(0x146),a1_0x355bdb(0x139)],'examples':[a1_0x355bdb(0x173),a1_0x355bdb(0x125)],'notes':[a1_0x355bdb(0x160),a1_0x355bdb(0x164),a1_0x355bdb(0x10e),a1_0x355bdb(0x17b)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x355bdb(0x178)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x14b),'category':'dataset','title':a1_0x355bdb(0x10a),'method':a1_0x355bdb(0x15d),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':'Aggregate\x20dataset\x20records','whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x355bdb(0x118),'description':a1_0x355bdb(0x10b)}],'queryParams':[],'bodySchema':a1_0x355bdb(0x142),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases','where\x20filters\x20before\x20aggregation'],'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_0x355bdb(0x13d),a1_0x355bdb(0x133)],'markdown':[a1_0x355bdb(0x15b),'',a1_0x355bdb(0x16e)][a1_0x355bdb(0x179)]('\x0a')},{'code':a1_0x355bdb(0x141),'category':'dataset','title':a1_0x355bdb(0x13b),'method':a1_0x355bdb(0x15d),'path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x355bdb(0x13b),'whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x355bdb(0x15a),'responseHighlights':[a1_0x355bdb(0x11a)],'examples':[a1_0x355bdb(0x15e)],'notes':[a1_0x355bdb(0x159)],'markdown':a1_0x355bdb(0x11b)},{'code':a1_0x355bdb(0x136),'category':a1_0x355bdb(0x14c),'title':a1_0x355bdb(0x166),'method':a1_0x355bdb(0x15d),'path':a1_0x355bdb(0x128),'summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x355bdb(0x103),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x118),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22fieldName\x22:\x22value\x22}','responseHighlights':[a1_0x355bdb(0x175)],'examples':[a1_0x355bdb(0x108)],'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_0x355bdb(0x117),'category':'bf','title':a1_0x355bdb(0x150),'method':a1_0x355bdb(0x138),'path':a1_0x355bdb(0x151),'summary':'Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','whenToUse':a1_0x355bdb(0x10c),'pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x135),'description':a1_0x355bdb(0x12f)}],'queryParams':[],'bodySchema':'None','responseHighlights':[a1_0x355bdb(0x16d)],'examples':[a1_0x355bdb(0x115)],'notes':[a1_0x355bdb(0x116)],'markdown':a1_0x355bdb(0x169)},{'code':a1_0x355bdb(0x140),'category':'bf','title':a1_0x355bdb(0x145),'method':'POST','path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x355bdb(0x11d),'whenToUse':'Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','pathParams':[{'name':a1_0x355bdb(0x129),'description':a1_0x355bdb(0x12b)},{'name':a1_0x355bdb(0x135),'description':a1_0x355bdb(0x13e)}],'queryParams':[],'bodySchema':a1_0x355bdb(0x16b),'responseHighlights':[a1_0x355bdb(0x105)],'examples':[a1_0x355bdb(0x10d)],'notes':[a1_0x355bdb(0x165)],'markdown':a1_0x355bdb(0x137)},{'code':a1_0x355bdb(0x124),'category':a1_0x355bdb(0x127),'title':a1_0x355bdb(0x123),'method':'POST','path':a1_0x355bdb(0x14a),'summary':a1_0x355bdb(0x123),'whenToUse':a1_0x355bdb(0x119),'pathParams':[],'queryParams':[],'bodySchema':a1_0x355bdb(0x120),'responseHighlights':[a1_0x355bdb(0x144)],'examples':[a1_0x355bdb(0x106)],'notes':[a1_0x355bdb(0x172)],'markdown':a1_0x355bdb(0x130)}];function entrySummary(_0x4e1abb){const _0x2b45ce=a1_0x355bdb;return{'code':_0x4e1abb[_0x2b45ce(0x171)],'category':_0x4e1abb['category'],'method':_0x4e1abb[_0x2b45ce(0x154)],'path':_0x4e1abb['path'],'summary':_0x4e1abb[_0x2b45ce(0x111)],'whenToUse':_0x4e1abb['whenToUse']};}export function listApiDocEntries(_0x52cf5a={}){const _0x593b83=a1_0x355bdb,_0x4caa3f=String(_0x52cf5a['category']||'')[_0x593b83(0x16a)](),_0x3e16b7=String(_0x52cf5a['keyword']||'')[_0x593b83(0x16a)]()[_0x593b83(0x12a)]();return DOCS['filter'](_0x30621c=>{const _0x10b0b7=_0x593b83;if(_0x4caa3f&&_0x30621c[_0x10b0b7(0x12d)]!==_0x4caa3f)return![];if(!_0x3e16b7)return!![];return[_0x30621c[_0x10b0b7(0x171)],_0x30621c[_0x10b0b7(0x12d)],_0x30621c[_0x10b0b7(0x154)],_0x30621c['path'],_0x30621c[_0x10b0b7(0x111)],_0x30621c['whenToUse'],_0x30621c[_0x10b0b7(0x153)]][_0x10b0b7(0x179)]('\x20')['toLowerCase']()['includes'](_0x3e16b7);})['map'](entrySummary);}export function getApiDocDetail(_0x23eddc){const _0x5e64c9=a1_0x355bdb,_0x1c8956=DOCS[_0x5e64c9(0x110)](_0x1da293=>_0x1da293[_0x5e64c9(0x171)]===_0x23eddc);if(!_0x1c8956)throw CliErrors[_0x5e64c9(0x107)](_0x5e64c9(0x121)+_0x23eddc);return{..._0x1c8956};}function a1_0x34c3(){const _0x11602d=['1898768ljkXsV','paging.totalCount\x20gives\x20total\x20rows','keyword','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','Create\x20dataset\x20record','2XQQYvT','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','trim','{\x22param\x22:\x22value\x22}','5510405CqmWAb','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','list','str','code','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','Filter\x20dataset\x20records','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','dataset_list','string','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','join','/api/{appCode}/{datasetCode}/filter','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','dataset_detail','Returns\x20script\x20business\x20payload','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','validation','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','detail','Aggregate\x20dataset\x20data','32-character\x20dataset\x20code','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','/api/dataset/getOneByCode?code={datasetCode}','find','summary','length','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','1456448WftpDr','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','bf_detail','datasetCode','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Returns\x20one\x20matching\x20business\x20record','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','##\x20List\x20datasets','Execute\x20a\x20BF\x20endpoint\x20function','Show\x20runtime\x20API\x20documentation\x20by\x20code','/api/dataset/get-dataset-list-by-app-code','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','API\x20doc\x20code\x20not\x20found:\x20','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','Execute\x20custom\x20SQL','custom_sql_execute','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','custom_sql','/api/{appCode}/{datasetCode}/create','appCode','toLowerCase','Current\x20app\x20code','None','category','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','Exact\x20endpoint\x20function\x20name','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','741597gRnXQn','API\x20doc\x20code,\x20for\x20example\x20dataset_list','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','functionName','dataset_data_create','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','GET','paging\x20contains\x20pagination','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','Get\x20one\x20dataset\x20record','read','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','Endpoint\x20function\x20name','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','bf_execute','dataset_data_get_one','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','List\x20available\x20runtime\x20API\x20documentation\x20entries','Returns\x20SQL\x20execution\x20payload','Execute\x20BF\x20endpoint\x20function','tableData\x20contains\x20records','Filter\x20dataset\x20data','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','operations\x20describes\x20runtime\x20APIs','/api/custom/executeSql','dataset_data_aggregate','dataset','1400742SAWVzN','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','6758550IZXUTy','Get\x20BF\x20endpoint\x20function\x20contract','/client/bff/endpoint/{appCode}/{functionName}','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','title','method','fields/properties\x20describe\x20data\x20shape','1272212lmUwzX','api-doc','List\x20datasets','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','{\x22id\x22:123}','##\x20Aggregate\x20dataset\x20data','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','POST','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','dataset_data_filter','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.'];a1_0x34c3=function(){return _0x11602d;};return a1_0x34c3();}const apiDocList={'service':a1_0x355bdb(0x157),'command':a1_0x355bdb(0x16f),'description':a1_0x355bdb(0x143),'risk':a1_0x355bdb(0x13c),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0xd06136){const _0x3c0d12=a1_0x355bdb,_0x3abc14=listApiDocEntries({'category':_0xd06136[_0x3c0d12(0x170)](_0x3c0d12(0x12d)),'keyword':_0xd06136[_0x3c0d12(0x170)](_0x3c0d12(0x163))});return{'ok':!![],'data':{'total':_0x3abc14[_0x3c0d12(0x112)],'items':_0x3abc14}};}},apiDocDetail={'service':a1_0x355bdb(0x157),'command':a1_0x355bdb(0x109),'description':a1_0x355bdb(0x11e),'risk':a1_0x355bdb(0x13c),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x33e97f){const _0x5a15b5=a1_0x355bdb;return{'ok':!![],'data':getApiDocDetail(_0x33e97f[_0x5a15b5(0x170)](_0x5a15b5(0x171)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
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 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1968e1,_0x245c8f){const _0x5bec5f=a2_0x5352,_0x3506b3=_0x1968e1();while(!![]){try{const _0x3f0f9e=parseInt(_0x5bec5f(0x15e))/0x1+parseInt(_0x5bec5f(0x14f))/0x2*(-parseInt(_0x5bec5f(0x155))/0x3)+-parseInt(_0x5bec5f(0x14b))/0x4+parseInt(_0x5bec5f(0x15d))/0x5*(parseInt(_0x5bec5f(0x154))/0x6)+parseInt(_0x5bec5f(0x160))/0x7*(parseInt(_0x5bec5f(0x15c))/0x8)+-parseInt(_0x5bec5f(0x15a))/0x9*(parseInt(_0x5bec5f(0x153))/0xa)+-parseInt(_0x5bec5f(0x151))/0xb*(-parseInt(_0x5bec5f(0x14e))/0xc);if(_0x3f0f9e===_0x245c8f)break;else _0x3506b3['push'](_0x3506b3['shift']());}catch(_0x5d0d34){_0x3506b3['push'](_0x3506b3['shift']());}}}(a2_0x2b4b,0x82cf1));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';function a2_0x5352(_0x4097d0,_0x2a45c7){_0x4097d0=_0x4097d0-0x147;const _0x2b4b9f=a2_0x2b4b();let _0x5352d=_0x2b4b9f[_0x4097d0];return _0x5352d;}import{PRODUCT_CONFIG}from'../../constant/product.js';function a2_0x2b4b(){const _0xaa2ba9=['40acAXBs','1631545rHfpyq','189684tFxsDx','parse','1261477tBgdEi','utf8','trim','digest','ak_','hex','cache','sha256','1054496JMYVca','my-apps.json','code','132pFMpac','92RunBwz','EACCES','1219339WQEvpp','items','7829720PRzADn','6AseRrb','68739rMIBdI','EPERM','.tmp','appName','appCode','9AUkkDO','stringify'];a2_0x2b4b=function(){return _0xaa2ba9;};return a2_0x2b4b();}import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x1e8986){const _0x499414=a2_0x5352,_0x4d5331=_0x1e8986['trim'](),_0x2facf1=_0x4d5331['slice'](-0x6)||'unknown',_0x4af980=createHash(_0x499414(0x14a))['update'](_0x4d5331)[_0x499414(0x163)](_0x499414(0x148))['slice'](0x0,0xc);return _0x499414(0x147)+_0x2facf1+'_'+_0x4af980;}export function getAppCacheFilePath(_0x3bce32,_0x57992f){const _0x5013f6=a2_0x5352;return resolve(homedir(),PRODUCT_CONFIG['homeDirName'],_0x5013f6(0x149),_0x3bce32,fingerprintAccessKey(_0x57992f),_0x5013f6(0x14c));}export function readCachedAppList(_0x5bc82a,_0x246668){const _0x1976b6=a2_0x5352;if(!_0x246668?.[_0x1976b6(0x162)]())return null;const _0x264adc=getAppCacheFilePath(_0x5bc82a,_0x246668);if(!existsSync(_0x264adc))return null;try{const _0x27ce2b=readFileSync(_0x264adc,_0x1976b6(0x161));if(!_0x27ce2b[_0x1976b6(0x162)]())return null;const _0x1bab4c=JSON[_0x1976b6(0x15f)](_0x27ce2b);if(!Array['isArray'](_0x1bab4c[_0x1976b6(0x152)]))return null;return _0x1bab4c;}catch{return null;}}export function writeCachedAppList(_0x384838,_0x5d3c84,_0x56cafd){const _0x5854ef=a2_0x5352,_0x139856=getAppCacheFilePath(_0x384838,_0x5d3c84),_0x143c4c=dirname(_0x139856);!existsSync(_0x143c4c)&&mkdirSync(_0x143c4c,{'recursive':!![]});const _0x31a513=_0x139856+_0x5854ef(0x157);try{writeFileSync(_0x31a513,JSON[_0x5854ef(0x15b)](_0x56cafd,null,0x2)+'\x0a',{'encoding':_0x5854ef(0x161),'mode':0x180});try{renameSync(_0x31a513,_0x139856);}catch(_0x594f54){if(_0x594f54[_0x5854ef(0x14d)]===_0x5854ef(0x156)||_0x594f54['code']==='EXDEV'||_0x594f54[_0x5854ef(0x14d)]===_0x5854ef(0x150)){writeFileSync(_0x139856,JSON[_0x5854ef(0x15b)](_0x56cafd,null,0x2)+'\x0a',{'encoding':_0x5854ef(0x161)});try{unlinkSync(_0x31a513);}catch{}}else throw _0x594f54;}}catch(_0x315dd2){try{unlinkSync(_0x31a513);}catch{}throw _0x315dd2;}return _0x139856;}export function resolveCachedAppCode(_0x23f719,_0x2133c0,_0x30863c){const _0x5d76ec=a2_0x5352;if(!_0x23f719)return undefined;const _0x2d50b0=readCachedAppList(_0x2133c0,_0x30863c),_0x4dd20f=_0x2d50b0?.['items']['find'](_0x13467e=>_0x13467e[_0x5d76ec(0x158)]===_0x23f719&&isRuntimeAccessibleApp(_0x13467e));return _0x4dd20f?.[_0x5d76ec(0x159)]?.[_0x5d76ec(0x162)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x3793c6=a3_0x2018;function a3_0x1443(){const _0x3e8735=['env','bool','../../commands/app/remote-source.js','81sICaSu','5118477DtrxPv','Loaded\x20','1614624eHYWyd','399YpgRUH','type','isArray','appName','Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','production','625840qQmXYY','No\x20apps\x20found\x20on\x20the\x20platform.','include-unpublished','i18nInfo','Filter\x20by\x20environment\x20(default:\x20current\x20env)','enableI18n','2045490gouoGC','cache','name','find','Include\x20unpublished\x20apps\x20for\x20diagnostics','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','import','filter','str','793536JufIHe','fetchedAt','length','app','1842504zVlfnN','items','boolean','map','Target\x20environment\x20(default:\x20current\x20env)','source','No\x20cached\x20apps\x20found.','envName','projectPath','no-cache','remote','trim','globalPath','string','list','cachePath','local','read','appcode','nonInteractive','\x20app(s)\x20for\x20env=\x22','Read\x20app\x20list\x20from\x20local\x20cache\x20only','isCurrent','accessKey','../../context.js','langs','appCode','appOwnerName','2522BEyRpV'];a3_0x1443=function(){return _0x3e8735;};return a3_0x1443();}(function(_0x587d1a,_0x3db96e){const _0x49e538=a3_0x2018,_0x4ab6e6=_0x587d1a();while(!![]){try{const _0x57d625=-parseInt(_0x49e538(0xd9))/0x1+-parseInt(_0x49e538(0x108))/0x2*(-parseInt(_0x49e538(0xd3))/0x3)+-parseInt(_0x49e538(0xec))/0x4+-parseInt(_0x49e538(0xdf))/0x5+parseInt(_0x49e538(0xd2))/0x6+parseInt(_0x49e538(0xd0))/0x7+-parseInt(_0x49e538(0xe8))/0x8*(-parseInt(_0x49e538(0xcf))/0x9);if(_0x57d625===_0x3db96e)break;else _0x4ab6e6['push'](_0x4ab6e6['shift']());}catch(_0x41a028){_0x4ab6e6['push'](_0x4ab6e6['shift']());}}}(a3_0x1443,0x89fc8));import{appImportFlagDefs,runAppImport}from'../../commands/init.js';import{getEnv,RUNTIME_ENV_VALUES}from'../../constant/env.js';import{buildAppProfileListFields}from'../../config/schema.js';import{enrichAppListItemsWithMergedSelection}from'../../commands/app/shared.js';import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x48f745,_0x50012f){const _0x489883=a3_0x2018,_0x29832c={};for(const _0x795907 of _0x50012f){const _0x1ebe0d=_0x795907[_0x489883(0xd4)]===_0x489883(0xee)?_0x48f745[_0x489883(0xcd)](_0x795907['name']):_0x48f745['str'](_0x795907[_0x489883(0xe1)]);if(_0x1ebe0d!==''&&_0x1ebe0d!==![])_0x29832c[_0x795907[_0x489883(0xe1)]]=_0x1ebe0d;}if(_0x48f745[_0x489883(0xff)])_0x29832c[_0x489883(0xff)]=!![];return _0x29832c;}function normalizeLanguages(_0x44f2a8){const _0x537aa7=a3_0x2018;if(!Array[_0x537aa7(0xd5)](_0x44f2a8))return[];return _0x44f2a8[_0x537aa7(0xe6)](_0x1b5fb2=>typeof _0x1b5fb2===_0x537aa7(0xf9))[_0x537aa7(0xef)](_0xbe3344=>_0xbe3344['trim']())[_0x537aa7(0xe6)](Boolean);}function buildRemoteAppI18nFields(_0x3aa047){const _0x4857d1=a3_0x2018,_0x2a04de=normalizeLanguages(_0x3aa047[_0x4857d1(0xdc)]?.[_0x4857d1(0x105)]);return{'enableI18n':typeof _0x3aa047[_0x4857d1(0xde)]===_0x4857d1(0xee)?_0x3aa047[_0x4857d1(0xde)]:null,'languages':_0x2a04de,'i18nInfo':_0x3aa047[_0x4857d1(0xdc)]?{..._0x3aa047['i18nInfo'],'langs':_0x2a04de['length']?_0x2a04de:null}:null};}const listDef={'service':a3_0x3793c6(0xeb),'command':a3_0x3793c6(0xfa),'description':'List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','risk':a3_0x3793c6(0xfd),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':a3_0x3793c6(0xcc),'type':a3_0x3793c6(0xf9),'description':a3_0x3793c6(0xdd),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':a3_0x3793c6(0xee),'description':a3_0x3793c6(0x101),'default':![]},{'name':'no-cache','type':a3_0x3793c6(0xee),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x3793c6(0xdb),'type':a3_0x3793c6(0xee),'description':a3_0x3793c6(0xe3),'default':![]}],async 'execute'(_0x5cb3c5){const _0x564d9f=a3_0x3793c6,_0x27ba0d=_0x5cb3c5[_0x564d9f(0xe7)]('env')||_0x5cb3c5[_0x564d9f(0xf3)]||getEnv()||'production',_0x215151=_0x5cb3c5[_0x564d9f(0xcd)](_0x564d9f(0xfc)),_0x3b9bdb=_0x5cb3c5['bool'](_0x564d9f(0xf5)),_0x4b4e99=_0x5cb3c5['bool'](_0x564d9f(0xdb)),{readRawConfigWithLayers:_0x15cff9,resolveDefaultAppSource:_0x4eddde,getLocalAppAliases:_0x30ab62}=await import(_0x564d9f(0x104)),{getRemoteAppList:_0x1ca381}=await import('../../commands/app/remote-source.js'),{config:_0x4fcd4c,layers:_0x3905bd}=_0x15cff9(),_0x59fb3d=_0x4eddde(_0x3905bd),{defaultApp:_0x516005}=_0x4fcd4c,_0x8da383=await _0x1ca381({'env':_0x27ba0d,'accessKey':_0x5cb3c5[_0x564d9f(0x103)],'localOnly':_0x215151,'noCache':_0x3b9bdb}),_0x5d7f87=_0x4b4e99?_0x8da383[_0x564d9f(0xed)]:filterRuntimeAccessibleApps(_0x8da383['items']),_0x400805=_0x8da383['items'][_0x564d9f(0xea)]-_0x5d7f87['length'],_0x7d5e97=_0x5d7f87['map'](_0x396ab2=>{const _0x3e684a=_0x564d9f;return{'name':_0x396ab2[_0x3e684a(0xd6)],'appcode':_0x396ab2[_0x3e684a(0x106)],'named':!![],'definedIn':_0x3e684a(0xf6),'isDefault':_0x396ab2[_0x3e684a(0xd6)]===_0x516005,...buildAppProfileListFields(_0x27ba0d),...buildRemoteAppI18nFields(_0x396ab2),'source':_0x8da383[_0x3e684a(0xf1)],'owner':_0x396ab2[_0x3e684a(0x107)]??null,'status':_0x396ab2['appPublishStatus']??null,'cachedAt':_0x8da383[_0x3e684a(0xe9)]};}),_0x197da3=_0x30ab62(_0x4fcd4c);let _0x1240f8=0x0;for(const [_0x5835dc,_0xf22c89]of Object['entries'](_0x197da3)){const _0x52ea2b=typeof _0xf22c89['appcode']===_0x564d9f(0xf9)?_0xf22c89[_0x564d9f(0xfe)][_0x564d9f(0xf7)]():'';if(!_0x52ea2b)continue;const _0xb69c82=findAppByCode(_0x8da383['items'],_0x52ea2b);if(!_0x4b4e99&&_0xb69c82&&!isRuntimeAccessibleApp(_0xb69c82))continue;_0x1240f8+=0x1,_0x7d5e97['push']({'name':_0x5835dc,'appcode':_0x52ea2b,'named':!![],'definedIn':_0x564d9f(0xfc),'isDefault':_0x5835dc===_0x516005,...buildAppProfileListFields(_0x27ba0d),'source':'config','owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x7d5e97,_0x5cb3c5['mergedCli']);const _0x15c73a=_0x7d5e97[_0x564d9f(0xe2)](_0xfdd71f=>_0xfdd71f[_0x564d9f(0x102)]===!![]),_0x48f4d5=_0x516005??_0x15c73a?.[_0x564d9f(0xe1)]??null,_0x5b9803={'env':_0x27ba0d,'source':_0x8da383[_0x564d9f(0xf1)],'fetchedAt':_0x8da383[_0x564d9f(0xe9)],'cachePath':_0x8da383[_0x564d9f(0xfb)],'globalPath':_0x3905bd[_0x564d9f(0xf8)]??null,'projectPath':_0x3905bd[_0x564d9f(0xf4)]??null,'defaultApp':_0x48f4d5,'defaultAppSource':_0x516005!=null?_0x59fb3d:null,'localAliasCount':_0x1240f8,'remoteTotal':_0x8da383[_0x564d9f(0xed)]['length'],'hiddenUnpublishedCount':_0x400805,'includeUnpublished':_0x4b4e99};if(_0x7d5e97[_0x564d9f(0xea)]===0x0)return{'ok':!![],'data':{'items':_0x7d5e97,'meta':_0x5b9803},'message':_0x8da383['source']===_0x564d9f(0xe0)?_0x564d9f(0xf2):_0x564d9f(0xda)};return{'ok':!![],'data':{'items':_0x7d5e97,'meta':_0x5b9803}};}},pullDef={'service':a3_0x3793c6(0xeb),'command':'pull','description':'Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','risk':'write','confirmationDescription':a3_0x3793c6(0xe4),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x3793c6(0xcc),'type':a3_0x3793c6(0xf9),'description':a3_0x3793c6(0xf0),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':'Read\x20from\x20local\x20cache\x20only','default':![]},{'name':a3_0x3793c6(0xf5),'type':a3_0x3793c6(0xee),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]}],async 'execute'(_0x32039b){const _0x33b8b8=a3_0x3793c6,_0x11acc9=_0x32039b['str'](_0x33b8b8(0xcc))||_0x32039b[_0x33b8b8(0xf3)]||getEnv()||_0x33b8b8(0xd8),_0x205166=_0x32039b[_0x33b8b8(0xcd)](_0x33b8b8(0xfc)),_0x47e243=_0x32039b[_0x33b8b8(0xcd)](_0x33b8b8(0xf5)),{getRemoteAppList:_0x5db62c}=await import(_0x33b8b8(0xce)),_0x142845=await _0x5db62c({'env':_0x11acc9,'accessKey':_0x32039b['accessKey'],'localOnly':_0x205166,'noCache':_0x47e243});return{'ok':!![],'data':{'total':_0x142845[_0x33b8b8(0xed)][_0x33b8b8(0xea)],'env':_0x11acc9,'source':_0x142845[_0x33b8b8(0xf1)],'fetchedAt':_0x142845[_0x33b8b8(0xe9)],'cachePath':_0x142845['cachePath']},'message':_0x142845[_0x33b8b8(0xf1)]===_0x33b8b8(0xe0)?_0x33b8b8(0xd1)+_0x142845[_0x33b8b8(0xed)][_0x33b8b8(0xea)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x11acc9+'\x22.':'Refreshed\x20app\x20cache\x20with\x20'+_0x142845[_0x33b8b8(0xed)]['length']+_0x33b8b8(0x100)+_0x11acc9+'\x22.'};}},importDef={'service':a3_0x3793c6(0xeb),'command':a3_0x3793c6(0xe5),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':'write','confirmationDescription':a3_0x3793c6(0xd7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0x237418){return await runAppImport(collectFlags(_0x237418,appImportFlagDefs)),{'ok':!![]};}};function a3_0x2018(_0x534f6d,_0x356be9){_0x534f6d=_0x534f6d-0xcc;const _0x144333=a3_0x1443();let _0x20181e=_0x144333[_0x534f6d];return _0x20181e;}export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5ada23,_0x3d47e9){const _0x21aeed=a4_0x3c7d,_0x74fdf2=_0x5ada23();while(!![]){try{const _0x1b2f22=parseInt(_0x21aeed(0xbb))/0x1+parseInt(_0x21aeed(0xc8))/0x2*(parseInt(_0x21aeed(0xc5))/0x3)+parseInt(_0x21aeed(0xc2))/0x4*(-parseInt(_0x21aeed(0xc0))/0x5)+-parseInt(_0x21aeed(0xcf))/0x6+-parseInt(_0x21aeed(0xcc))/0x7+-parseInt(_0x21aeed(0xb9))/0x8*(-parseInt(_0x21aeed(0xbc))/0x9)+-parseInt(_0x21aeed(0xcd))/0xa*(-parseInt(_0x21aeed(0xc3))/0xb);if(_0x1b2f22===_0x3d47e9)break;else _0x74fdf2['push'](_0x74fdf2['shift']());}catch(_0x9f802a){_0x74fdf2['push'](_0x74fdf2['shift']());}}}(a4_0x195b,0xc3d68));function a4_0x195b(){const _0x2dc80f=['27KrTYBp','\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.','trim','.\x20Publish\x20the\x20app\x20before\x20using\x20','1435CXYKIv','UNKNOWN','21064PAgckg','204149QZQBcD','validation','41163woaYyk','Current\x20status:\x20','appName','86CVFeZF','filter','find','string','10189704TZFFCo','970FtTFSP','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','3220290GCtObN','1596552PWjanc','appPublishStatus','1316948OoaYiZ'];a4_0x195b=function(){return _0x2dc80f;};return a4_0x195b();}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(_0x53dd0b){const _0x46cda9=a4_0x3c7d;if(typeof _0x53dd0b!==_0x46cda9(0xcb))return null;const _0x3d6054=_0x53dd0b['trim']();return _0x3d6054?_0x3d6054['toUpperCase']():null;}function a4_0x3c7d(_0x587760,_0x3a610e){_0x587760=_0x587760-0xb9;const _0x195bca=a4_0x195b();let _0x3c7d22=_0x195bca[_0x587760];return _0x3c7d22;}export function isRuntimeAccessibleApp(_0x599631){const _0x5b7773=a4_0x3c7d;return normalizeAppPublishStatus(_0x599631[_0x5b7773(0xba)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x1391fb){const _0x3e8fe1=a4_0x3c7d;return _0x1391fb[_0x3e8fe1(0xc9)](isRuntimeAccessibleApp);}export function findAppByName(_0x59c6b4,_0x207d42){const _0x599475=a4_0x3c7d;return _0x59c6b4[_0x599475(0xca)](_0x1f4b44=>_0x1f4b44[_0x599475(0xc7)]===_0x207d42);}export function findAppByCode(_0x593a1f,_0x4d4c8f){const _0x2bcc9d=a4_0x3c7d,_0x1456cc=_0x4d4c8f[_0x2bcc9d(0xbe)]();if(!_0x1456cc)return undefined;return _0x593a1f[_0x2bcc9d(0xca)](_0x431535=>_0x431535['appCode']?.[_0x2bcc9d(0xbe)]()===_0x1456cc);}export function runtimeInaccessibleAppError(_0x5b09ad,_0xb98ee9){const _0x695c7=a4_0x3c7d,_0x4f6b29=normalizeAppPublishStatus(_0x5b09ad['appPublishStatus'])??_0x695c7(0xc1);return CliErrors[_0x695c7(0xc4)]('App\x20'+_0xb98ee9+_0x695c7(0xbd),_0x695c7(0xc6)+_0x4f6b29+_0x695c7(0xbf)+CLI_BIN_NAME+_0x695c7(0xce));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x262d84,_0x4142c4){const _0x5ea4f3=a5_0x15c0,_0x446dc0=_0x262d84();while(!![]){try{const _0x33e2df=parseInt(_0x5ea4f3(0x187))/0x1+-parseInt(_0x5ea4f3(0x185))/0x2+parseInt(_0x5ea4f3(0x17b))/0x3+-parseInt(_0x5ea4f3(0x188))/0x4+-parseInt(_0x5ea4f3(0x17a))/0x5+parseInt(_0x5ea4f3(0x17f))/0x6*(-parseInt(_0x5ea4f3(0x184))/0x7)+-parseInt(_0x5ea4f3(0x183))/0x8*(-parseInt(_0x5ea4f3(0x180))/0x9);if(_0x33e2df===_0x4142c4)break;else _0x446dc0['push'](_0x446dc0['shift']());}catch(_0x3bf489){_0x446dc0['push'](_0x446dc0['shift']());}}}(a5_0x5c72,0xb8744));import{fileURLToPath}from'url';import{dirname,join}from'path';function a5_0x5c72(){const _0x11311e=['1874296cBTsUe','../../../mock/app-list.json','57898JmqahK','5806812JfZgFI','parse','4540230JbhZok','220419FOOeQJ','errorCode','utf-8','errorMsg','25482SBUemA','80559YcLkai','success','tableData','3736XknwEF','427FvLzcM'];a5_0x5c72=function(){return _0x11311e;};return a5_0x5c72();}import{readFileSync}from'fs';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function loadMockAppList(){const _0x4ec60d=a5_0x15c0,_0x5b489a=join(__dirname,_0x4ec60d(0x186)),_0x245a09=readFileSync(_0x5b489a,_0x4ec60d(0x17d));return JSON[_0x4ec60d(0x179)](_0x245a09);}let _cached=null;function a5_0x15c0(_0x3db260,_0x736b00){_0x3db260=_0x3db260-0x179;const _0x5c72f0=a5_0x5c72();let _0x15c08e=_0x5c72f0[_0x3db260];return _0x15c08e;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}export function getMockRemoteAppItems(){const _0x15ce9f=a5_0x15c0,_0x1ce808=getMockAppList();if(!_0x1ce808[_0x15ce9f(0x181)])throw new Error('Mock\x20API\x20error:\x20'+_0x1ce808[_0x15ce9f(0x17e)]+'\x20('+_0x1ce808[_0x15ce9f(0x17c)]+')');return _0x1ce808['data'][_0x15ce9f(0x182)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4784e9,_0x4b4a31){const _0x2a4c11=a6_0xbeb0,_0x5928d4=_0x4784e9();while(!![]){try{const _0x47d767=-parseInt(_0x2a4c11(0xc7))/0x1*(-parseInt(_0x2a4c11(0xcc))/0x2)+-parseInt(_0x2a4c11(0xcb))/0x3*(parseInt(_0x2a4c11(0xd8))/0x4)+-parseInt(_0x2a4c11(0xd0))/0x5+parseInt(_0x2a4c11(0xc9))/0x6+-parseInt(_0x2a4c11(0xcd))/0x7*(parseInt(_0x2a4c11(0xd5))/0x8)+-parseInt(_0x2a4c11(0xd9))/0x9+parseInt(_0x2a4c11(0xd1))/0xa;if(_0x47d767===_0x4b4a31)break;else _0x5928d4['push'](_0x5928d4['shift']());}catch(_0x27d843){_0x5928d4['push'](_0x5928d4['shift']());}}}(a6_0x2448,0x70c06));import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x2477f7=a6_0xbeb0,_0x69256=(productEnv(_0x2477f7(0xd6))||'')['trim']()[_0x2477f7(0xd7)]();return _0x69256===_0x2477f7(0xce);}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}function a6_0xbeb0(_0xe0b3d9,_0x1ef06e){_0xe0b3d9=_0xe0b3d9-0xc7;const _0x2448a1=a6_0x2448();let _0xbeb0b=_0x2448a1[_0xe0b3d9];return _0xbeb0b;}function a6_0x2448(){const _0x47eb4c=['4436OBBjmH','6328089aknRXn','1469hYWjiq','fetchedAt','514644IuaFwb','items','1818RtvIHR','302sqPSQL','87794icoQpn','mock','toISOString','2439230jraSkT','20423420GvSIuw','remote','cache','trim','16jssoBY','APP_LIST_SOURCE','toLowerCase'];a6_0x2448=function(){return _0x47eb4c;};return a6_0x2448();}export async function getRemoteAppList(_0x5579a6){const _0x2cc086=a6_0xbeb0,{env:_0x3f8b87,accessKey:_0x13e021,localOnly:localOnly=![],noCache:noCache=![]}=_0x5579a6,_0x479753=readCachedAppList(_0x3f8b87,_0x13e021),_0x39fa44=_0x13e021?.[_0x2cc086(0xd4)]()?getAppCacheFilePath(_0x3f8b87,_0x13e021):null;if(localOnly)return{'items':_0x479753?.[_0x2cc086(0xca)]??[],'source':_0x2cc086(0xd3),'fetchedAt':_0x479753?.['fetchedAt']??null,'cachePath':_0x39fa44};try{const _0x52b17f=await getRemoteAppItems(),_0x9b6112=shouldUseMockRemoteApps()?_0x2cc086(0xce):_0x2cc086(0xd2),_0x26c081=new Date()[_0x2cc086(0xcf)](),_0x336ed4=_0x13e021?.['trim']()?writeCachedAppList(_0x3f8b87,_0x13e021,{'env':_0x3f8b87,'fetchedAt':_0x26c081,'source':_0x9b6112,'items':_0x52b17f}):null;return{'items':_0x52b17f,'source':_0x9b6112,'fetchedAt':_0x26c081,'cachePath':_0x336ed4};}catch(_0x222230){if(!noCache&&_0x479753)return{'items':_0x479753[_0x2cc086(0xca)],'source':'cache','fetchedAt':_0x479753[_0x2cc086(0xc8)],'cachePath':_0x39fa44};throw _0x222230;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x34a6e3,_0x53a15d){const _0x325d52=a7_0x216f,_0x247a73=_0x34a6e3();while(!![]){try{const _0x4f7ba4=-parseInt(_0x325d52(0x149))/0x1*(-parseInt(_0x325d52(0x14b))/0x2)+-parseInt(_0x325d52(0x14a))/0x3*(parseInt(_0x325d52(0x13c))/0x4)+parseInt(_0x325d52(0x137))/0x5*(-parseInt(_0x325d52(0x147))/0x6)+parseInt(_0x325d52(0x13d))/0x7+parseInt(_0x325d52(0x138))/0x8*(parseInt(_0x325d52(0x139))/0x9)+-parseInt(_0x325d52(0x13e))/0xa*(parseInt(_0x325d52(0x140))/0xb)+parseInt(_0x325d52(0x14c))/0xc;if(_0x4f7ba4===_0x53a15d)break;else _0x247a73['push'](_0x247a73['shift']());}catch(_0x29440a){_0x247a73['push'](_0x247a73['shift']());}}}(a7_0x2c87,0x6291e));function a7_0x2c87(){const _0x1d3cd8=['defaultApp','1NgeVqp','15VxHvKO','1112306NgxbxQ','13201440AizhyR','25QFnTkH','40oigkHx','945900agsrKt','trim','appcode','453764pmOVyq','652484rzOrAo','6006730rTiGua','currentApp','11YiTbuM','local','named','find','appCode','name','isCurrent','844038smeNJk'];a7_0x2c87=function(){return _0x1d3cd8;};return a7_0x2c87();}function a7_0x216f(_0x21622a,_0xd0c018){_0x21622a=_0x21622a-0x137;const _0x2c879a=a7_0x2c87();let _0x216f6b=_0x2c879a[_0x21622a];return _0x216f6b;}export function enrichAppListItemsWithMergedSelection(_0xd8a75c,_0x1b4c33){const _0x3e33b7=a7_0x216f;if(!_0x1b4c33)return;const _0x366b6e=!!(_0x1b4c33['currentApp']??_0x1b4c33[_0x3e33b7(0x148)]);for(const _0x3d2a98 of _0xd8a75c){_0x3d2a98[_0x3e33b7(0x146)]=![];}const _0x1be30e=_0x1b4c33['appCode']!=null?String(_0x1b4c33[_0x3e33b7(0x144)])[_0x3e33b7(0x13a)]():'';if(_0x366b6e){const _0x5f4c20=_0x1b4c33[_0x3e33b7(0x13f)]??_0x1b4c33[_0x3e33b7(0x148)];if(_0x5f4c20){const _0x1d8d1d=_0xd8a75c[_0x3e33b7(0x143)](_0x871786=>_0x871786[_0x3e33b7(0x142)]===!![]&&_0x871786[_0x3e33b7(0x145)]===_0x5f4c20&&_0x871786['definedIn']===_0x3e33b7(0x141)),_0x512008=_0x1d8d1d??_0xd8a75c[_0x3e33b7(0x143)](_0x40a777=>_0x40a777[_0x3e33b7(0x142)]===!![]&&_0x40a777[_0x3e33b7(0x145)]===_0x5f4c20);if(_0x512008){const _0x692cc4=String(_0x512008[_0x3e33b7(0x13b)]??'')['trim']();if(!_0x1be30e||_0x692cc4===_0x1be30e){_0x512008[_0x3e33b7(0x146)]=!![];return;}}}if(_0x1be30e){const _0x19def0=_0xd8a75c[_0x3e33b7(0x143)](_0x6a6032=>String(_0x6a6032['appcode']??'')[_0x3e33b7(0x13a)]()===_0x1be30e);_0x19def0&&(_0x19def0['isCurrent']=!![]);}return;}if(!_0x1be30e)return;for(const _0x2ad20d of _0xd8a75c){String(_0x2ad20d[_0x3e33b7(0x13b)]??'')[_0x3e33b7(0x13a)]()===_0x1be30e&&(_0x2ad20d[_0x3e33b7(0x146)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0xaebdbb=a8_0x302f;(function(_0x5e404a,_0x5c374e){const _0xb769b4=a8_0x302f,_0x27409f=_0x5e404a();while(!![]){try{const _0x2dbee0=-parseInt(_0xb769b4(0xe0))/0x1*(parseInt(_0xb769b4(0xda))/0x2)+-parseInt(_0xb769b4(0xe2))/0x3*(-parseInt(_0xb769b4(0xea))/0x4)+parseInt(_0xb769b4(0xd8))/0x5+parseInt(_0xb769b4(0xe8))/0x6+parseInt(_0xb769b4(0xe6))/0x7*(-parseInt(_0xb769b4(0xd6))/0x8)+-parseInt(_0xb769b4(0xec))/0x9+parseInt(_0xb769b4(0xe5))/0xa;if(_0x2dbee0===_0x5c374e)break;else _0x27409f['push'](_0x27409f['shift']());}catch(_0x85282e){_0x27409f['push'](_0x27409f['shift']());}}}(a8_0xc0f4,0x2c532));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';function a8_0xc0f4(){const _0x533c52=['App\x20config\x20key','56400IhpAWO','trim','230474cEGDHQ','appCode','apiError','Unable\x20to\x20get\x20app-config\x20value:\x20key=','Usage:\x20','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','3xIJGAX',',\x20appCode=','441183wcYKFI','app-config','\x20app-config\x20get\x20<key>','7902040RsrsKM','21nLOZzp','get','1245612yLxVZE','args','4tHfdJH','key','2629539NqtZnj','Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','read','897896WsotxP'];a8_0xc0f4=function(){return _0x533c52;};return a8_0xc0f4();}function a8_0x302f(_0x26865d,_0x1b2146){_0x26865d=_0x26865d-0xd6;const _0xc0f4d3=a8_0xc0f4();let _0x302f77=_0xc0f4d3[_0x26865d];return _0x302f77;}import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0xaebdbb(0xe3),'command':a8_0xaebdbb(0xe7),'description':a8_0xaebdbb(0xed),'risk':a8_0xaebdbb(0xee),'args':[{'name':a8_0xaebdbb(0xeb),'description':a8_0xaebdbb(0xd7),'required':!![]}],'flags':[],async 'execute'(_0x3ce9ae){const _0x1be673=a8_0xaebdbb,_0x2b5c9c=_0x3ce9ae[_0x1be673(0xe9)][0x0]?.[_0x1be673(0xd9)]();if(!_0x2b5c9c)throw CliErrors['validation']('Missing\x20app-config\x20key.',_0x1be673(0xde)+CLI_BIN_NAME+_0x1be673(0xe4));try{const _0x2a0b25=await getRuntimeAppConfigByKey(_0x3ce9ae[_0x1be673(0xdb)],_0x2b5c9c);return{'ok':!![],'data':_0x2a0b25};}catch{throw CliErrors[_0x1be673(0xdc)](_0x1be673(0xdd)+_0x2b5c9c+_0x1be673(0xe1)+_0x3ce9ae['appCode'],_0x1be673(0xdf));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2d84e8,_0x12ecc1){const _0x29375d=a9_0x33c3,_0x3c7214=_0x2d84e8();while(!![]){try{const _0x24375e=-parseInt(_0x29375d(0x18f))/0x1*(parseInt(_0x29375d(0x191))/0x2)+-parseInt(_0x29375d(0x18d))/0x3+parseInt(_0x29375d(0x18b))/0x4+parseInt(_0x29375d(0x18e))/0x5*(parseInt(_0x29375d(0x18a))/0x6)+-parseInt(_0x29375d(0x190))/0x7*(parseInt(_0x29375d(0x189))/0x8)+parseInt(_0x29375d(0x192))/0x9+-parseInt(_0x29375d(0x18c))/0xa;if(_0x24375e===_0x12ecc1)break;else _0x3c7214['push'](_0x3c7214['shift']());}catch(_0x55c45f){_0x3c7214['push'](_0x3c7214['shift']());}}}(a9_0x5568,0x3d05d));function a9_0x5568(){const _0x27e7b7=['46143hmaQxU','248MBTsQJ','690EonEFF','1965784pXjGNa','1433290tlKMrx','747633VArlwq','15575cyTxkb','404zyaFLY','14917uMACbX','724dBfagR'];a9_0x5568=function(){return _0x27e7b7;};return a9_0x5568();}import{appConfigGet}from'../../commands/app-config/get.js';function a9_0x33c3(_0x56f464,_0x312fe6){_0x56f464=_0x56f464-0x189;const _0x55681e=a9_0x5568();let _0x33c388=_0x55681e[_0x56f464];return _0x33c388;}export const appConfigDefinitions=[appConfigGet];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x5e26b8=a10_0x1cae;(function(_0x498833,_0x468e45){const _0x55ad29=a10_0x1cae,_0x3d41dc=_0x498833();while(!![]){try{const _0x2c5ed2=-parseInt(_0x55ad29(0x8b))/0x1+parseInt(_0x55ad29(0x9e))/0x2+parseInt(_0x55ad29(0xc2))/0x3*(parseInt(_0x55ad29(0x91))/0x4)+parseInt(_0x55ad29(0xb9))/0x5+-parseInt(_0x55ad29(0xa9))/0x6*(-parseInt(_0x55ad29(0xb4))/0x7)+-parseInt(_0x55ad29(0xd7))/0x8+-parseInt(_0x55ad29(0xbb))/0x9;if(_0x2c5ed2===_0x468e45)break;else _0x3d41dc['push'](_0x3d41dc['shift']());}catch(_0x15b517){_0x3d41dc['push'](_0x3d41dc['shift']());}}}(a10_0x39ae,0x46f53));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';function a10_0x1cae(_0x34254c,_0x1b24d7){_0x34254c=_0x34254c-0x88;const _0x39ae37=a10_0x39ae();let _0x1cae3b=_0x39ae37[_0x34254c];return _0x1cae3b;}import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x5e26b8(0xac),ARTIFACT_SOURCE_AGENT=a10_0x5e26b8(0xd9),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x5e26b8(0xbc),a10_0x5e26b8(0xd5),a10_0x5e26b8(0x97),a10_0x5e26b8(0x8e),a10_0x5e26b8(0xb5),a10_0x5e26b8(0xce)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x5e26b8(0xc9),'type':a10_0x5e26b8(0xa2),'required':!![],'description':a10_0x5e26b8(0x9f)},ARTIFACT_NAME_FLAG={'name':a10_0x5e26b8(0xc8),'type':a10_0x5e26b8(0xa2),'description':'Artifact\x20display\x20name'},METADATA_FLAG={'name':a10_0x5e26b8(0xbf),'type':a10_0x5e26b8(0xa2),'description':a10_0x5e26b8(0xc4)};function isPlainObject(_0x4c1f47){const _0xd610ac=a10_0x5e26b8;return typeof _0x4c1f47===_0xd610ac(0xa4)&&_0x4c1f47!==null&&!Array[_0xd610ac(0xc0)](_0x4c1f47);}function readSourceFile(_0x400f66){const _0x52318e=a10_0x5e26b8;if(!_0x400f66)throw CliErrors[_0x52318e(0x88)](_0x52318e(0xb8));if(!existsSync(_0x400f66))throw CliErrors[_0x52318e(0x88)](_0x52318e(0xc7)+_0x400f66);if(!statSync(_0x400f66)[_0x52318e(0xae)]())throw CliErrors[_0x52318e(0x88)](_0x52318e(0xcb)+_0x400f66);const _0x225967=readFileSync(_0x400f66,'utf8');return validateReactModuleSource(_0x225967),_0x225967;}function parseMetadata(_0xd59e2b){const _0x3bce79=a10_0x5e26b8;if(!_0xd59e2b)return undefined;let _0x1dff6c;try{_0x1dff6c=JSON[_0x3bce79(0xb1)](_0xd59e2b);}catch{throw CliErrors['validation'](_0x3bce79(0xda)+_0xd59e2b);}if(!isPlainObject(_0x1dff6c))throw CliErrors[_0x3bce79(0x88)](_0x3bce79(0xa8));const _0x353224={..._0x1dff6c};return delete _0x353224[_0x3bce79(0xd3)],_0x353224;}function getPackageName(_0x165ac1){const _0x4c6f99=a10_0x5e26b8;if(_0x165ac1[_0x4c6f99(0xd8)]('@')){const [_0x2c31b6,_0x381da0]=_0x165ac1['split']('/');return _0x2c31b6&&_0x381da0?_0x2c31b6+'/'+_0x381da0:_0x165ac1;}return _0x165ac1[_0x4c6f99(0xaa)]('/')[0x0]||_0x165ac1;}function validateAllowedImports(_0x229fbb){const _0x367868=a10_0x5e26b8,_0x3af6a4=new Set();for(const _0x3ac652 of IMPORT_SOURCE_PATTERNS){_0x3ac652['lastIndex']=0x0;let _0x5ad3aa;while((_0x5ad3aa=_0x3ac652[_0x367868(0xb7)](_0x229fbb))!==null){const _0x1e8303=_0x5ad3aa[0x1]?.['trim']();_0x1e8303&&_0x3af6a4[_0x367868(0xb0)](_0x1e8303);}}const _0x199cd0=[..._0x3af6a4][_0x367868(0xa5)](getPackageName)['filter'](_0x14dde1=>!ALLOWED_REACT_MODULE_IMPORTS[_0x367868(0xd6)](_0x14dde1));if(_0x199cd0[_0x367868(0x95)]>0x0)throw CliErrors[_0x367868(0x88)](_0x367868(0x9c)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x367868(0xb2)+[...new Set(_0x199cd0)][_0x367868(0x96)](',\x20'));}function a10_0x39ae(){const _0x602ec5=['add','parse','.\x20Unsupported:\x20','/client/artifact/create','7TTTDok','antd','some','exec','File\x20path\x20is\x20required.','556155ddYfWo','body','5467653JuEOeV','react','POST','create','metadata','isArray','Artifact\x20ID','8571qyoxHU','verbose','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','description','Updated\x20Artifact\x20','File\x20not\x20found:\x20','name','file','Artifact\x20source\x20file\x20is\x20blank.','File\x20is\x20not\x20a\x20regular\x20file:\x20','Preview:\x20create\x20react_module\x20Artifact','Preview:\x20update\x20react_module\x20Artifact\x20','@ant-design/icons','test','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','trim','Created\x20Artifact\x20','compiledContent','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','react-dom','includes','1416120AAxLqk','startsWith','AGENT','Invalid\x20JSON\x20for\x20--metadata:\x20','flag','validation','/update','artifactType','357142HzDCnS','favorite','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','dayjs','source','boolean','592NuBMIf','updateTime','update','str','length','join','lodash','/client/artifact/','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','read','write','react_module\x20imports\x20are\x20limited\x20to:\x20','num','822546laiSDM','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','artifact','string','Optional\x20favorite-state\x20filter','object','map','appCode','data','--metadata\x20must\x20be\x20a\x20JSON\x20object.','2921862vJpLhA','split','detail','react_module','Show\x20one\x20Artifact\x20by\x20id','isFile','number'];a10_0x39ae=function(){return _0x602ec5;};return a10_0x39ae();}export function validateReactModuleSource(_0x51a0c9){const _0x4bd49b=a10_0x5e26b8;if(!_0x51a0c9[_0x4bd49b(0xd1)]())throw CliErrors[_0x4bd49b(0x88)](_0x4bd49b(0xca));if(PAGE_LEVEL_PATTERNS[_0x4bd49b(0xb6)](_0x29e251=>_0x29e251[_0x4bd49b(0xcf)](_0x51a0c9)))throw CliErrors[_0x4bd49b(0x88)](_0x4bd49b(0xd4));validateAllowedImports(_0x51a0c9);}function buildArtifactInput(_0x302db4){const _0x4ef375=a10_0x5e26b8,_0x24ba46=readSourceFile(_0x302db4[_0x4ef375(0x94)](_0x4ef375(0xc9))),_0x344d73=_0x302db4[_0x4ef375(0x94)](_0x4ef375(0xc8))[_0x4ef375(0xd1)](),_0x4b1575=parseMetadata(_0x302db4['str']('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x344d73?{'name':_0x344d73}:{},'content':_0x24ba46,..._0x4b1575?{'metadata':_0x4b1575}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x1f572d){const _0x49752d=a10_0x5e26b8;return{'id':_0x1f572d['id'],'name':_0x1f572d['name'],'artifactType':_0x1f572d[_0x49752d(0x8a)],'source':_0x1f572d['source'],'favorite':_0x1f572d[_0x49752d(0x8c)],'deleted':_0x1f572d['deleted'],'createTime':_0x1f572d['createTime'],'updateTime':_0x1f572d[_0x49752d(0x92)]};}function detailArtifact(_0x3e40d9){const _0x4dfef5=a10_0x5e26b8;return{'id':_0x3e40d9['id'],'appCode':_0x3e40d9['appCode'],'name':_0x3e40d9['name'],'artifactType':_0x3e40d9[_0x4dfef5(0x8a)],'source':_0x3e40d9['source'],'favorite':_0x3e40d9[_0x4dfef5(0x8c)],'deleted':_0x3e40d9['deleted'],'content':_0x3e40d9['content']??'','compiledContent':_0x3e40d9[_0x4dfef5(0xd3)],'metadata':_0x3e40d9[_0x4dfef5(0xbf)]??{},'createTime':_0x3e40d9['createTime'],'updateTime':_0x3e40d9[_0x4dfef5(0x92)]};}function readFavoriteFlag(_0x586b57){const _0x1bb704=a10_0x5e26b8,_0x2be1f9=_0x586b57[_0x1bb704(0xdb)](_0x1bb704(0x8c));return _0x2be1f9===undefined||_0x2be1f9===null||_0x2be1f9===''?undefined:_0x586b57['bool'](_0x1bb704(0x8c));}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':'read','flags':[{'name':'source','type':a10_0x5e26b8(0xa2),'description':a10_0x5e26b8(0x99)},{'name':a10_0x5e26b8(0x8c),'type':a10_0x5e26b8(0x90),'description':a10_0x5e26b8(0xa3)},VERBOSE_FLAG],async 'execute'(_0x39aeb0){const _0x5057f2=a10_0x5e26b8,_0x1c3fed=await listRuntimeArtifacts(_0x39aeb0['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x39aeb0['str'](_0x5057f2(0x8f))?{'source':_0x39aeb0['str'](_0x5057f2(0x8f))}:{},...readFavoriteFlag(_0x39aeb0)!==undefined?{'favorite':readFavoriteFlag(_0x39aeb0)}:{}});return{'ok':!![],'data':{'total':_0x1c3fed['length'],'items':_0x39aeb0['bool'](_0x5057f2(0xc3))?_0x1c3fed:_0x1c3fed[_0x5057f2(0xa5)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0xab),'description':a10_0x5e26b8(0xad),'risk':a10_0x5e26b8(0x9a),'flags':[{...ID_FLAG,'description':a10_0x5e26b8(0xc1)}],async 'execute'(_0x101159){const _0x26ff6d=a10_0x5e26b8,_0x30162a=await getRuntimeArtifact(_0x101159['num']('id'),_0x101159[_0x26ff6d(0xa6)]);return{'ok':!![],'data':detailArtifact(_0x30162a)};}},artifactCreate={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0xbe),'description':a10_0x5e26b8(0xd0),'risk':a10_0x5e26b8(0x9b),'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'(_0x28d4fb){const _0x5254cf=a10_0x5e26b8,_0x58ca54=buildArtifactInput(_0x28d4fb),_0x2794a3=await createRuntimeArtifact(_0x28d4fb[_0x5254cf(0xa6)],_0x58ca54);return{'ok':!![],'data':detailArtifact(_0x2794a3),'message':_0x5254cf(0xd2)+_0x2794a3['id']+(_0x2794a3['name']?'\x20('+_0x2794a3['name']+')':'')};},async 'dryRun'(_0x1f0a1d){const _0x5285dc=a10_0x5e26b8,_0x52ca23=buildArtifactInput(_0x1f0a1d);return dryRun(_0x5285dc(0xbd),_0x5285dc(0xb3))[_0x5285dc(0xba)]({'appCode':_0x1f0a1d[_0x5285dc(0xa6)],..._0x52ca23})[_0x5285dc(0xc5)](_0x5285dc(0xcc))['build']();},'writeEventSubject'(_0x1a4232){const _0x31bb3c=a10_0x5e26b8,_0x531858=_0x1a4232[_0x31bb3c(0xa7)]?.['id'];if(typeof _0x531858!==_0x31bb3c(0xa2)&&typeof _0x531858!==_0x31bb3c(0xaf))return undefined;return{'kind':_0x31bb3c(0xa1),'id':String(_0x531858),'action':_0x31bb3c(0xbe)};}},artifactUpdate={'service':a10_0x5e26b8(0xa1),'command':a10_0x5e26b8(0x93),'description':a10_0x5e26b8(0x8d),'risk':'write','confirmationDescription':a10_0x5e26b8(0xa0),'flags':[{...ID_FLAG,'description':a10_0x5e26b8(0xc1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x208fde){const _0x5935d9=a10_0x5e26b8,_0x2d3d59=_0x208fde[_0x5935d9(0x9d)]('id'),_0x771c7a=buildArtifactInput(_0x208fde),_0x567210=await updateRuntimeArtifact(_0x2d3d59,_0x208fde[_0x5935d9(0xa6)],_0x771c7a);return{'ok':!![],'data':detailArtifact(_0x567210),'message':_0x5935d9(0xc6)+_0x567210['id']+(_0x567210[_0x5935d9(0xc8)]?'\x20('+_0x567210['name']+')':'')};},async 'dryRun'(_0x66ea){const _0x4d1b9f=a10_0x5e26b8,_0x459258=_0x66ea[_0x4d1b9f(0x9d)]('id'),_0x14e4c5=buildArtifactInput(_0x66ea);return dryRun(_0x4d1b9f(0xbd),_0x4d1b9f(0x98)+_0x459258+_0x4d1b9f(0x89))[_0x4d1b9f(0xba)]({'appCode':_0x66ea['appCode'],..._0x14e4c5})[_0x4d1b9f(0xc5)](_0x4d1b9f(0xcd)+_0x459258)['build']();},'writeEventSubject'(_0xe71b11){const _0x1815bb=a10_0x5e26b8,_0x7d527c=_0xe71b11['data']?.['id'];if(typeof _0x7d527c!=='string'&&typeof _0x7d527c!==_0x1815bb(0xaf))return undefined;return{'kind':_0x1815bb(0xa1),'id':String(_0x7d527c),'action':_0x1815bb(0x93)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
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 +1 @@
|
|
|
1
|
-
const a11_0x11cbe8=a11_0x59fe;(function(_0x23bb54,_0x1fb1a8){const _0x31266b=a11_0x59fe,_0x10780a=_0x23bb54();while(!![]){try{const _0x3d3a25=parseInt(_0x31266b(0x1ef))/0x1+-parseInt(_0x31266b(0x20a))/0x2*(parseInt(_0x31266b(0x210))/0x3)+-parseInt(_0x31266b(0x1ec))/0x4+-parseInt(_0x31266b(0x1f5))/0x5*(-parseInt(_0x31266b(0x207))/0x6)+-parseInt(_0x31266b(0x218))/0x7+-parseInt(_0x31266b(0x224))/0x8+-parseInt(_0x31266b(0x209))/0x9*(-parseInt(_0x31266b(0x20f))/0xa);if(_0x3d3a25===_0x1fb1a8)break;else _0x10780a['push'](_0x10780a['shift']());}catch(_0x2a1c16){_0x10780a['push'](_0x10780a['shift']());}}}(a11_0x374e,0x19f7a));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(_0x12a274){const _0x4a00e3=a11_0x59fe;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x12a274[_0x4a00e3(0x22a)](_0x4a00e3(0x228)),'explicitProject':_0x12a274[_0x4a00e3(0x22a)](_0x4a00e3(0x203)),'policy':_0x4a00e3(0x213)}));}function a11_0x374e(){const _0x2b44e9=['networkError','Write\x20to\x20project\x20config','cancelled','nonInteractive','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','306792ByilxJ','log','\x20auth\x20status','181232GXNwpa','SIGINT','url-only','auth','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Verify:\x20','13510veTOQK','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','test','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','accessKey','\x20config.','createdAt','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Device\x20auth\x20API\x20error\x20(','validation','aborted','code','randomUUID','once','project','apiError','write','str','84PkLGJK','utf8','117zwhZnQ','26untQwl','),\x20retrying...','Write\x20to\x20global\x20config\x20(default)','stringify','Invalid\x20access_key\x20returned\x20by\x20server.','266390soybmF','22182aQazEP','removeListener','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','global-default','AccessKey\x20saved\x20to\x20','abort','toISOString','status','805210RvYqJA','&source=','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Device\x20auth\x20API\x20returned\x20HTTP\x20','device','signal','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','string','After\x20authorizing,\x20re-run:\x20','boolean','data','expired','1369240bmWhgG','/device-auth?code=','scope','object','global','AbortError','bool','/.device-auth','name','source','\x20auth\x20device','trim','padStart','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','Device\x20authorization\x20cancelled.','stderr','homeDirName','lovrabet-cli','json','access_key'];a11_0x374e=function(){return _0x2b44e9;};return a11_0x374e();}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 _0x40560e=a11_0x59fe;return crypto[_0x40560e(0x201)]();}function a11_0x59fe(_0x2d7666,_0x315e1f){_0x2d7666=_0x2d7666-0x1e8;const _0x374e42=a11_0x374e();let _0x59fe1a=_0x374e42[_0x2d7666];return _0x59fe1a;}export function buildDeviceAuthUrl(_0x504bcb,_0x1a851c,_0x4211f7=a11_0x11cbe8(0x235)){const _0x108974=a11_0x11cbe8;return _0x504bcb+_0x108974(0x225)+encodeURIComponent(_0x1a851c)+_0x108974(0x219)+encodeURIComponent(_0x4211f7);}export function getDeviceCodePath(){const _0x1444cd=a11_0x11cbe8;return homedir()+'/'+PRODUCT_CONFIG[_0x1444cd(0x234)]+_0x1444cd(0x22b);}export function readStoredDeviceCode(){const _0x4b10f6=a11_0x11cbe8,_0x2be38b=getDeviceCodePath();if(!existsSync(_0x2be38b))return null;try{const _0x2a3c54=readFileSync(_0x2be38b,{'encoding':_0x4b10f6(0x208)}),_0x21d04f=JSON['parse'](_0x2a3c54);if(_0x21d04f&&typeof _0x21d04f[_0x4b10f6(0x200)]===_0x4b10f6(0x21f)&&typeof _0x21d04f['createdAt']==='string'&&(_0x21d04f[_0x4b10f6(0x226)]==='global'||_0x21d04f[_0x4b10f6(0x226)]===_0x4b10f6(0x203)))return _0x21d04f;}catch{}return null;}export function writeStoredDeviceCode(_0x13e99a,_0xb0ae6a){const _0x3e6c77=a11_0x11cbe8,_0x522aba=getDeviceCodePath(),_0x532f80=dirname(_0x522aba);!existsSync(_0x532f80)&&mkdirSync(_0x532f80,{'recursive':!![]});const _0x200766={'code':_0x13e99a,'createdAt':new Date()[_0x3e6c77(0x216)](),'scope':_0xb0ae6a};writeFileSync(_0x522aba,JSON[_0x3e6c77(0x20d)](_0x200766),{'encoding':_0x3e6c77(0x208),'mode':0x180});}export function deleteStoredDeviceCode(){const _0xddd20a=getDeviceCodePath();try{unlinkSync(_0xddd20a);}catch{}}export function isStoredDeviceCodeExpired(_0x371afa){const _0x282fd5=a11_0x11cbe8;return Date['now']()-new Date(_0x371afa[_0x282fd5(0x1fb)])['getTime']()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x20af30,_0x84c349){const _0x544ced=a11_0x11cbe8,_0x1c68f2=_0x20af30+'/api/device-auth/token',_0x40389b=new AbortController(),_0x244614=setTimeout(()=>_0x40389b[_0x544ced(0x215)](),0x2710),_0x55d481=await fetch(_0x1c68f2,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'code':_0x84c349}),'signal':_0x40389b[_0x544ced(0x21d)]});clearTimeout(_0x244614);if(!_0x55d481['ok'])throw CliErrors[_0x544ced(0x238)](_0x544ced(0x21b)+_0x55d481[_0x544ced(0x217)]);const _0x36cbc7=await _0x55d481[_0x544ced(0x236)](),_0x4cf22a=_0x36cbc7['data']&&typeof _0x36cbc7[_0x544ced(0x222)]===_0x544ced(0x227)?_0x36cbc7[_0x544ced(0x222)]:_0x36cbc7;if(!_0x4cf22a||typeof _0x4cf22a[_0x544ced(0x217)]!=='string')throw CliErrors[_0x544ced(0x204)]('Invalid\x20device\x20auth\x20response');return{'status':_0x4cf22a['status'],'access_key':typeof _0x4cf22a[_0x544ced(0x237)]===_0x544ced(0x21f)?_0x4cf22a[_0x544ced(0x237)]:undefined};}export async function pollDeviceToken(_0x2896d9,_0x2d48f0,_0x39b7ab){const _0x4d4ee4=a11_0x11cbe8;let _0x4821bc=0x0;for(let _0x3c1116=0x0;_0x3c1116<MAX_POLLS;_0x3c1116++){if(_0x39b7ab[_0x4d4ee4(0x1ff)])throw CliErrors['cancelled'](_0x4d4ee4(0x232));let _0x1d0cf1;try{_0x1d0cf1=await fetchDeviceToken(_0x2896d9,_0x2d48f0);}catch(_0x9f7ac0){if(_0x9f7ac0 instanceof Error&&_0x9f7ac0[_0x4d4ee4(0x22c)]===_0x4d4ee4(0x229))throw CliErrors[_0x4d4ee4(0x1e9)](_0x4d4ee4(0x232));_0x4821bc++;if(_0x4821bc>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x4d4ee4(0x238)](_0x4d4ee4(0x1eb));writeCliSideChannelLine(_0x4d4ee4(0x1fd)+_0x4821bc+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x4d4ee4(0x20b)),await sleep(POLL_INTERVAL_MS);continue;}_0x4821bc=0x0;if(_0x1d0cf1[_0x4d4ee4(0x217)]==='success'){if(!_0x1d0cf1['access_key'])throw CliErrors[_0x4d4ee4(0x204)](_0x4d4ee4(0x20e));return _0x1d0cf1['access_key'];}if(_0x1d0cf1['status']===_0x4d4ee4(0x223)){deleteStoredDeviceCode();throw CliErrors[_0x4d4ee4(0x1fe)]('Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.');}const _0x5d1be6=(_0x3c1116+0x1)*POLL_INTERVAL_MS,_0x32d1a5=DEVICE_CODE_TTL_MS-_0x5d1be6,_0x897f0e=Math['floor'](_0x32d1a5/0xea60),_0x47495b=Math['floor'](_0x32d1a5%0xea60/0x3e8);process[_0x4d4ee4(0x233)][_0x4d4ee4(0x205)]('\x0dWaiting\x20for\x20authorization...\x20'+_0x897f0e+':'+String(_0x47495b)[_0x4d4ee4(0x230)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x4d4ee4(0x1fe)](_0x4d4ee4(0x1f8));}function sleep(_0x18bfb9){return new Promise(_0x5ec247=>setTimeout(_0x5ec247,_0x18bfb9));}export const authDeviceDefinition={'service':a11_0x11cbe8(0x1f2),'command':a11_0x11cbe8(0x21c),'description':'Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','risk':a11_0x11cbe8(0x205),'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_0x11cbe8(0x228),'type':a11_0x11cbe8(0x221),'description':a11_0x11cbe8(0x20c),'default':!![]},{'name':'project','type':a11_0x11cbe8(0x221),'description':a11_0x11cbe8(0x1e8),'default':![]},{'name':'source','type':a11_0x11cbe8(0x21f),'description':a11_0x11cbe8(0x21a),'default':'lovrabet-cli'},{'name':a11_0x11cbe8(0x1f1),'type':'boolean','description':a11_0x11cbe8(0x212),'default':![]}],async 'execute'(_0x20e92c){const _0x173923=a11_0x11cbe8,_0xec5f4e=resolveAuthScopeFlags(_0x20e92c),_0x1085f1=_0xec5f4e[_0x173923(0x228)]?_0x173923(0x228):_0x173923(0x203),_0x257a46=readScopedConfig(_0xec5f4e);if(_0x257a46[_0x173923(0x1f9)])return{'ok':!![],'message':_0x173923(0x1fc)};const _0x3b575e=(_0x20e92c[_0x173923(0x206)](_0x173923(0x22d))||_0x173923(0x235))[_0x173923(0x22f)](),_0x1cd3b3=getUserDomain(),_0x346854=readStoredDeviceCode(),_0x5d03ce=_0x346854&&!isStoredDeviceCodeExpired(_0x346854)?_0x346854[_0x173923(0x200)]:((()=>{const _0x4dc6a5=generateDeviceCode();return writeStoredDeviceCode(_0x4dc6a5,_0x1085f1),_0x4dc6a5;})()),_0x381e89=buildDeviceAuthUrl(_0x1cd3b3,_0x5d03ce,_0x3b575e);if(_0x20e92c[_0x173923(0x22a)](_0x173923(0x1f1)))return console[_0x173923(0x1ed)](_0x381e89),{'ok':!![]};writeCliSideChannelLine(_0x173923(0x21e)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x381e89),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x173923(0x1f3));if(_0x20e92c[_0x173923(0x1ea)])return writeCliSideChannelLine(_0x173923(0x220)+CLI_BIN_NAME+_0x173923(0x22e)),{'ok':!![],'message':_0x173923(0x1f6)};writeCliSideChannelLine(_0x173923(0x231));const _0x3825fc=new AbortController(),_0xb75dea=()=>{const _0x3b8c08=_0x173923;_0x3825fc[_0x3b8c08(0x215)](),process[_0x3b8c08(0x211)](_0x3b8c08(0x1f0),_0xb75dea);};process[_0x173923(0x202)](_0x173923(0x1f0),_0xb75dea);let _0x3816f1;try{_0x3816f1=await pollDeviceToken(_0x1cd3b3,_0x5d03ce,_0x3825fc[_0x173923(0x21d)]);}finally{process[_0x173923(0x211)]('SIGINT',_0xb75dea);}if(!ACCESS_KEY_PATTERN[_0x173923(0x1f7)](_0x3816f1))throw CliErrors[_0x173923(0x204)](_0x173923(0x20e));const _0x31fb1c=readScopedConfig(_0xec5f4e);return _0x31fb1c[_0x173923(0x1f9)]=_0x3816f1,writeScopedConfig(_0x31fb1c,_0xec5f4e),deleteStoredDeviceCode(),process[_0x173923(0x233)]['write']('\x0a'),writeCliSideChannelLine(_0x173923(0x214)+_0x1085f1+_0x173923(0x1fa)),writeCliSideChannelLine(_0x173923(0x1f4)+CLI_BIN_NAME+_0x173923(0x1ee)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
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)};}};
|