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