@lovrabet/lovrabet-cli 2.3.1-beta.4 → 2.3.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/lib/cli.js +1 -1
- package/lib/commands/api-doc/index.js +1 -1
- package/lib/commands/app/cache.js +1 -1
- package/lib/commands/app/definitions.js +1 -1
- package/lib/commands/app/eligibility.js +1 -1
- package/lib/commands/app/mock-loader.js +1 -1
- package/lib/commands/app/remote-source.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/artifact/index.js +1 -1
- package/lib/commands/auth/device.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/auth/prompt.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/exec.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/common/config-policy.js +1 -1
- package/lib/commands/common/constraints.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/config/definitions.js +1 -1
- package/lib/commands/config/init.d.ts +1 -2
- 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.d.ts +0 -3
- 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.d.ts +2 -0
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/schedule/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/service/dynamic.js +1 -1
- package/lib/commands/service/function-name-adapter.js +1 -1
- package/lib/commands/service/index.js +1 -1
- package/lib/commands/service/registry.js +1 -1
- package/lib/commands/skill/commands/create.js +1 -1
- package/lib/commands/skill/commands/diagram.js +1 -1
- package/lib/commands/skill/commands/install.js +1 -1
- package/lib/commands/skill/commands/list.js +1 -1
- package/lib/commands/skill/commands/push.js +1 -1
- package/lib/commands/skill/commands/validate.js +1 -1
- package/lib/commands/skill/diagram.js +1 -1
- package/lib/commands/skill/flags.js +1 -1
- package/lib/commands/skill/index.js +1 -1
- package/lib/commands/skill/manifest-helpers.js +1 -1
- package/lib/commands/skill/push-execute.js +1 -1
- package/lib/commands/skill/push-flow-helpers.js +1 -1
- package/lib/commands/skill/push-retarget.js +1 -1
- package/lib/commands/skill/scopes.js +1 -1
- package/lib/commands/skill/summary.js +1 -1
- package/lib/commands/skill/templates.js +1 -1
- package/lib/commands/skill/validate.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/update.js +1 -1
- package/lib/commands/user-account/bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/config/domain-config.d.ts +6 -14
- package/lib/config/domain-config.js +1 -1
- package/lib/config/schema.d.ts +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/app.js +1 -1
- package/lib/constant/auth-mode.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/distribution.js +1 -1
- package/lib/constant/domain.d.ts +0 -3
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/product.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/url.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/api-client.d.ts +5 -10
- package/lib/core/api-client.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/sdk-client.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/dryrun.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/preparse.js +1 -1
- package/lib/framework/rate-limit.js +1 -1
- package/lib/framework/raw-flags.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-confirmation.js +1 -1
- package/lib/framework/runner-error.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/service-order.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.d.ts +1 -5
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +3 -7
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/runtime-skill-sync/constants.js +1 -1
- package/lib/skills/runtime-skill-sync/fs-utils.js +1 -1
- package/lib/skills/runtime-skill-sync/hashing.js +1 -1
- package/lib/skills/runtime-skill-sync/install-target.js +1 -1
- package/lib/skills/runtime-skill-sync/links.js +1 -1
- package/lib/skills/runtime-skill-sync/list-local.js +1 -1
- package/lib/skills/runtime-skill-sync/local-files.js +1 -1
- package/lib/skills/runtime-skill-sync/materialize.js +1 -1
- package/lib/skills/runtime-skill-sync/metadata.js +1 -1
- package/lib/skills/runtime-skill-sync/paths.js +1 -1
- package/lib/skills/runtime-skill-sync/push.js +1 -1
- package/lib/skills/runtime-skill-sync/scopes.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-codec.js +1 -1
- package/lib/skills/runtime-skill-sync/zip-package.js +1 -1
- package/lib/skills/runtime-skill-sync.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/utils/access-key-redaction.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/lossless-json.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/lovrabet/SKILL.md +4 -4
- package/skills/lovrabet/guides/role-and-permission-workflow.md +6 -4
- package/skills/lovrabet/references/lovrabet-config-commands.md +7 -11
- package/skills/lovrabet/references/lovrabet-config.md +2 -3
- package/skills/lovrabet/references/lovrabet-doctor.md +1 -1
- package/skills/lovrabet/references/lovrabet-kb-workflow.md +1 -1
- package/skills/lovrabet/references/lovrabet-notification-config-list.md +2 -8
- package/skills/lovrabet.manifest.json +3 -3
package/README.md
CHANGED
|
@@ -108,8 +108,7 @@ lovrabet config init --domain-config ./lovrabet-domains.json
|
|
|
108
108
|
"runtimeDomain": "https://runtime.customer.example.com",
|
|
109
109
|
"skillDomain": "https://skills.customer.example.com",
|
|
110
110
|
"kbDomain": {
|
|
111
|
-
"
|
|
112
|
-
"lovrabet-cli": "https://kb.customer.example.com"
|
|
111
|
+
"rabetbase-cli": "https://kb-admin.customer.example.com"
|
|
113
112
|
},
|
|
114
113
|
"appDomain": "https://app.customer.example.com"
|
|
115
114
|
}
|
|
@@ -117,19 +116,22 @@ lovrabet config init --domain-config ./lovrabet-domains.json
|
|
|
117
116
|
```
|
|
118
117
|
|
|
119
118
|
A Domain can be a shared HTTPS origin string or a consumer-specific object.
|
|
120
|
-
Lovrabet CLI resolves `lovrabet-cli` first and
|
|
121
|
-
exists, the import fails instead of using another
|
|
119
|
+
For every Domain it consumes, Lovrabet CLI resolves `lovrabet-cli` first and
|
|
120
|
+
then `default`; if neither exists, the import fails instead of using another
|
|
121
|
+
consumer's Domain. It preserves but does not consume the shared manifest's
|
|
122
|
+
`kbDomain`; Runtime knowledge-base requests use `runtimeDomain`. Official
|
|
122
123
|
`region` mode and explicit independent-deployment Domains are mutually
|
|
123
124
|
exclusive.
|
|
124
125
|
|
|
125
|
-
The
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
The same file may also contain CDN settings, database metadata, or Domains for
|
|
127
|
+
other consumers. Lovrabet CLI ignores and does not persist fields it does not
|
|
128
|
+
use; it only validates `userDomain`, `apiDomain`, `runtimeDomain`, and
|
|
129
|
+
`skillDomain`. Runtime knowledge-base requests use `runtimeDomain`.
|
|
128
130
|
|
|
129
131
|
Official routing is compiled into this package from the independent
|
|
130
132
|
`lovrabet-routing` repository. The CLI does not download that catalog at
|
|
131
133
|
runtime. Generated files under `src/generated/` are read-only snapshots with a
|
|
132
|
-
|
|
134
|
+
consumer projection digest and must be updated through the routing repository's generator.
|
|
133
135
|
|
|
134
136
|
## AI Agent Skill
|
|
135
137
|
|
package/lib/cli.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
(function(
|
|
2
|
+
(function(_0x598111,_0x207e15){const _0x5c9211=a0_0x3a79,_0x1d19af=_0x598111();while(!![]){try{const _0x18138f=parseInt(_0x5c9211(0xf0))/0x1*(parseInt(_0x5c9211(0x104))/0x2)+-parseInt(_0x5c9211(0xfc))/0x3*(parseInt(_0x5c9211(0x103))/0x4)+-parseInt(_0x5c9211(0xea))/0x5+-parseInt(_0x5c9211(0x107))/0x6*(-parseInt(_0x5c9211(0xe7))/0x7)+-parseInt(_0x5c9211(0xf9))/0x8+parseInt(_0x5c9211(0xf3))/0x9+parseInt(_0x5c9211(0xff))/0xa*(-parseInt(_0x5c9211(0x100))/0xb);if(_0x18138f===_0x207e15)break;else _0x1d19af['push'](_0x1d19af['shift']());}catch(_0x1ccacc){_0x1d19af['push'](_0x1d19af['shift']());}}}(a0_0x2079,0x64aab));import{jsx as a0_0x46b2c9}from'react/jsx-runtime';import a0_0x69b93b from'meow';import{render}from'ink';import{Help}from'./help.js';function a0_0x2079(){const _0x219394=['ERR_USE_AFTER_CLOSE','1115181SLtNLs','validation','definition','name','write','error','4071864InMdis','flags','ExitPromptError','10806XvjyNu','\x0aCancelled.\x0a','input','25860cSkXBt','473MGPURO','code','unknownCommand','104HQBqSN','8YrBFyU','slice','message','36HecKAV','corrected','stderr','hint','help','assign','\x20->\x20--','Error:\x20','config','./framework/preparse.js','original','cancelled','779786sFsZXi','args','doctor','323525XeGTLo','Hint:\x20','ERR_STREAM_DESTROYED','flatMap','log','defaultCommand','99643zjbCbO','exit'];a0_0x2079=function(){return _0x219394;};return a0_0x2079();}function a0_0x3a79(_0x41db55,_0x2fc040){_0x41db55=_0x41db55-0xe4;const _0x207939=a0_0x2079();let _0x3a7997=_0x207939[_0x41db55];return _0x3a7997;}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_0x69b93b(helpText,{'importMeta':import.meta,'flags':buildMeowFlags(),'version':getCliVersionDisplay()});void main()['catch'](handleError);async function main(){try{await run();}catch(_0x74ff94){handleError(_0x74ff94);}}async function run(){const _0x2d00fe=a0_0x3a79;let _0x255228=cli['input'][0x0],_0x577dc5=cli[_0x2d00fe(0xfe)][0x1];const _0xab696=cli[_0x2d00fe(0xfa)];try{const {correctFlags:_0x7ea30d}=await import(_0x2d00fe(0xe4)),_0x10bda4=getAllDefinitions()[_0x2d00fe(0xed)](_0x272d68=>_0x272d68[_0x2d00fe(0xfa)]??[]),{flags:_0x524956,corrections:_0x22684b}=_0x7ea30d(_0xab696,_0x10bda4);if(_0x22684b['length']>0x0){for(const _0x51888f of _0x22684b){process[_0x2d00fe(0x109)][_0x2d00fe(0xf7)]('[preparse]\x20'+_0x51888f['handler']+':\x20--'+_0x51888f[_0x2d00fe(0xe5)]+_0x2d00fe(0x10d)+_0x51888f[_0x2d00fe(0x108)]+'\x0a');}Object[_0x2d00fe(0x10c)](_0xab696,_0x524956);}}catch{}if(!_0x255228){const {waitUntilExit:_0x3a3458}=render(a0_0x46b2c9(Help,{}));await _0x3a3458();return;}const _0x20074b=resolveRemovedCommand(_0x255228,_0x577dc5);if(_0x20074b)throw CliErrors[_0x2d00fe(0xf4)](_0x20074b[_0x2d00fe(0x106)],_0x20074b['hint']);if(!isKnownService(_0x255228)){const _0x123093=resolveDynamicServiceCommand(cli[_0x2d00fe(0xfe)],_0xab696);if(_0x123093){if(_0xab696[_0x2d00fe(0x10b)]){console[_0x2d00fe(0xee)](generateCommandHelp(_0x123093['definition']));return;}Object[_0x2d00fe(0x10c)](_0xab696,_0x123093[_0x2d00fe(0xfa)]);const _0x50fe41=buildConfigFromFlags(_0xab696);await initGlobalEnvironment(_0x50fe41);const _0x1183e6=createPipelineEnv(_0x50fe41,_0xab696);_0x1183e6[_0x2d00fe(0xe8)]=_0x123093['args'],await runCommand(_0x123093[_0x2d00fe(0xf5)],_0x1183e6);return;}if(_0xab696[_0x2d00fe(0x10b)]){const _0x37092b=generateDynamicServiceHelp(_0x255228);if(_0x37092b){console[_0x2d00fe(0xee)](_0x37092b);return;}}const {waitUntilExit:_0x361cff}=render(a0_0x46b2c9(Help,{}));await _0x361cff();return;}const _0x5a40ef=getServiceEntry(_0x255228);if(!_0x577dc5){if(_0xab696[_0x2d00fe(0x10b)]){console[_0x2d00fe(0xee)](generateServiceHelp(_0x255228));return;}if(_0x5a40ef[_0x2d00fe(0xef)])_0x577dc5=_0x5a40ef[_0x2d00fe(0xef)];else{console[_0x2d00fe(0xee)](generateServiceHelp(_0x255228));return;}}const _0x2e8ded=findDefinition(_0x255228,_0x577dc5);!_0x2e8ded&&(console[_0x2d00fe(0xee)](generateServiceHelp(_0x255228)),handleError(CliErrors[_0x2d00fe(0x102)](_0x255228+'\x20'+_0x577dc5)));if(_0xab696[_0x2d00fe(0x10b)]){console[_0x2d00fe(0xee)](generateCommandHelp(_0x2e8ded));return;}const _0x1125b7=buildConfigFromFlags(_0xab696);_0x255228!==_0x2d00fe(0x10f)&&_0x255228!==_0x2d00fe(0xe9)&&await initGlobalEnvironment(_0x1125b7);const _0x1112c9=createPipelineEnv(_0x1125b7,_0xab696);_0x1112c9[_0x2d00fe(0xe8)]=cli[_0x2d00fe(0xfe)][_0x2d00fe(0x105)](0x2),await runCommand(_0x2e8ded,_0x1112c9);}function handleError(_0x5d076e){const _0x1455a5=a0_0x3a79;if(_0x5d076e instanceof CliError){_0x5d076e['code']===_0x1455a5(0xe6)&&(process[_0x1455a5(0x109)][_0x1455a5(0xf7)]('\x0aCancelled.\x0a'),process[_0x1455a5(0xf1)](0x0));console[_0x1455a5(0xf8)](_0x1455a5(0x10e)+_0x5d076e[_0x1455a5(0x106)]);if(_0x5d076e[_0x1455a5(0x10a)])console['error'](_0x1455a5(0xeb)+_0x5d076e[_0x1455a5(0x10a)]);process[_0x1455a5(0xf1)](_0x5d076e['exitCode']);}isUserCancellation(_0x5d076e)&&(process[_0x1455a5(0x109)]['write'](_0x1455a5(0xfd)),process[_0x1455a5(0xf1)](0x0)),console[_0x1455a5(0xf8)]('Unexpected\x20error:',_0x5d076e),process[_0x1455a5(0xf1)](0x1);}function isUserCancellation(_0x25f4b5){const _0x1ef53f=a0_0x3a79;if(!(_0x25f4b5 instanceof Error))return![];if(_0x25f4b5[_0x1ef53f(0xf6)]===_0x1ef53f(0xfb))return!![];if(_0x25f4b5[_0x1ef53f(0x101)]===_0x1ef53f(0xf2))return!![];if(_0x25f4b5[_0x1ef53f(0x101)]===_0x1ef53f(0xec))return!![];return![];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a1_0x2d8212=a1_0x21de;(function(_0x3adc7e,_0x4757b2){const _0x26f3fb=a1_0x21de,_0x2234ef=_0x3adc7e();while(!![]){try{const _0x9461f3=parseInt(_0x26f3fb(0x26a))/0x1+-parseInt(_0x26f3fb(0x232))/0x2+parseInt(_0x26f3fb(0x217))/0x3*(-parseInt(_0x26f3fb(0x227))/0x4)+-parseInt(_0x26f3fb(0x268))/0x5+parseInt(_0x26f3fb(0x21a))/0x6*(-parseInt(_0x26f3fb(0x226))/0x7)+parseInt(_0x26f3fb(0x248))/0x8*(-parseInt(_0x26f3fb(0x26c))/0x9)+parseInt(_0x26f3fb(0x1ff))/0xa;if(_0x9461f3===_0x4757b2)break;else _0x2234ef['push'](_0x2234ef['shift']());}catch(_0x38ed6d){_0x2234ef['push'](_0x2234ef['shift']());}}}(a1_0x3027,0xbd707));function a1_0x21de(_0x4cadf4,_0x32b142){_0x4cadf4=_0x4cadf4-0x1f2;const _0x3027e4=a1_0x3027();let _0x21deff=_0x3027e4[_0x4cadf4];return _0x21deff;}function a1_0x3027(){const _0xa6a25a=['32-character\x20dataset\x20code','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','Execute\x20a\x20BF\x20endpoint\x20function','1614cZQOzz','Aggregate\x20dataset\x20records','Filter\x20dataset\x20data','174TxCUYX','paging\x20contains\x20pagination','dataset','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','Execute\x20Personal\x20Backend\x20Function','functionName','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Execute\x20custom\x20SQL','Returns\x20SQL\x20execution\x20payload','api-doc','method','365253OXSWVE','2332NrvvGW','tableData\x20contains\x20dataset\x20id/code/name','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','operations\x20describes\x20runtime\x20APIs','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','/api/runtime-bff/personal/{id}/execute','Show\x20runtime\x20API\x20documentation\x20by\x20code','List\x20available\x20runtime\x20API\x20documentation\x20entries','2456238RXJaaV','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','/api/{appCode}/{datasetCode}/create','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','API\x20doc\x20code,\x20for\x20example\x20dataset_list','##\x20Filter\x20dataset\x20data','where\x20filters\x20before\x20aggregation','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Current\x20app\x20code','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','read','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','Endpoint\x20function\x20name','string','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','##\x20List\x20datasets','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','1616VnNkkQ','Get\x20dataset\x20detail','POST','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Get\x20BF\x20endpoint\x20function\x20contract','None','{\x22fieldName\x22:\x22value\x22}','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Execute\x20BF\x20endpoint\x20function','appCode','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','/api/{appCode}/{datasetCode}/getOne','Create\x20dataset\x20record','paging.totalCount\x20gives\x20total\x20rows','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','##\x20Execute\x20Personal\x20Backend\x20Function','Create\x20a\x20dataset\x20record','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','trim','Filter\x20dataset\x20records','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','datasetCode','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','filter','Aggregate\x20dataset\x20data','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','join','list','whenToUse','title','3494660PhcwwG','fields/properties\x20describe\x20data\x20shape','1023826XKnWaa','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','43920VrLaPr','##\x20Dataset\x20detail','str','path','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','code','dataset_data_get_one','length','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','{\x22id\x22:123}','44917730tbLWmi','validation','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','GET','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','##\x20Aggregate\x20dataset\x20data','result\x20rows\x20contain\x20aggregate\x20aliases','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','dataset_data_aggregate','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','category','Returns\x20script\x20business\x20payload','dataset_data_filter','List\x20datasets','/client/bff/endpoint/{appCode}/{functionName}','Exact\x20endpoint\x20function\x20name','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','keyword'];a1_0x3027=function(){return _0xa6a25a;};return a1_0x3027();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':'category','type':a1_0x2d8212(0x243),'description':a1_0x2d8212(0x245)},KEYWORD_FLAG={'name':a1_0x2d8212(0x211),'type':a1_0x2d8212(0x243),'description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x2d8212(0x1f7),'type':a1_0x2d8212(0x243),'required':!![],'description':a1_0x2d8212(0x23a)},DOCS=[{'code':'dataset_list','category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x20c),'method':a1_0x2d8212(0x24a),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x2d8212(0x23f),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','responseHighlights':[a1_0x2d8212(0x228),a1_0x2d8212(0x256)],'examples':[a1_0x2d8212(0x206)],'notes':[a1_0x2d8212(0x22a)],'markdown':[a1_0x2d8212(0x246),'',a1_0x2d8212(0x263)][a1_0x2d8212(0x264)]('\x0a')},{'code':'dataset_detail','category':a1_0x2d8212(0x21c),'title':'Dataset\x20detail','method':'GET','path':'/api/dataset/getOneByCode?code={datasetCode}','summary':a1_0x2d8212(0x249),'whenToUse':a1_0x2d8212(0x22d),'pathParams':[],'queryParams':[{'name':a1_0x2d8212(0x1f7),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x2d8212(0x24d),'responseHighlights':[a1_0x2d8212(0x269),a1_0x2d8212(0x208),a1_0x2d8212(0x22b)],'examples':[a1_0x2d8212(0x214)],'notes':[a1_0x2d8212(0x201)],'markdown':[a1_0x2d8212(0x1f2),'',a1_0x2d8212(0x237)][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x20b),'category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x219),'method':a1_0x2d8212(0x24a),'path':'/api/{appCode}/{datasetCode}/filter','summary':a1_0x2d8212(0x25c),'whenToUse':a1_0x2d8212(0x253),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x25e),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x22e),'responseHighlights':['tableData\x20contains\x20records',a1_0x2d8212(0x21b)],'examples':['lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27',a1_0x2d8212(0x235)],'notes':[a1_0x2d8212(0x247),'For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x2d8212(0x1f5)],'markdown':[a1_0x2d8212(0x23b),'','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x207),'category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x261),'method':a1_0x2d8212(0x24a),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x2d8212(0x218),'whenToUse':'Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':a1_0x2d8212(0x212)}],'queryParams':[],'bodySchema':a1_0x2d8212(0x244),'responseHighlights':[a1_0x2d8212(0x205),a1_0x2d8212(0x23c)],'examples':[a1_0x2d8212(0x25f)],'notes':[a1_0x2d8212(0x233),a1_0x2d8212(0x236)],'markdown':[a1_0x2d8212(0x204),'',a1_0x2d8212(0x257)][a1_0x2d8212(0x264)]('\x0a')},{'code':a1_0x2d8212(0x1f8),'category':a1_0x2d8212(0x21c),'title':'Get\x20one\x20dataset\x20record','method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x254),'summary':'Get\x20one\x20dataset\x20record','whenToUse':a1_0x2d8212(0x25d),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x1fe),'responseHighlights':['Returns\x20one\x20matching\x20business\x20record'],'examples':[a1_0x2d8212(0x1fd)],'notes':[a1_0x2d8212(0x239)],'markdown':a1_0x2d8212(0x241)},{'code':'dataset_data_create','category':a1_0x2d8212(0x21c),'title':a1_0x2d8212(0x255),'method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x234),'summary':a1_0x2d8212(0x259),'whenToUse':a1_0x2d8212(0x213),'pathParams':[{'name':'appCode','description':a1_0x2d8212(0x23e)},{'name':'datasetCode','description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':a1_0x2d8212(0x24e),'responseHighlights':[a1_0x2d8212(0x210)],'examples':[a1_0x2d8212(0x25a)],'notes':['This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.'],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':'bf_detail','category':'bf','title':a1_0x2d8212(0x24c),'method':a1_0x2d8212(0x202),'path':a1_0x2d8212(0x20d),'summary':a1_0x2d8212(0x24f),'whenToUse':a1_0x2d8212(0x229),'pathParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x220),'description':a1_0x2d8212(0x20e)}],'queryParams':[],'bodySchema':a1_0x2d8212(0x24d),'responseHighlights':[a1_0x2d8212(0x21d)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':[a1_0x2d8212(0x24b)],'markdown':a1_0x2d8212(0x221)},{'code':'bf_execute','category':'bf','title':a1_0x2d8212(0x251),'method':a1_0x2d8212(0x24a),'path':'/api/endpoint/{appCode}/{functionName}','summary':a1_0x2d8212(0x216),'whenToUse':a1_0x2d8212(0x20f),'pathParams':[{'name':'appCode','description':a1_0x2d8212(0x23e)},{'name':a1_0x2d8212(0x220),'description':a1_0x2d8212(0x242)}],'queryParams':[],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x2d8212(0x20a)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x2d8212(0x1f6)],'markdown':a1_0x2d8212(0x238)},{'code':'personal_bf_execute','category':'bf','title':a1_0x2d8212(0x21f),'method':a1_0x2d8212(0x24a),'path':a1_0x2d8212(0x22f),'summary':a1_0x2d8212(0x1fa),'whenToUse':a1_0x2d8212(0x1fb),'pathParams':[{'name':'id','description':a1_0x2d8212(0x23d)}],'queryParams':[{'name':a1_0x2d8212(0x252),'description':a1_0x2d8212(0x23e)}],'bodySchema':'{\x22param\x22:\x22value\x22}','responseHighlights':[a1_0x2d8212(0x20a)],'examples':[a1_0x2d8212(0x215)],'notes':[a1_0x2d8212(0x21e),a1_0x2d8212(0x203)],'markdown':[a1_0x2d8212(0x258),'',a1_0x2d8212(0x22c)][a1_0x2d8212(0x264)]('\x0a')},{'code':'custom_sql_execute','category':'custom_sql','title':a1_0x2d8212(0x222),'method':a1_0x2d8212(0x24a),'path':'/api/custom/executeSql','summary':a1_0x2d8212(0x222),'whenToUse':a1_0x2d8212(0x262),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x2d8212(0x223)],'examples':[a1_0x2d8212(0x1fc)],'notes':[a1_0x2d8212(0x26b)],'markdown':a1_0x2d8212(0x250)}];function entrySummary(_0x39b063){const _0xcf6bb4=a1_0x2d8212;return{'code':_0x39b063[_0xcf6bb4(0x1f7)],'category':_0x39b063[_0xcf6bb4(0x209)],'method':_0x39b063['method'],'path':_0x39b063[_0xcf6bb4(0x1f4)],'summary':_0x39b063['summary'],'whenToUse':_0x39b063['whenToUse']};}export function listApiDocEntries(_0x2f251f={}){const _0x274c8f=a1_0x2d8212,_0x4e3515=String(_0x2f251f[_0x274c8f(0x209)]||'')['trim'](),_0x809364=String(_0x2f251f[_0x274c8f(0x211)]||'')[_0x274c8f(0x25b)]()['toLowerCase']();return DOCS[_0x274c8f(0x260)](_0x4e31ff=>{const _0x245847=_0x274c8f;if(_0x4e3515&&_0x4e31ff[_0x245847(0x209)]!==_0x4e3515)return![];if(!_0x809364)return!![];return[_0x4e31ff[_0x245847(0x1f7)],_0x4e31ff[_0x245847(0x209)],_0x4e31ff[_0x245847(0x225)],_0x4e31ff[_0x245847(0x1f4)],_0x4e31ff['summary'],_0x4e31ff[_0x245847(0x266)],_0x4e31ff[_0x245847(0x267)]][_0x245847(0x264)]('\x20')['toLowerCase']()['includes'](_0x809364);})['map'](entrySummary);}export function getApiDocDetail(_0x305abb){const _0x370ac6=a1_0x2d8212,_0x5b2534=DOCS['find'](_0x2f5719=>_0x2f5719['code']===_0x305abb);if(!_0x5b2534)throw CliErrors[_0x370ac6(0x200)]('API\x20doc\x20code\x20not\x20found:\x20'+_0x305abb);return{..._0x5b2534};}const apiDocList={'service':a1_0x2d8212(0x224),'command':a1_0x2d8212(0x265),'description':a1_0x2d8212(0x231),'risk':a1_0x2d8212(0x240),'requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x3f2f92){const _0x2415c0=a1_0x2d8212,_0x5ed285=listApiDocEntries({'category':_0x3f2f92[_0x2415c0(0x1f3)](_0x2415c0(0x209)),'keyword':_0x3f2f92[_0x2415c0(0x1f3)](_0x2415c0(0x211))});return{'ok':!![],'data':{'total':_0x5ed285[_0x2415c0(0x1f9)],'items':_0x5ed285}};}},apiDocDetail={'service':a1_0x2d8212(0x224),'command':'detail','description':a1_0x2d8212(0x230),'risk':a1_0x2d8212(0x240),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1b744a){const _0x4be440=a1_0x2d8212;return{'ok':!![],'data':getApiDocDetail(_0x1b744a[_0x4be440(0x1f3)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
const a1_0x4a7504=a1_0x316d;(function(_0xc88e3f,_0x1594a1){const _0xe0b597=a1_0x316d,_0x1710b3=_0xc88e3f();while(!![]){try{const _0x47f3af=-parseInt(_0xe0b597(0x1e9))/0x1+-parseInt(_0xe0b597(0x17c))/0x2*(parseInt(_0xe0b597(0x1c0))/0x3)+-parseInt(_0xe0b597(0x1b9))/0x4*(parseInt(_0xe0b597(0x1a5))/0x5)+parseInt(_0xe0b597(0x1ac))/0x6+parseInt(_0xe0b597(0x176))/0x7+parseInt(_0xe0b597(0x1d2))/0x8+parseInt(_0xe0b597(0x1df))/0x9;if(_0x47f3af===_0x1594a1)break;else _0x1710b3['push'](_0x1710b3['shift']());}catch(_0x455cac){_0x1710b3['push'](_0x1710b3['shift']());}}}(a1_0x49f6,0xe9548));import{CliErrors}from'../../errors.js';function a1_0x49f6(){const _0x1a1e0a=['Endpoint\x20function\x20name','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>','{\x22param\x22:\x22value\x22}','9591129zHFAem','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','Get\x20dataset\x20detail','find','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','code','/api/dataset/get-dataset-list-by-app-code','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','Get\x20one\x20dataset\x20record','910464QYTgPS','trim','bf_execute','Current\x20app\x20code','/client/bff/endpoint/{appCode}/{functionName}','datasetCode','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','includes','toLowerCase','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','4892153gGUkUB','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','summary','Execute\x20custom\x20SQL','GET','236NEQuRi','API\x20doc\x20code\x20not\x20found:\x20','Execute\x20BF\x20endpoint\x20function','string','None','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','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','tableData\x20contains\x20records','dataset_data_filter','personal_bf_execute','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','/api/{appCode}/{datasetCode}/filter','custom_sql_execute','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27','{\x22id\x22:123}','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','join','method','Get\x20BF\x20endpoint\x20function\x20contract','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','dataset_detail','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','bf_detail','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','keyword','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','Filter\x20dataset\x20records','api-doc','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','where\x20filters\x20before\x20aggregation','3635ldZtLY','category','API\x20doc\x20code,\x20for\x20example\x20dataset_list','map','appCode','Execute\x20Personal\x20Backend\x20Function','Returns\x20one\x20matching\x20business\x20record','4239858QLXAZX','POST','/api/dataset/getOneByCode?code={datasetCode}','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','List\x20datasets\x20with\x20pagination','##\x20Aggregate\x20dataset\x20data','paging\x20contains\x20pagination','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','dataset','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','6172SJnVmj','Returns\x20script\x20business\x20payload','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Create\x20dataset\x20record','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','{\x22fieldName\x22:\x22value\x22}','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','22209PyELdj','Returns\x20SQL\x20execution\x20payload','Aggregate\x20dataset\x20records','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.','Execute\x20a\x20BF\x20endpoint\x20function','str','length','dataset_data_create','operations\x20describes\x20runtime\x20APIs','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','validation','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','Create\x20a\x20dataset\x20record','tableData\x20contains\x20dataset\x20id/code/name','dataset_data_get_one','path','lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27','11122368SyBHiY','detail','/api/runtime-bff/personal/{id}/execute','whenToUse','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','32-character\x20dataset\x20code','/api/{appCode}/{datasetCode}/create','dataset_data_aggregate','/api/endpoint/{appCode}/{functionName}','functionName'];a1_0x49f6=function(){return _0x1a1e0a;};return a1_0x49f6();}const CATEGORY_FLAG={'name':a1_0x4a7504(0x1a6),'type':a1_0x4a7504(0x17f),'description':a1_0x4a7504(0x1b8)},KEYWORD_FLAG={'name':a1_0x4a7504(0x19f),'type':'string','description':'Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text'},DOC_CODE_FLAG={'name':a1_0x4a7504(0x1e5),'type':a1_0x4a7504(0x17f),'required':!![],'description':a1_0x4a7504(0x1a7)},DOCS=[{'code':'dataset_list','category':'dataset','title':'List\x20datasets','method':'POST','path':a1_0x4a7504(0x1e6),'summary':a1_0x4a7504(0x1b1),'whenToUse':a1_0x4a7504(0x182),'pathParams':[],'queryParams':[],'bodySchema':a1_0x4a7504(0x19b),'responseHighlights':[a1_0x4a7504(0x1ce),'paging.totalCount\x20gives\x20total\x20rows'],'examples':['lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress'],'notes':[a1_0x4a7504(0x177)],'markdown':['##\x20List\x20datasets','',a1_0x4a7504(0x18d)]['join']('\x0a')},{'code':a1_0x4a7504(0x19a),'category':a1_0x4a7504(0x1b5),'title':'Dataset\x20detail','method':a1_0x4a7504(0x17b),'path':a1_0x4a7504(0x1ae),'summary':a1_0x4a7504(0x1e1),'whenToUse':'Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','pathParams':[],'queryParams':[{'name':a1_0x4a7504(0x1e5),'description':a1_0x4a7504(0x1d7)}],'bodySchema':a1_0x4a7504(0x180),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x4a7504(0x1e3),a1_0x4a7504(0x1c8)],'examples':[a1_0x4a7504(0x1dd)],'notes':[a1_0x4a7504(0x188)],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x4a7504(0x195)]('\x0a')},{'code':a1_0x4a7504(0x185),'category':'dataset','title':'Filter\x20dataset\x20data','method':a1_0x4a7504(0x1ad),'path':a1_0x4a7504(0x18a),'summary':a1_0x4a7504(0x1a1),'whenToUse':a1_0x4a7504(0x187),'pathParams':[{'name':'appCode','description':a1_0x4a7504(0x1ec)},{'name':a1_0x4a7504(0x1ee),'description':'32-character\x20dataset\x20code'}],'queryParams':[],'bodySchema':'{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','responseHighlights':[a1_0x4a7504(0x184),a1_0x4a7504(0x1b3)],'examples':[a1_0x4a7504(0x183),a1_0x4a7504(0x1e0)],'notes':[a1_0x4a7504(0x198),a1_0x4a7504(0x1af),'Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.',a1_0x4a7504(0x178)],'markdown':['##\x20Filter\x20dataset\x20data','',a1_0x4a7504(0x1c3)][a1_0x4a7504(0x195)]('\x0a')},{'code':a1_0x4a7504(0x1d9),'category':'dataset','title':'Aggregate\x20dataset\x20data','method':a1_0x4a7504(0x1ad),'path':'/api/{appCode}/{datasetCode}/aggregate','summary':a1_0x4a7504(0x1c2),'whenToUse':a1_0x4a7504(0x1a0),'pathParams':[{'name':a1_0x4a7504(0x1a9),'description':a1_0x4a7504(0x1ec)},{'name':a1_0x4a7504(0x1ee),'description':a1_0x4a7504(0x1d7)}],'queryParams':[],'bodySchema':a1_0x4a7504(0x199),'responseHighlights':['result\x20rows\x20contain\x20aggregate\x20aliases',a1_0x4a7504(0x1a4)],'examples':[a1_0x4a7504(0x1b4)],'notes':[a1_0x4a7504(0x19e),a1_0x4a7504(0x1bb)],'markdown':[a1_0x4a7504(0x1b2),'',a1_0x4a7504(0x1e4)][a1_0x4a7504(0x195)]('\x0a')},{'code':a1_0x4a7504(0x1cf),'category':'dataset','title':a1_0x4a7504(0x1e8),'method':a1_0x4a7504(0x1ad),'path':'/api/{appCode}/{datasetCode}/getOne','summary':a1_0x4a7504(0x1e8),'whenToUse':a1_0x4a7504(0x18e),'pathParams':[{'name':a1_0x4a7504(0x1a9),'description':'Current\x20app\x20code'},{'name':'datasetCode','description':a1_0x4a7504(0x1d7)}],'queryParams':[],'bodySchema':a1_0x4a7504(0x192),'responseHighlights':[a1_0x4a7504(0x1ab)],'examples':[a1_0x4a7504(0x1a3)],'notes':['Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.'],'markdown':'##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.'},{'code':a1_0x4a7504(0x1c7),'category':a1_0x4a7504(0x1b5),'title':a1_0x4a7504(0x1bc),'method':a1_0x4a7504(0x1ad),'path':a1_0x4a7504(0x1d8),'summary':a1_0x4a7504(0x1cd),'whenToUse':a1_0x4a7504(0x18c),'pathParams':[{'name':a1_0x4a7504(0x1a9),'description':a1_0x4a7504(0x1ec)},{'name':a1_0x4a7504(0x1ee),'description':a1_0x4a7504(0x1d7)}],'queryParams':[],'bodySchema':a1_0x4a7504(0x1be),'responseHighlights':[a1_0x4a7504(0x175)],'examples':[a1_0x4a7504(0x18f)],'notes':[a1_0x4a7504(0x1c9)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x4a7504(0x19c),'category':'bf','title':a1_0x4a7504(0x197),'method':a1_0x4a7504(0x17b),'path':a1_0x4a7504(0x1ed),'summary':a1_0x4a7504(0x1bd),'whenToUse':a1_0x4a7504(0x1bf),'pathParams':[{'name':'appCode','description':a1_0x4a7504(0x1ec)},{'name':'functionName','description':'Exact\x20endpoint\x20function\x20name'}],'queryParams':[],'bodySchema':a1_0x4a7504(0x180),'responseHighlights':[a1_0x4a7504(0x1d6)],'examples':['lovrabet\x20bff\x20detail\x20--name\x20<functionName>'],'notes':['This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.'],'markdown':a1_0x4a7504(0x1e7)},{'code':a1_0x4a7504(0x1eb),'category':'bf','title':a1_0x4a7504(0x17e),'method':'POST','path':a1_0x4a7504(0x1da),'summary':a1_0x4a7504(0x1c4),'whenToUse':a1_0x4a7504(0x190),'pathParams':[{'name':a1_0x4a7504(0x1a9),'description':a1_0x4a7504(0x1ec)},{'name':a1_0x4a7504(0x1db),'description':a1_0x4a7504(0x1dc)}],'queryParams':[],'bodySchema':a1_0x4a7504(0x1de),'responseHighlights':[a1_0x4a7504(0x1ba)],'examples':[a1_0x4a7504(0x1d1)],'notes':['Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.'],'markdown':'##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.'},{'code':a1_0x4a7504(0x186),'category':'bf','title':a1_0x4a7504(0x1aa),'method':a1_0x4a7504(0x1ad),'path':a1_0x4a7504(0x1d4),'summary':a1_0x4a7504(0x1ef),'whenToUse':a1_0x4a7504(0x1b7),'pathParams':[{'name':'id','description':a1_0x4a7504(0x193)}],'queryParams':[{'name':a1_0x4a7504(0x1a9),'description':a1_0x4a7504(0x1ec)}],'bodySchema':a1_0x4a7504(0x1de),'responseHighlights':[a1_0x4a7504(0x1ba)],'examples':[a1_0x4a7504(0x181)],'notes':['Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.',a1_0x4a7504(0x1b0)],'markdown':['##\x20Execute\x20Personal\x20Backend\x20Function','',a1_0x4a7504(0x1cc)][a1_0x4a7504(0x195)]('\x0a')},{'code':a1_0x4a7504(0x18b),'category':'custom_sql','title':a1_0x4a7504(0x17a),'method':a1_0x4a7504(0x1ad),'path':'/api/custom/executeSql','summary':a1_0x4a7504(0x17a),'whenToUse':a1_0x4a7504(0x19d),'pathParams':[],'queryParams':[],'bodySchema':a1_0x4a7504(0x189),'responseHighlights':[a1_0x4a7504(0x1c1)],'examples':[a1_0x4a7504(0x191)],'notes':[a1_0x4a7504(0x194)],'markdown':a1_0x4a7504(0x1cb)}];function a1_0x316d(_0x5de67b,_0x591c1f){_0x5de67b=_0x5de67b-0x175;const _0x49f678=a1_0x49f6();let _0x316d34=_0x49f678[_0x5de67b];return _0x316d34;}function entrySummary(_0x4d26fc){const _0x27842c=a1_0x4a7504;return{'code':_0x4d26fc[_0x27842c(0x1e5)],'category':_0x4d26fc[_0x27842c(0x1a6)],'method':_0x4d26fc[_0x27842c(0x196)],'path':_0x4d26fc[_0x27842c(0x1d0)],'summary':_0x4d26fc[_0x27842c(0x179)],'whenToUse':_0x4d26fc['whenToUse']};}export function listApiDocEntries(_0x17bc00={}){const _0x4a7ecb=a1_0x4a7504,_0x512106=String(_0x17bc00['category']||'')['trim'](),_0x1eef42=String(_0x17bc00[_0x4a7ecb(0x19f)]||'')[_0x4a7ecb(0x1ea)]()[_0x4a7ecb(0x1f1)]();return DOCS['filter'](_0x57ea28=>{const _0x4790d0=_0x4a7ecb;if(_0x512106&&_0x57ea28[_0x4790d0(0x1a6)]!==_0x512106)return![];if(!_0x1eef42)return!![];return[_0x57ea28['code'],_0x57ea28[_0x4790d0(0x1a6)],_0x57ea28[_0x4790d0(0x196)],_0x57ea28[_0x4790d0(0x1d0)],_0x57ea28[_0x4790d0(0x179)],_0x57ea28[_0x4790d0(0x1d5)],_0x57ea28['title']][_0x4790d0(0x195)]('\x20')[_0x4790d0(0x1f1)]()[_0x4790d0(0x1f0)](_0x1eef42);})[_0x4a7ecb(0x1a8)](entrySummary);}export function getApiDocDetail(_0x281a41){const _0x3b081f=a1_0x4a7504,_0x2bbd05=DOCS[_0x3b081f(0x1e2)](_0x53f6a5=>_0x53f6a5[_0x3b081f(0x1e5)]===_0x281a41);if(!_0x2bbd05)throw CliErrors[_0x3b081f(0x1ca)](_0x3b081f(0x17d)+_0x281a41);return{..._0x2bbd05};}const apiDocList={'service':a1_0x4a7504(0x1a2),'command':'list','description':a1_0x4a7504(0x1b6),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x16a04b){const _0x22590d=a1_0x4a7504,_0x1eb603=listApiDocEntries({'category':_0x16a04b[_0x22590d(0x1c5)](_0x22590d(0x1a6)),'keyword':_0x16a04b[_0x22590d(0x1c5)](_0x22590d(0x19f))});return{'ok':!![],'data':{'total':_0x1eb603[_0x22590d(0x1c6)],'items':_0x1eb603}};}},apiDocDetail={'service':a1_0x4a7504(0x1a2),'command':a1_0x4a7504(0x1d3),'description':'Show\x20runtime\x20API\x20documentation\x20by\x20code','risk':'read','requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x313e83){const _0x5aa0ed=a1_0x4a7504;return{'ok':!![],'data':getApiDocDetail(_0x313e83[_0x5aa0ed(0x1c5)]('code'))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a2_0x2ec3(){const _0x370526=['978908oVPCJd','EACCES','items','hex','3120NMvlyX','4jADePV','72WgFPEh','.tmp','appCode','cache','update','EPERM','ak_','sha256','code','homeDirName','51168kdiqoj','slice','stringify','find','14WJiFEM','trim','7898pJlAOH','4131915nSfAVo','utf8','unknown','appName','23170naaIIB','9TMOKYG','12100080seNlXa','digest','40621mFzRDP','7977735wIklHE','parse'];a2_0x2ec3=function(){return _0x370526;};return a2_0x2ec3();}(function(_0x2a30cd,_0x3e0c41){const _0x2f9676=a2_0x3775,_0x3deb28=_0x2a30cd();while(!![]){try{const _0x42c4fa=parseInt(_0x2f9676(0xac))/0x1*(parseInt(_0x2f9676(0xc3))/0x2)+parseInt(_0x2f9676(0xc6))/0x3+parseInt(_0x2f9676(0xb4))/0x4*(-parseInt(_0x2f9676(0xad))/0x5)+-parseInt(_0x2f9676(0xb5))/0x6*(-parseInt(_0x2f9676(0xaf))/0x7)+-parseInt(_0x2f9676(0xaa))/0x8*(parseInt(_0x2f9676(0xcb))/0x9)+-parseInt(_0x2f9676(0xca))/0xa*(-parseInt(_0x2f9676(0xc5))/0xb)+parseInt(_0x2f9676(0xb3))/0xc*(-parseInt(_0x2f9676(0xbf))/0xd);if(_0x42c4fa===_0x3e0c41)break;else _0x3deb28['push'](_0x3deb28['shift']());}catch(_0x45114e){_0x3deb28['push'](_0x3deb28['shift']());}}}(a2_0x2ec3,0xd4e21));import{createHash}from'node:crypto';import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import{homedir}from'node:os';import{dirname,resolve}from'node:path';import{PRODUCT_CONFIG}from'../../constant/product.js';import{isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';export function fingerprintAccessKey(_0x47968e){const _0x2a9e=a2_0x3775,_0x395de2=_0x47968e[_0x2a9e(0xc4)](),_0x5ba088=_0x395de2[_0x2a9e(0xc0)](-0x6)||_0x2a9e(0xc8),_0x4520ba=createHash(_0x2a9e(0xbc))[_0x2a9e(0xb9)](_0x395de2)[_0x2a9e(0xab)](_0x2a9e(0xb2))['slice'](0x0,0xc);return _0x2a9e(0xbb)+_0x5ba088+'_'+_0x4520ba;}function a2_0x3775(_0xeb21a0,_0x5299fb){_0xeb21a0=_0xeb21a0-0xaa;const _0x2ec34d=a2_0x2ec3();let _0x3775c4=_0x2ec34d[_0xeb21a0];return _0x3775c4;}export function getAppCacheFilePath(_0x210d98,_0x1721f9){const _0x244d21=a2_0x3775;return resolve(homedir(),PRODUCT_CONFIG[_0x244d21(0xbe)],_0x244d21(0xb8),_0x210d98,fingerprintAccessKey(_0x1721f9),'my-apps.json');}export function readCachedAppList(_0x52919c,_0x51bd30){const _0x88b7ab=a2_0x3775;if(!_0x51bd30?.[_0x88b7ab(0xc4)]())return null;const _0x138c29=getAppCacheFilePath(_0x52919c,_0x51bd30);if(!existsSync(_0x138c29))return null;try{const _0x44e3fc=readFileSync(_0x138c29,_0x88b7ab(0xc7));if(!_0x44e3fc[_0x88b7ab(0xc4)]())return null;const _0x127bd9=JSON[_0x88b7ab(0xae)](_0x44e3fc);if(!Array['isArray'](_0x127bd9[_0x88b7ab(0xb1)]))return null;return _0x127bd9;}catch{return null;}}export function writeCachedAppList(_0x2f7268,_0x42e255,_0x2e0957){const _0x554336=a2_0x3775,_0x4d74f6=getAppCacheFilePath(_0x2f7268,_0x42e255),_0x4509cc=dirname(_0x4d74f6);!existsSync(_0x4509cc)&&mkdirSync(_0x4509cc,{'recursive':!![]});const _0x56a6d7=_0x4d74f6+_0x554336(0xb6);try{writeFileSync(_0x56a6d7,JSON[_0x554336(0xc1)](_0x2e0957,null,0x2)+'\x0a',{'encoding':_0x554336(0xc7),'mode':0x180});try{renameSync(_0x56a6d7,_0x4d74f6);}catch(_0x4b65a6){if(_0x4b65a6[_0x554336(0xbd)]===_0x554336(0xba)||_0x4b65a6['code']==='EXDEV'||_0x4b65a6[_0x554336(0xbd)]===_0x554336(0xb0)){writeFileSync(_0x4d74f6,JSON[_0x554336(0xc1)](_0x2e0957,null,0x2)+'\x0a',{'encoding':_0x554336(0xc7)});try{unlinkSync(_0x56a6d7);}catch{}}else throw _0x4b65a6;}}catch(_0x479a27){try{unlinkSync(_0x56a6d7);}catch{}throw _0x479a27;}return _0x4d74f6;}export function resolveCachedAppCode(_0x2dc4f1,_0x1a7f94,_0x2530a0){const _0x4165cd=a2_0x3775;if(!_0x2dc4f1)return undefined;const _0x9ae074=readCachedAppList(_0x1a7f94,_0x2530a0),_0x59841b=_0x9ae074?.[_0x4165cd(0xb1)][_0x4165cd(0xc2)](_0xe6c44d=>_0xe6c44d[_0x4165cd(0xc9)]===_0x2dc4f1&&isRuntimeAccessibleApp(_0xe6c44d));return _0x59841b?.[_0x4165cd(0xb7)]?.[_0x4165cd(0xc4)]()||undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a3_0x564ab3=a3_0x2acf;(function(_0x169709,_0x4fe1ab){const _0x324f14=a3_0x2acf,_0x4d9fbb=_0x169709();while(!![]){try{const _0x4a89f0=parseInt(_0x324f14(0x1b2))/0x1*(-parseInt(_0x324f14(0x1b0))/0x2)+-parseInt(_0x324f14(0x192))/0x3+parseInt(_0x324f14(0x186))/0x4*(parseInt(_0x324f14(0x1a2))/0x5)+parseInt(_0x324f14(0x194))/0x6*(-parseInt(_0x324f14(0x1aa))/0x7)+-parseInt(_0x324f14(0x19d))/0x8+-parseInt(_0x324f14(0x1ab))/0x9*(-parseInt(_0x324f14(0x181))/0xa)+parseInt(_0x324f14(0x197))/0xb;if(_0x4a89f0===_0x4fe1ab)break;else _0x4d9fbb['push'](_0x4d9fbb['shift']());}catch(_0x459c8e){_0x4d9fbb['push'](_0x4d9fbb['shift']());}}}(a3_0x4ee5,0x8f7bf));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';function a3_0x4ee5(){const _0x695bae=['appName','env','projectPath','name','60VbpTZe','../../commands/app/remote-source.js','Refreshed\x20app\x20cache\x20with\x20','i18nInfo','cache','Target\x20environment\x20(default:\x20current\x20env)','find','appCode','121331eHukJL','288891XHpuVJ','boolean','Read\x20from\x20local\x20cache\x20only','isCurrent','type','73572hAdPav','appcode','3VQkrXg','write','production','list','globalPath','Reads\x20the\x20apps\x20available\x20to\x20the\x20current\x20account\x20and\x20overwrites\x20the\x20local\x20app\x20cache\x20for\x20that\x20environment.\x20Platform\x20apps\x20are\x20not\x20modified.','envName','str','string','fetchedAt','source','Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','No\x20cached\x20apps\x20found.','app','pull','isArray','no-cache','No\x20apps\x20found\x20on\x20the\x20platform.','read','Loaded\x20','Read\x20app\x20list\x20from\x20local\x20cache\x20only','120IZbZgN','Refresh\x20the\x20local\x20app\x20cache\x20from\x20the\x20platform','mergedCli','appPublishStatus','local','6508oGQbaP','map','items','config','\x20app(s)\x20for\x20env=\x22','enableI18n','../../context.js','appOwnerName','nonInteractive','length','List\x20apps\x20available\x20to\x20the\x20current\x20access\x20key','import','2941296aoyXYE','filter','288jEreKN','accessKey','remote','25140918BXRTPE','entries','trim','Include\x20unpublished\x20apps\x20for\x20diagnostics','include-unpublished','bool','1438120Pkgzas'];a3_0x4ee5=function(){return _0x695bae;};return a3_0x4ee5();}import{filterRuntimeAccessibleApps,findAppByCode,isRuntimeAccessibleApp}from'../../commands/app/eligibility.js';function collectFlags(_0x465bb5,_0x20252f){const _0x2c947e=a3_0x2acf,_0x386603={};for(const _0x2f5fe6 of _0x20252f){const _0x313811=_0x2f5fe6[_0x2c947e(0x1af)]===_0x2c947e(0x1ac)?_0x465bb5['bool'](_0x2f5fe6[_0x2c947e(0x1a1)]):_0x465bb5[_0x2c947e(0x1b9)](_0x2f5fe6[_0x2c947e(0x1a1)]);if(_0x313811!==''&&_0x313811!==![])_0x386603[_0x2f5fe6[_0x2c947e(0x1a1)]]=_0x313811;}if(_0x465bb5[_0x2c947e(0x18e)])_0x386603[_0x2c947e(0x18e)]=!![];return _0x386603;}function normalizeLanguages(_0xc91bd){const _0x56bd76=a3_0x2acf;if(!Array[_0x56bd76(0x17b)](_0xc91bd))return[];return _0xc91bd[_0x56bd76(0x193)](_0x30ff0f=>typeof _0x30ff0f===_0x56bd76(0x1ba))[_0x56bd76(0x187)](_0x4068d8=>_0x4068d8[_0x56bd76(0x199)]())['filter'](Boolean);}function a3_0x2acf(_0x490a51,_0x432364){_0x490a51=_0x490a51-0x179;const _0x4ee566=a3_0x4ee5();let _0x2acfc6=_0x4ee566[_0x490a51];return _0x2acfc6;}function buildRemoteAppI18nFields(_0x3a5686){const _0x4a6e49=a3_0x2acf,_0x316a30=normalizeLanguages(_0x3a5686[_0x4a6e49(0x1a5)]?.['langs']);return{'enableI18n':typeof _0x3a5686[_0x4a6e49(0x18b)]===_0x4a6e49(0x1ac)?_0x3a5686['enableI18n']:null,'languages':_0x316a30,'i18nInfo':_0x3a5686['i18nInfo']?{..._0x3a5686[_0x4a6e49(0x1a5)],'langs':_0x316a30[_0x4a6e49(0x18f)]?_0x316a30:null}:null};}const listDef={'service':a3_0x564ab3(0x179),'command':a3_0x564ab3(0x1b5),'description':a3_0x564ab3(0x190),'risk':a3_0x564ab3(0x17e),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':!![],'flags':[{'name':'env','type':a3_0x564ab3(0x1ba),'description':'Filter\x20by\x20environment\x20(default:\x20current\x20env)','enum':[...RUNTIME_ENV_VALUES]},{'name':a3_0x564ab3(0x185),'type':a3_0x564ab3(0x1ac),'description':a3_0x564ab3(0x180),'default':![]},{'name':a3_0x564ab3(0x17c),'type':a3_0x564ab3(0x1ac),'description':'Force\x20remote\x20fetch\x20and\x20refresh\x20local\x20cache','default':![]},{'name':a3_0x564ab3(0x19b),'type':a3_0x564ab3(0x1ac),'description':a3_0x564ab3(0x19a),'default':![]}],async 'execute'(_0x2b2949){const _0xef0e89=a3_0x564ab3,_0x363392=_0x2b2949['str'](_0xef0e89(0x19f))||_0x2b2949[_0xef0e89(0x1b8)]||getEnv()||_0xef0e89(0x1b4),_0x103c2b=_0x2b2949[_0xef0e89(0x19c)]('local'),_0x42c874=_0x2b2949[_0xef0e89(0x19c)](_0xef0e89(0x17c)),_0x540b78=_0x2b2949[_0xef0e89(0x19c)](_0xef0e89(0x19b)),{readRawConfigWithLayers:_0x56f7df,resolveDefaultAppSource:_0x1ad3d3,getLocalAppAliases:_0x2c55a2}=await import(_0xef0e89(0x18c)),{getRemoteAppList:_0xefb457}=await import('../../commands/app/remote-source.js'),{config:_0x4c859a,layers:_0x592b9c}=_0x56f7df(),_0x2c848a=_0x1ad3d3(_0x592b9c),{defaultApp:_0x429133}=_0x4c859a,_0x17d18e=await _0xefb457({'env':_0x363392,'accessKey':_0x2b2949[_0xef0e89(0x195)],'localOnly':_0x103c2b,'noCache':_0x42c874}),_0x42f13e=_0x540b78?_0x17d18e[_0xef0e89(0x188)]:filterRuntimeAccessibleApps(_0x17d18e[_0xef0e89(0x188)]),_0x1b97f4=_0x17d18e[_0xef0e89(0x188)]['length']-_0x42f13e[_0xef0e89(0x18f)],_0x326c9d=_0x42f13e[_0xef0e89(0x187)](_0x225d6e=>{const _0x4bd18d=_0xef0e89;return{'name':_0x225d6e[_0x4bd18d(0x19e)],'appcode':_0x225d6e[_0x4bd18d(0x1a9)],'named':!![],'definedIn':_0x4bd18d(0x196),'isDefault':_0x225d6e['appName']===_0x429133,...buildAppProfileListFields(_0x363392),...buildRemoteAppI18nFields(_0x225d6e),'source':_0x17d18e[_0x4bd18d(0x1bc)],'owner':_0x225d6e[_0x4bd18d(0x18d)]??null,'status':_0x225d6e[_0x4bd18d(0x184)]??null,'cachedAt':_0x17d18e['fetchedAt']};}),_0x3d7fed=_0x2c55a2(_0x4c859a);let _0xb739e9=0x0;for(const [_0x4fb054,_0x560fdd]of Object[_0xef0e89(0x198)](_0x3d7fed)){const _0x51e4cb=typeof _0x560fdd[_0xef0e89(0x1b1)]===_0xef0e89(0x1ba)?_0x560fdd[_0xef0e89(0x1b1)][_0xef0e89(0x199)]():'';if(!_0x51e4cb)continue;const _0xe6d03a=findAppByCode(_0x17d18e[_0xef0e89(0x188)],_0x51e4cb);if(!_0x540b78&&_0xe6d03a&&!isRuntimeAccessibleApp(_0xe6d03a))continue;_0xb739e9+=0x1,_0x326c9d['push']({'name':_0x4fb054,'appcode':_0x51e4cb,'named':!![],'definedIn':_0xef0e89(0x185),'isDefault':_0x4fb054===_0x429133,...buildAppProfileListFields(_0x363392),'source':_0xef0e89(0x189),'owner':null,'status':null,'cachedAt':null});}enrichAppListItemsWithMergedSelection(_0x326c9d,_0x2b2949[_0xef0e89(0x183)]);const _0x450b1b=_0x326c9d[_0xef0e89(0x1a8)](_0x3f142b=>_0x3f142b[_0xef0e89(0x1ae)]===!![]),_0x3d2569=_0x429133??_0x450b1b?.[_0xef0e89(0x1a1)]??null,_0x28d55b={'env':_0x363392,'source':_0x17d18e[_0xef0e89(0x1bc)],'fetchedAt':_0x17d18e[_0xef0e89(0x1bb)],'cachePath':_0x17d18e['cachePath'],'globalPath':_0x592b9c[_0xef0e89(0x1b6)]??null,'projectPath':_0x592b9c[_0xef0e89(0x1a0)]??null,'defaultApp':_0x3d2569,'defaultAppSource':_0x429133!=null?_0x2c848a:null,'localAliasCount':_0xb739e9,'remoteTotal':_0x17d18e[_0xef0e89(0x188)][_0xef0e89(0x18f)],'hiddenUnpublishedCount':_0x1b97f4,'includeUnpublished':_0x540b78};if(_0x326c9d[_0xef0e89(0x18f)]===0x0)return{'ok':!![],'data':{'items':_0x326c9d,'meta':_0x28d55b},'message':_0x17d18e['source']===_0xef0e89(0x1a6)?_0xef0e89(0x1be):_0xef0e89(0x17d)};return{'ok':!![],'data':{'items':_0x326c9d,'meta':_0x28d55b}};}},pullDef={'service':a3_0x564ab3(0x179),'command':a3_0x564ab3(0x17a),'description':a3_0x564ab3(0x182),'risk':a3_0x564ab3(0x1b3),'confirmationDescription':a3_0x564ab3(0x1b7),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a3_0x564ab3(0x19f),'type':a3_0x564ab3(0x1ba),'description':a3_0x564ab3(0x1a7),'enum':[...RUNTIME_ENV_VALUES]},{'name':'local','type':'boolean','description':a3_0x564ab3(0x1ad),'default':![]},{'name':a3_0x564ab3(0x17c),'type':'boolean','description':a3_0x564ab3(0x1bd),'default':![]}],async 'execute'(_0x3e7431){const _0x3d29b0=a3_0x564ab3,_0x59ca3e=_0x3e7431[_0x3d29b0(0x1b9)](_0x3d29b0(0x19f))||_0x3e7431[_0x3d29b0(0x1b8)]||getEnv()||'production',_0x47492e=_0x3e7431[_0x3d29b0(0x19c)](_0x3d29b0(0x185)),_0x49238a=_0x3e7431[_0x3d29b0(0x19c)]('no-cache'),{getRemoteAppList:_0x5a3ecf}=await import(_0x3d29b0(0x1a3)),_0x57e3fd=await _0x5a3ecf({'env':_0x59ca3e,'accessKey':_0x3e7431[_0x3d29b0(0x195)],'localOnly':_0x47492e,'noCache':_0x49238a});return{'ok':!![],'data':{'total':_0x57e3fd['items'][_0x3d29b0(0x18f)],'env':_0x59ca3e,'source':_0x57e3fd[_0x3d29b0(0x1bc)],'fetchedAt':_0x57e3fd[_0x3d29b0(0x1bb)],'cachePath':_0x57e3fd['cachePath']},'message':_0x57e3fd[_0x3d29b0(0x1bc)]==='cache'?_0x3d29b0(0x17f)+_0x57e3fd[_0x3d29b0(0x188)][_0x3d29b0(0x18f)]+'\x20cached\x20app(s)\x20for\x20env=\x22'+_0x59ca3e+'\x22.':_0x3d29b0(0x1a4)+_0x57e3fd[_0x3d29b0(0x188)][_0x3d29b0(0x18f)]+_0x3d29b0(0x18a)+_0x59ca3e+'\x22.'};}},importDef={'service':a3_0x564ab3(0x179),'command':a3_0x564ab3(0x191),'description':'Import\x20the\x20default\x20app\x20selection\x20from\x20a\x20.rabetbase.json\x20file','risk':a3_0x564ab3(0x1b3),'confirmationDescription':'Reads\x20the\x20given\x20.rabetbase.json\x20and\x20imports\x20a\x20usable\x20default\x20app\x20into\x20local\x20.lovrabet.json.\x20Matching\x20keys\x20may\x20be\x20updated.','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':appImportFlagDefs,async 'execute'(_0xa82284){return await runAppImport(collectFlags(_0xa82284,appImportFlagDefs)),{'ok':!![]};}};export const appDefinitions=[listDef,pullDef,importDef];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2c08fb,_0x3cb67c){const _0x60dd20=a4_0x40e4,_0x53e835=_0x2c08fb();while(!![]){try{const _0x136b36=parseInt(_0x60dd20(0x16d))/0x1*(parseInt(_0x60dd20(0x171))/0x2)+parseInt(_0x60dd20(0x174))/0x3+parseInt(_0x60dd20(0x16e))/0x4+-parseInt(_0x60dd20(0x165))/0x5*(parseInt(_0x60dd20(0x166))/0x6)+-parseInt(_0x60dd20(0x167))/0x7*(parseInt(_0x60dd20(0x172))/0x8)+parseInt(_0x60dd20(0x170))/0x9+parseInt(_0x60dd20(0x168))/0xa*(-parseInt(_0x60dd20(0x16a))/0xb);if(_0x136b36===_0x3cb67c)break;else _0x53e835['push'](_0x53e835['shift']());}catch(_0xa84877){_0x53e835['push'](_0x53e835['shift']());}}}(a4_0x215c,0x537a3));function a4_0x215c(){const _0x2da1c0=['string','6914842VFqefr','UNKNOWN','Current\x20status:\x20','12299lXiFbo','1673744TQGwCv','toUpperCase','1567035LTEDtI','50TpxANT','7272aLvWyq','find','1890981Xmygkp','\x20dataset/data/sql/bff\x20commands,\x20or\x20choose\x20a\x20published\x20app.','.\x20Publish\x20the\x20app\x20before\x20using\x20','appCode','validation','appPublishStatus','trim','App\x20','140wQwOht','98922bUkEfB','756iAwVNt','10oswbjf'];a4_0x215c=function(){return _0x2da1c0;};return a4_0x215c();}function a4_0x40e4(_0x4c0f20,_0xc57328){_0x4c0f20=_0x4c0f20-0x163;const _0x215c2b=a4_0x215c();let _0x40e419=_0x215c2b[_0x4c0f20];return _0x40e419;}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(_0x139283){const _0x1a4e94=a4_0x40e4;if(typeof _0x139283!==_0x1a4e94(0x169))return null;const _0x4ab473=_0x139283[_0x1a4e94(0x163)]();return _0x4ab473?_0x4ab473[_0x1a4e94(0x16f)]():null;}export function isRuntimeAccessibleApp(_0x18f146){const _0x4c4bdf=a4_0x40e4;return normalizeAppPublishStatus(_0x18f146[_0x4c4bdf(0x179)])===RUNTIME_ACCESSIBLE_APP_STATUS;}export function filterRuntimeAccessibleApps(_0x467eaa){return _0x467eaa['filter'](isRuntimeAccessibleApp);}export function findAppByName(_0x1de97f,_0x48c923){const _0x122f11=a4_0x40e4;return _0x1de97f[_0x122f11(0x173)](_0x4d68a0=>_0x4d68a0['appName']===_0x48c923);}export function findAppByCode(_0x5a329d,_0x517561){const _0x3fe2a5=a4_0x40e4,_0x3acd48=_0x517561[_0x3fe2a5(0x163)]();if(!_0x3acd48)return undefined;return _0x5a329d[_0x3fe2a5(0x173)](_0x3b85b4=>_0x3b85b4[_0x3fe2a5(0x177)]?.['trim']()===_0x3acd48);}export function runtimeInaccessibleAppError(_0x530838,_0x10bd3e){const _0xa35b4=a4_0x40e4,_0x578488=normalizeAppPublishStatus(_0x530838[_0xa35b4(0x179)])??_0xa35b4(0x16b);return CliErrors[_0xa35b4(0x178)](_0xa35b4(0x164)+_0x10bd3e+'\x20is\x20not\x20available\x20for\x20runtime\x20AI\x20access.',_0xa35b4(0x16c)+_0x578488+_0xa35b4(0x176)+CLI_BIN_NAME+_0xa35b4(0x175));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x329e53,_0x3bd4fd){const _0x1320dd=a5_0x2b1a,_0x2c43ba=_0x329e53();while(!![]){try{const _0x3c2123=parseInt(_0x1320dd(0x16d))/0x1+parseInt(_0x1320dd(0x171))/0x2+-parseInt(_0x1320dd(0x16e))/0x3*(-parseInt(_0x1320dd(0x173))/0x4)+parseInt(_0x1320dd(0x167))/0x5+parseInt(_0x1320dd(0x169))/0x6+-parseInt(_0x1320dd(0x16f))/0x7*(-parseInt(_0x1320dd(0x176))/0x8)+-parseInt(_0x1320dd(0x172))/0x9*(parseInt(_0x1320dd(0x16a))/0xa);if(_0x3c2123===_0x3bd4fd)break;else _0x2c43ba['push'](_0x2c43ba['shift']());}catch(_0x4ee1a3){_0x2c43ba['push'](_0x2c43ba['shift']());}}}(a5_0x41d5,0x55da2));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 _0x528f6a=a5_0x2b1a,_0x255911=join(__dirname,_0x528f6a(0x16c)),_0x414ce9=readFileSync(_0x255911,_0x528f6a(0x170));return JSON[_0x528f6a(0x168)](_0x414ce9);}let _cached=null;function a5_0x2b1a(_0x5d8456,_0x24bfd5){_0x5d8456=_0x5d8456-0x166;const _0x41d5fd=a5_0x41d5();let _0x2b1a2c=_0x41d5fd[_0x5d8456];return _0x2b1a2c;}export function getMockAppList(){return!_cached&&(_cached=loadMockAppList()),_cached;}function a5_0x41d5(){const _0x5ab7f7=['207200iYWyjb','81iDtsWX','96COgtNv','errorCode','tableData','64fEGTiS','errorMsg','2091170yzNyaT','parse','2624904UXZUkr','1874950AjUohV','success','../../../mock/app-list.json','569579TBKONk','33060OgpATY','215012DouYoE','utf-8'];a5_0x41d5=function(){return _0x5ab7f7;};return a5_0x41d5();}export function getMockRemoteAppItems(){const _0x5029d2=a5_0x2b1a,_0x399efd=getMockAppList();if(!_0x399efd[_0x5029d2(0x16b)])throw new Error('Mock\x20API\x20error:\x20'+_0x399efd[_0x5029d2(0x166)]+'\x20('+_0x399efd[_0x5029d2(0x174)]+')');return _0x399efd['data'][_0x5029d2(0x175)];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a6_0x381c(){const _0x1e260c=['fetchedAt','53615353XThyyt','3758484vfdRvP','522MZgIuV','items','254690GOfrxm','884zbvNfQ','cache','mock','trim','7uozGNS','1268788WKeifJ','1170042ZPFiwk','12mUDDoi','12583376zktzvy','10SIdIrg','remote','APP_LIST_SOURCE','1309YhTndH'];a6_0x381c=function(){return _0x1e260c;};return a6_0x381c();}(function(_0x27706d,_0x4ae5f5){const _0x468c4d=a6_0x1a88,_0x1af451=_0x27706d();while(!![]){try{const _0x1022df=-parseInt(_0x468c4d(0x14b))/0x1*(parseInt(_0x468c4d(0x152))/0x2)+-parseInt(_0x468c4d(0x14e))/0x3+-parseInt(_0x468c4d(0x157))/0x4*(-parseInt(_0x468c4d(0x15b))/0x5)+parseInt(_0x468c4d(0x158))/0x6*(parseInt(_0x468c4d(0x156))/0x7)+-parseInt(_0x468c4d(0x15a))/0x8+-parseInt(_0x468c4d(0x14f))/0x9*(parseInt(_0x468c4d(0x151))/0xa)+parseInt(_0x468c4d(0x14d))/0xb*(parseInt(_0x468c4d(0x159))/0xc);if(_0x1022df===_0x4ae5f5)break;else _0x1af451['push'](_0x1af451['shift']());}catch(_0x2f8a12){_0x1af451['push'](_0x1af451['shift']());}}}(a6_0x381c,0xc8aea));function a6_0x1a88(_0x157be3,_0x4e13c7){_0x157be3=_0x157be3-0x14a;const _0x381c07=a6_0x381c();let _0x1a886d=_0x381c07[_0x157be3];return _0x1a886d;}import{getMyApps}from'../../core/api-client.js';import{getMockRemoteAppItems}from'../../commands/app/mock-loader.js';import{getAppCacheFilePath,readCachedAppList,writeCachedAppList}from'../../commands/app/cache.js';import{productEnv}from'../../constant/product.js';export function shouldUseMockRemoteApps(){const _0x2d9800=a6_0x1a88,_0x478c48=(productEnv(_0x2d9800(0x14a))||'')[_0x2d9800(0x155)]()['toLowerCase']();return _0x478c48==='mock';}export async function getRemoteAppItems(){if(shouldUseMockRemoteApps())return getMockRemoteAppItems();return getMyApps();}export async function getRemoteAppList(_0x1fc8fe){const _0x21a6de=a6_0x1a88,{env:_0x5ba1ad,accessKey:_0x1bae64,localOnly:localOnly=![],noCache:noCache=![]}=_0x1fc8fe,_0x47f1e1=readCachedAppList(_0x5ba1ad,_0x1bae64),_0x2b4348=_0x1bae64?.[_0x21a6de(0x155)]()?getAppCacheFilePath(_0x5ba1ad,_0x1bae64):null;if(localOnly)return{'items':_0x47f1e1?.[_0x21a6de(0x150)]??[],'source':_0x21a6de(0x153),'fetchedAt':_0x47f1e1?.[_0x21a6de(0x14c)]??null,'cachePath':_0x2b4348};try{const _0x5f3e9c=await getRemoteAppItems(),_0x38db8b=shouldUseMockRemoteApps()?_0x21a6de(0x154):_0x21a6de(0x15c),_0x4f181b=new Date()['toISOString'](),_0xd534f5=_0x1bae64?.[_0x21a6de(0x155)]()?writeCachedAppList(_0x5ba1ad,_0x1bae64,{'env':_0x5ba1ad,'fetchedAt':_0x4f181b,'source':_0x38db8b,'items':_0x5f3e9c}):null;return{'items':_0x5f3e9c,'source':_0x38db8b,'fetchedAt':_0x4f181b,'cachePath':_0xd534f5};}catch(_0x375407){if(!noCache&&_0x47f1e1)return{'items':_0x47f1e1[_0x21a6de(0x150)],'source':_0x21a6de(0x153),'fetchedAt':_0x47f1e1[_0x21a6de(0x14c)],'cachePath':_0x2b4348};throw _0x375407;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a7_0x3e6e(){const _0x468990=['local','5223267hwFwuu','named','trim','defaultApp','1pswtEq','isCurrent','name','find','5251580IjkYhO','7651701tFVrUA','currentApp','2954162zEtkPi','414198seGamA','95XUqvxM','2102520exioiC','appCode','32104650lmjHfG','16FfFNKS'];a7_0x3e6e=function(){return _0x468990;};return a7_0x3e6e();}(function(_0x93a016,_0xa07720){const _0x3b5195=a7_0x53cb,_0x4ba44b=_0x93a016();while(!![]){try{const _0x568e30=parseInt(_0x3b5195(0x164))/0x1*(parseInt(_0x3b5195(0x16b))/0x2)+-parseInt(_0x3b5195(0x173))/0x3+parseInt(_0x3b5195(0x168))/0x4+-parseInt(_0x3b5195(0x16d))/0x5*(parseInt(_0x3b5195(0x16c))/0x6)+-parseInt(_0x3b5195(0x16e))/0x7+-parseInt(_0x3b5195(0x171))/0x8*(parseInt(_0x3b5195(0x169))/0x9)+parseInt(_0x3b5195(0x170))/0xa;if(_0x568e30===_0xa07720)break;else _0x4ba44b['push'](_0x4ba44b['shift']());}catch(_0x2eba45){_0x4ba44b['push'](_0x4ba44b['shift']());}}}(a7_0x3e6e,0xe732b));function a7_0x53cb(_0x207521,_0x51e17a){_0x207521=_0x207521-0x163;const _0x3e6e68=a7_0x3e6e();let _0x53cb2d=_0x3e6e68[_0x207521];return _0x53cb2d;}export function enrichAppListItemsWithMergedSelection(_0x386f87,_0x1ae02c){const _0x518122=a7_0x53cb;if(!_0x1ae02c)return;const _0xa6280f=!!(_0x1ae02c[_0x518122(0x16a)]??_0x1ae02c[_0x518122(0x163)]);for(const _0x3b8c1e of _0x386f87){_0x3b8c1e[_0x518122(0x165)]=![];}const _0x5595f1=_0x1ae02c[_0x518122(0x16f)]!=null?String(_0x1ae02c[_0x518122(0x16f)])['trim']():'';if(_0xa6280f){const _0x49ec65=_0x1ae02c[_0x518122(0x16a)]??_0x1ae02c[_0x518122(0x163)];if(_0x49ec65){const _0x513df2=_0x386f87['find'](_0x4465d5=>_0x4465d5['named']===!![]&&_0x4465d5[_0x518122(0x166)]===_0x49ec65&&_0x4465d5['definedIn']===_0x518122(0x172)),_0x1649b9=_0x513df2??_0x386f87[_0x518122(0x167)](_0x2bc340=>_0x2bc340[_0x518122(0x174)]===!![]&&_0x2bc340[_0x518122(0x166)]===_0x49ec65);if(_0x1649b9){const _0x9ab275=String(_0x1649b9['appcode']??'')[_0x518122(0x175)]();if(!_0x5595f1||_0x9ab275===_0x5595f1){_0x1649b9['isCurrent']=!![];return;}}}if(_0x5595f1){const _0x27f411=_0x386f87[_0x518122(0x167)](_0x277028=>String(_0x277028['appcode']??'')['trim']()===_0x5595f1);_0x27f411&&(_0x27f411[_0x518122(0x165)]=!![]);}return;}if(!_0x5595f1)return;for(const _0x4de9e7 of _0x386f87){String(_0x4de9e7['appcode']??'')[_0x518122(0x175)]()===_0x5595f1&&(_0x4de9e7[_0x518122(0x165)]=!![]);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a8_0x18e25b=a8_0x5647;(function(_0x199bd0,_0x5f0f4b){const _0x42950d=a8_0x5647,_0x1a204d=_0x199bd0();while(!![]){try{const _0xc2e6ac=parseInt(_0x42950d(0x158))/0x1+-parseInt(_0x42950d(0x147))/0x2+-parseInt(_0x42950d(0x155))/0x3*(-parseInt(_0x42950d(0x150))/0x4)+parseInt(_0x42950d(0x14e))/0x5+parseInt(_0x42950d(0x15a))/0x6*(parseInt(_0x42950d(0x14b))/0x7)+-parseInt(_0x42950d(0x15c))/0x8*(parseInt(_0x42950d(0x151))/0x9)+-parseInt(_0x42950d(0x156))/0xa;if(_0xc2e6ac===_0x5f0f4b)break;else _0x1a204d['push'](_0x1a204d['shift']());}catch(_0x331521){_0x1a204d['push'](_0x1a204d['shift']());}}}(a8_0x3b24,0xe5076));import{getRuntimeAppConfigByKey}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a8_0x5647(_0x4d9ce2,_0x59684a){_0x4d9ce2=_0x4d9ce2-0x146;const _0x3b2432=a8_0x3b24();let _0x56474a=_0x3b2432[_0x4d9ce2];return _0x56474a;}function a8_0x3b24(){const _0x469ac1=['1613452hQAaqx','trim','7194DjNsYS','appCode','24CNzwKD','Missing\x20app-config\x20key.','key','validation','2752358tvipIU','Usage:\x20','apiError','App\x20config\x20key','3836vOMRep','Check\x20that\x20the\x20key\x20exists,\x20the\x20current\x20AccessKey\x20has\x20permission,\x20and\x20the\x20runtime\x20app-config\x20endpoint\x20is\x20available.','get','609445REyHNp','app-config','742108mXVVWt','1887255DjKPyR',',\x20appCode=','Unable\x20to\x20get\x20app-config\x20value:\x20key=','read','12tTuTFj','1911350igLmtR','\x20app-config\x20get\x20<key>'];a8_0x3b24=function(){return _0x469ac1;};return a8_0x3b24();}import{CLI_BIN_NAME}from'../../constant/cli.js';export const appConfigGet={'service':a8_0x18e25b(0x14f),'command':a8_0x18e25b(0x14d),'description':'Get\x20one\x20runtime\x20app-config\x20value\x20by\x20key','risk':a8_0x18e25b(0x154),'args':[{'name':a8_0x18e25b(0x15e),'description':a8_0x18e25b(0x14a),'required':!![]}],'flags':[],async 'execute'(_0x3c1883){const _0x146c8b=a8_0x18e25b,_0x25793f=_0x3c1883['args'][0x0]?.[_0x146c8b(0x159)]();if(!_0x25793f)throw CliErrors[_0x146c8b(0x146)](_0x146c8b(0x15d),_0x146c8b(0x148)+CLI_BIN_NAME+_0x146c8b(0x157));try{const _0x3c5029=await getRuntimeAppConfigByKey(_0x3c1883['appCode'],_0x25793f);return{'ok':!![],'data':_0x3c5029};}catch{throw CliErrors[_0x146c8b(0x149)](_0x146c8b(0x153)+_0x25793f+_0x146c8b(0x152)+_0x3c1883[_0x146c8b(0x15b)],_0x146c8b(0x14c));}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x1c6f73,_0x1e3b32){const _0x17e490=a9_0x40e1,_0x510a3b=_0x1c6f73();while(!![]){try{const _0x378305=-parseInt(_0x17e490(0x136))/0x1*(parseInt(_0x17e490(0x141))/0x2)+-parseInt(_0x17e490(0x139))/0x3*(parseInt(_0x17e490(0x137))/0x4)+-parseInt(_0x17e490(0x140))/0x5+parseInt(_0x17e490(0x13e))/0x6*(parseInt(_0x17e490(0x13b))/0x7)+-parseInt(_0x17e490(0x13c))/0x8*(parseInt(_0x17e490(0x13f))/0x9)+parseInt(_0x17e490(0x13a))/0xa*(parseInt(_0x17e490(0x13d))/0xb)+parseInt(_0x17e490(0x138))/0xc;if(_0x378305===_0x1e3b32)break;else _0x510a3b['push'](_0x510a3b['shift']());}catch(_0x89afde){_0x510a3b['push'](_0x510a3b['shift']());}}}(a9_0x2de6,0x6d271));function a9_0x40e1(_0x2449ea,_0x4138eb){_0x2449ea=_0x2449ea-0x136;const _0x2de6c2=a9_0x2de6();let _0x40e19b=_0x2de6c2[_0x2449ea];return _0x40e19b;}import{appConfigGet}from'../../commands/app-config/get.js';export const appConfigDefinitions=[appConfigGet];function a9_0x2de6(){const _0x487fa1=['14WSEpGE','568bBGlDQ','33fkpsdr','2570868onyjMN','100179jpckXB','2988795omIYUE','193026MwAhbU','1Gubzpq','892fkfbCN','11185344VhnBwp','2985aVXvaK','1214930JgBzdZ'];a9_0x2de6=function(){return _0x487fa1;};return a9_0x2de6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a10_0x51173c=a10_0x58c7;(function(_0x1e5e69,_0x1fbb59){const _0x18036e=a10_0x58c7,_0x2af223=_0x1e5e69();while(!![]){try{const _0x24d278=-parseInt(_0x18036e(0x207))/0x1*(-parseInt(_0x18036e(0x1f9))/0x2)+parseInt(_0x18036e(0x1ee))/0x3*(-parseInt(_0x18036e(0x20b))/0x4)+-parseInt(_0x18036e(0x20f))/0x5+parseInt(_0x18036e(0x201))/0x6*(parseInt(_0x18036e(0x215))/0x7)+parseInt(_0x18036e(0x1f4))/0x8+parseInt(_0x18036e(0x20c))/0x9+-parseInt(_0x18036e(0x218))/0xa;if(_0x24d278===_0x1fbb59)break;else _0x2af223['push'](_0x2af223['shift']());}catch(_0x3807ea){_0x2af223['push'](_0x2af223['shift']());}}}(a10_0x3efa,0x22612));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x51173c(0x224),ARTIFACT_SOURCE_AGENT=a10_0x51173c(0x213),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x51173c(0x22e),a10_0x51173c(0x221),a10_0x51173c(0x21d),a10_0x51173c(0x200),a10_0x51173c(0x1ea)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x51173c(0x1f2),'type':a10_0x51173c(0x20a),'required':!![],'description':a10_0x51173c(0x22d)},ARTIFACT_NAME_FLAG={'name':a10_0x51173c(0x203),'type':a10_0x51173c(0x20a),'description':a10_0x51173c(0x225)},METADATA_FLAG={'name':a10_0x51173c(0x216),'type':a10_0x51173c(0x20a),'description':'Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped'};function isPlainObject(_0x500f66){const _0x5c9f3b=a10_0x51173c;return typeof _0x500f66===_0x5c9f3b(0x1ec)&&_0x500f66!==null&&!Array[_0x5c9f3b(0x20d)](_0x500f66);}function readSourceFile(_0x106e4a){const _0x925f9e=a10_0x51173c;if(!_0x106e4a)throw CliErrors[_0x925f9e(0x223)](_0x925f9e(0x208));if(!existsSync(_0x106e4a))throw CliErrors[_0x925f9e(0x223)]('File\x20not\x20found:\x20'+_0x106e4a);if(!statSync(_0x106e4a)['isFile']())throw CliErrors['validation']('File\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x106e4a);const _0x4d4e1e=readFileSync(_0x106e4a,_0x925f9e(0x22b));return validateReactModuleSource(_0x4d4e1e),_0x4d4e1e;}function parseMetadata(_0x191c1b){const _0x536f15=a10_0x51173c;if(!_0x191c1b)return undefined;let _0x23d915;try{_0x23d915=JSON[_0x536f15(0x22c)](_0x191c1b);}catch{throw CliErrors[_0x536f15(0x223)]('Invalid\x20JSON\x20for\x20--metadata:\x20'+_0x191c1b);}if(!isPlainObject(_0x23d915))throw CliErrors[_0x536f15(0x223)](_0x536f15(0x1f6));const _0x484022={..._0x23d915};return delete _0x484022[_0x536f15(0x202)],_0x484022;}function a10_0x58c7(_0x3e350f,_0x5e172c){_0x3e350f=_0x3e350f-0x1e4;const _0x3efadf=a10_0x3efa();let _0x58c7db=_0x3efadf[_0x3e350f];return _0x58c7db;}function a10_0x3efa(){const _0x1469ce=['str','update','26KHlLgt','File\x20path\x20is\x20required.','detail','string','78620vKGpNV','1903527fnXXET','isArray','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','33635TWZclr','Created\x20Artifact\x20','write','Preview:\x20create\x20react_module\x20Artifact','AGENT','appCode','2093jJDeuY','metadata','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','3518590FVCuYm','includes','data','artifactType','/client/artifact/create','dayjs','body','filter','createTime','lodash','exec','validation','react_module','Artifact\x20display\x20name','description','Show\x20one\x20Artifact\x20by\x20id','.\x20Unsupported:\x20','some','List\x20current-app\x20react_module\x20Artifacts','utf8','parse','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','react-dom','artifact','create','bool','source','length','POST','startsWith','test','trim','@ant-design/icons','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','object','build','24hlRWMM','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','Updated\x20Artifact\x20','Artifact\x20ID','file','num','982968XPjNzc','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','split','read','20834YlqTTu','map','content','lastIndex','/update','flag','number','antd','1032nquIVD','compiledContent','name','favorite'];a10_0x3efa=function(){return _0x1469ce;};return a10_0x3efa();}function getPackageName(_0x33d33a){const _0x27250c=a10_0x51173c;if(_0x33d33a[_0x27250c(0x1e7)]('@')){const [_0x1a6741,_0x28d691]=_0x33d33a[_0x27250c(0x1f7)]('/');return _0x1a6741&&_0x28d691?_0x1a6741+'/'+_0x28d691:_0x33d33a;}return _0x33d33a[_0x27250c(0x1f7)]('/')[0x0]||_0x33d33a;}function validateAllowedImports(_0x3f056d){const _0x465f53=a10_0x51173c,_0xe35662=new Set();for(const _0x93781c of IMPORT_SOURCE_PATTERNS){_0x93781c[_0x465f53(0x1fc)]=0x0;let _0xa421ee;while((_0xa421ee=_0x93781c[_0x465f53(0x222)](_0x3f056d))!==null){const _0x15190a=_0xa421ee[0x1]?.[_0x465f53(0x1e9)]();_0x15190a&&_0xe35662['add'](_0x15190a);}}const _0x4146be=[..._0xe35662][_0x465f53(0x1fa)](getPackageName)[_0x465f53(0x21f)](_0xfc05a=>!ALLOWED_REACT_MODULE_IMPORTS[_0x465f53(0x219)](_0xfc05a));if(_0x4146be[_0x465f53(0x1e5)]>0x0)throw CliErrors['validation']('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x465f53(0x228)+[...new Set(_0x4146be)]['join'](',\x20'));}export function validateReactModuleSource(_0x48de58){const _0x257d45=a10_0x51173c;if(!_0x48de58['trim']())throw CliErrors[_0x257d45(0x223)]('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x257d45(0x229)](_0x1e46e4=>_0x1e46e4[_0x257d45(0x1e8)](_0x48de58)))throw CliErrors[_0x257d45(0x223)](_0x257d45(0x1f5));validateAllowedImports(_0x48de58);}function buildArtifactInput(_0x5d91ad){const _0x970843=a10_0x51173c,_0x1e25c3=readSourceFile(_0x5d91ad[_0x970843(0x205)](_0x970843(0x1f2))),_0xd66ab1=_0x5d91ad[_0x970843(0x205)](_0x970843(0x203))['trim'](),_0x3013e2=parseMetadata(_0x5d91ad[_0x970843(0x205)](_0x970843(0x216)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0xd66ab1?{'name':_0xd66ab1}:{},'content':_0x1e25c3,..._0x3013e2?{'metadata':_0x3013e2}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0xa45e9){const _0x45bdbd=a10_0x51173c;return{'id':_0xa45e9['id'],'name':_0xa45e9[_0x45bdbd(0x203)],'artifactType':_0xa45e9[_0x45bdbd(0x21b)],'source':_0xa45e9[_0x45bdbd(0x1e4)],'favorite':_0xa45e9[_0x45bdbd(0x204)],'deleted':_0xa45e9['deleted'],'createTime':_0xa45e9[_0x45bdbd(0x220)],'updateTime':_0xa45e9['updateTime']};}function detailArtifact(_0x3f7081){const _0xf860ee=a10_0x51173c;return{'id':_0x3f7081['id'],'appCode':_0x3f7081[_0xf860ee(0x214)],'name':_0x3f7081[_0xf860ee(0x203)],'artifactType':_0x3f7081[_0xf860ee(0x21b)],'source':_0x3f7081[_0xf860ee(0x1e4)],'favorite':_0x3f7081['favorite'],'deleted':_0x3f7081['deleted'],'content':_0x3f7081[_0xf860ee(0x1fb)]??'','compiledContent':_0x3f7081[_0xf860ee(0x202)],'metadata':_0x3f7081[_0xf860ee(0x216)]??{},'createTime':_0x3f7081[_0xf860ee(0x220)],'updateTime':_0x3f7081['updateTime']};}function readFavoriteFlag(_0x2d047f){const _0x390048=a10_0x51173c,_0x413e14=_0x2d047f[_0x390048(0x1fe)]('favorite');return _0x413e14===undefined||_0x413e14===null||_0x413e14===''?undefined:_0x2d047f[_0x390048(0x231)](_0x390048(0x204));}const artifactList={'service':'artifact','command':'list','description':a10_0x51173c(0x22a),'risk':a10_0x51173c(0x1f8),'flags':[{'name':'source','type':a10_0x51173c(0x20a),'description':a10_0x51173c(0x217)},{'name':a10_0x51173c(0x204),'type':'boolean','description':'Optional\x20favorite-state\x20filter'},VERBOSE_FLAG],async 'execute'(_0x405e39){const _0x498266=a10_0x51173c,_0x8c820e=await listRuntimeArtifacts(_0x405e39['appCode'],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x405e39[_0x498266(0x205)]('source')?{'source':_0x405e39[_0x498266(0x205)](_0x498266(0x1e4))}:{},...readFavoriteFlag(_0x405e39)!==undefined?{'favorite':readFavoriteFlag(_0x405e39)}:{}});return{'ok':!![],'data':{'total':_0x8c820e[_0x498266(0x1e5)],'items':_0x405e39[_0x498266(0x231)]('verbose')?_0x8c820e:_0x8c820e[_0x498266(0x1fa)](summarizeArtifact)}};}},artifactDetail={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x209),'description':a10_0x51173c(0x227),'risk':a10_0x51173c(0x1f8),'flags':[{...ID_FLAG,'description':a10_0x51173c(0x1f1)}],async 'execute'(_0x331c20){const _0x3f3d83=a10_0x51173c,_0x2f2b49=await getRuntimeArtifact(_0x331c20[_0x3f3d83(0x1f3)]('id'),_0x331c20[_0x3f3d83(0x214)]);return{'ok':!![],'data':detailArtifact(_0x2f2b49)};}},artifactCreate={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x230),'description':a10_0x51173c(0x1eb),'risk':a10_0x51173c(0x211),'confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x13cd29){const _0x5adcc0=a10_0x51173c,_0x31d00c=buildArtifactInput(_0x13cd29),_0x5dd733=await createRuntimeArtifact(_0x13cd29[_0x5adcc0(0x214)],_0x31d00c);return{'ok':!![],'data':detailArtifact(_0x5dd733),'message':_0x5adcc0(0x210)+_0x5dd733['id']+(_0x5dd733[_0x5adcc0(0x203)]?'\x20('+_0x5dd733[_0x5adcc0(0x203)]+')':'')};},async 'dryRun'(_0x32dcb3){const _0x1df375=a10_0x51173c,_0x29a9bb=buildArtifactInput(_0x32dcb3);return dryRun(_0x1df375(0x1e6),_0x1df375(0x21c))[_0x1df375(0x21e)]({'appCode':_0x32dcb3['appCode'],..._0x29a9bb})[_0x1df375(0x226)](_0x1df375(0x212))['build']();},'writeEventSubject'(_0x3a9190){const _0xa86a42=a10_0x51173c,_0x376e31=_0x3a9190['data']?.['id'];if(typeof _0x376e31!==_0xa86a42(0x20a)&&typeof _0x376e31!=='number')return undefined;return{'kind':_0xa86a42(0x22f),'id':String(_0x376e31),'action':_0xa86a42(0x230)};}},artifactUpdate={'service':a10_0x51173c(0x22f),'command':a10_0x51173c(0x206),'description':a10_0x51173c(0x1ef),'risk':a10_0x51173c(0x211),'confirmationDescription':a10_0x51173c(0x20e),'flags':[{...ID_FLAG,'description':a10_0x51173c(0x1f1)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x768e1e){const _0x47350b=a10_0x51173c,_0x2887b5=_0x768e1e[_0x47350b(0x1f3)]('id'),_0x410c04=buildArtifactInput(_0x768e1e),_0xe70c67=await updateRuntimeArtifact(_0x2887b5,_0x768e1e[_0x47350b(0x214)],_0x410c04);return{'ok':!![],'data':detailArtifact(_0xe70c67),'message':_0x47350b(0x1f0)+_0xe70c67['id']+(_0xe70c67['name']?'\x20('+_0xe70c67[_0x47350b(0x203)]+')':'')};},async 'dryRun'(_0x418e96){const _0xd53e6a=a10_0x51173c,_0x24685b=_0x418e96['num']('id'),_0x4fce99=buildArtifactInput(_0x418e96);return dryRun(_0xd53e6a(0x1e6),'/client/artifact/'+_0x24685b+_0xd53e6a(0x1fd))['body']({'appCode':_0x418e96[_0xd53e6a(0x214)],..._0x4fce99})['description']('Preview:\x20update\x20react_module\x20Artifact\x20'+_0x24685b)[_0xd53e6a(0x1ed)]();},'writeEventSubject'(_0x134117){const _0x306f68=a10_0x51173c,_0x5c625d=_0x134117[_0x306f68(0x21a)]?.['id'];if(typeof _0x5c625d!==_0x306f68(0x20a)&&typeof _0x5c625d!==_0x306f68(0x1ff))return undefined;return{'kind':_0x306f68(0x22f),'id':String(_0x5c625d),'action':_0x306f68(0x206)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
const a10_0x54f3e5=a10_0x1f68;(function(_0xeba87b,_0x5d8806){const _0x178b39=a10_0x1f68,_0x5da003=_0xeba87b();while(!![]){try{const _0xfa8ed=parseInt(_0x178b39(0x10e))/0x1+-parseInt(_0x178b39(0xe4))/0x2*(parseInt(_0x178b39(0x118))/0x3)+parseInt(_0x178b39(0xda))/0x4*(-parseInt(_0x178b39(0xf8))/0x5)+-parseInt(_0x178b39(0x125))/0x6*(-parseInt(_0x178b39(0x100))/0x7)+-parseInt(_0x178b39(0xfd))/0x8*(parseInt(_0x178b39(0xed))/0x9)+parseInt(_0x178b39(0x116))/0xa*(-parseInt(_0x178b39(0xfb))/0xb)+parseInt(_0x178b39(0x119))/0xc*(parseInt(_0x178b39(0xd8))/0xd);if(_0xfa8ed===_0x5d8806)break;else _0x5da003['push'](_0x5da003['shift']());}catch(_0x2db5ba){_0x5da003['push'](_0x5da003['shift']());}}}(a10_0x2e4f,0x9ff00));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x54f3e5(0xee),ARTIFACT_SOURCE_AGENT=a10_0x54f3e5(0x123),ALLOWED_REACT_MODULE_IMPORTS=['react',a10_0x54f3e5(0x11a),a10_0x54f3e5(0xdb),a10_0x54f3e5(0x120),a10_0x54f3e5(0xf6),'@ant-design/icons'];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS[a10_0x54f3e5(0xe1)](',\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_0x54f3e5(0x103),'type':a10_0x54f3e5(0xf9),'required':!![],'description':a10_0x54f3e5(0xdd)},ARTIFACT_NAME_FLAG={'name':'name','type':a10_0x54f3e5(0xf9),'description':a10_0x54f3e5(0x126)},METADATA_FLAG={'name':a10_0x54f3e5(0x11c),'type':a10_0x54f3e5(0xf9),'description':a10_0x54f3e5(0xd9)};function isPlainObject(_0x37594d){return typeof _0x37594d==='object'&&_0x37594d!==null&&!Array['isArray'](_0x37594d);}function readSourceFile(_0x2f9587){const _0x390e01=a10_0x54f3e5;if(!_0x2f9587)throw CliErrors[_0x390e01(0x106)](_0x390e01(0xf0));if(!existsSync(_0x2f9587))throw CliErrors[_0x390e01(0x106)]('File\x20not\x20found:\x20'+_0x2f9587);if(!statSync(_0x2f9587)[_0x390e01(0xde)]())throw CliErrors[_0x390e01(0x106)](_0x390e01(0xe0)+_0x2f9587);const _0x1567cb=readFileSync(_0x2f9587,_0x390e01(0xdc));return validateReactModuleSource(_0x1567cb),_0x1567cb;}function parseMetadata(_0x2f3605){const _0x1cb101=a10_0x54f3e5;if(!_0x2f3605)return undefined;let _0x1295e0;try{_0x1295e0=JSON['parse'](_0x2f3605);}catch{throw CliErrors[_0x1cb101(0x106)](_0x1cb101(0x107)+_0x2f3605);}if(!isPlainObject(_0x1295e0))throw CliErrors['validation']('--metadata\x20must\x20be\x20a\x20JSON\x20object.');const _0x3e5127={..._0x1295e0};return delete _0x3e5127[_0x1cb101(0x109)],_0x3e5127;}function getPackageName(_0x26e155){const _0x4e6e84=a10_0x54f3e5;if(_0x26e155[_0x4e6e84(0x122)]('@')){const [_0x342f5e,_0x36a12c]=_0x26e155[_0x4e6e84(0x10d)]('/');return _0x342f5e&&_0x36a12c?_0x342f5e+'/'+_0x36a12c:_0x26e155;}return _0x26e155[_0x4e6e84(0x10d)]('/')[0x0]||_0x26e155;}function a10_0x1f68(_0x5ab448,_0x36f1eb){_0x5ab448=_0x5ab448-0xd7;const _0x2e4fab=a10_0x2e4f();let _0x1f68cb=_0x2e4fab[_0x5ab448];return _0x1f68cb;}function validateAllowedImports(_0x1c97b8){const _0x51f4a7=a10_0x54f3e5,_0x29cb4c=new Set();for(const _0x3b3f0e of IMPORT_SOURCE_PATTERNS){_0x3b3f0e[_0x51f4a7(0x124)]=0x0;let _0x54b062;while((_0x54b062=_0x3b3f0e[_0x51f4a7(0x11b)](_0x1c97b8))!==null){const _0x37cc2c=_0x54b062[0x1]?.[_0x51f4a7(0xfa)]();_0x37cc2c&&_0x29cb4c[_0x51f4a7(0x11e)](_0x37cc2c);}}const _0x35f534=[..._0x29cb4c][_0x51f4a7(0xe6)](getPackageName)['filter'](_0x1695a5=>!ALLOWED_REACT_MODULE_IMPORTS['includes'](_0x1695a5));if(_0x35f534[_0x51f4a7(0xef)]>0x0)throw CliErrors[_0x51f4a7(0x106)]('react_module\x20imports\x20are\x20limited\x20to:\x20'+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x51f4a7(0x10b)+[...new Set(_0x35f534)][_0x51f4a7(0xe1)](',\x20'));}export function validateReactModuleSource(_0x144eb3){const _0x2a13d1=a10_0x54f3e5;if(!_0x144eb3[_0x2a13d1(0xfa)]())throw CliErrors['validation']('Artifact\x20source\x20file\x20is\x20blank.');if(PAGE_LEVEL_PATTERNS[_0x2a13d1(0xec)](_0x56a48d=>_0x56a48d[_0x2a13d1(0x11d)](_0x144eb3)))throw CliErrors[_0x2a13d1(0x106)]('react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.');validateAllowedImports(_0x144eb3);}function buildArtifactInput(_0x3ebe2b){const _0x37f91e=a10_0x54f3e5,_0x343bbc=readSourceFile(_0x3ebe2b[_0x37f91e(0xff)](_0x37f91e(0x103))),_0x4885a6=_0x3ebe2b[_0x37f91e(0xff)]('name')[_0x37f91e(0xfa)](),_0x322134=parseMetadata(_0x3ebe2b[_0x37f91e(0xff)](_0x37f91e(0x11c)));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x4885a6?{'name':_0x4885a6}:{},'content':_0x343bbc,..._0x322134?{'metadata':_0x322134}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x4fe894){const _0x28d79f=a10_0x54f3e5;return{'id':_0x4fe894['id'],'name':_0x4fe894['name'],'artifactType':_0x4fe894[_0x28d79f(0x111)],'source':_0x4fe894[_0x28d79f(0x121)],'favorite':_0x4fe894[_0x28d79f(0xeb)],'deleted':_0x4fe894[_0x28d79f(0xf4)],'createTime':_0x4fe894[_0x28d79f(0xfc)],'updateTime':_0x4fe894[_0x28d79f(0x113)]};}function a10_0x2e4f(){const _0x4d28fd=['metadata','test','add','content','dayjs','source','startsWith','AGENT','lastIndex','6AtfdKh','Artifact\x20display\x20name','verbose','Preview:\x20create\x20react_module\x20Artifact','2054AFCHFv','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','285220PaBsMZ','lodash','utf8','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','isFile','update','File\x20is\x20not\x20a\x20regular\x20file:\x20','join','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','artifact','82RLjGZy','bool','map','create','Artifact\x20ID','num','description','favorite','some','3771cYnuoO','react_module','length','File\x20path\x20is\x20required.','read','data','flag','deleted','Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','antd','name','50tHBxAW','string','trim','11EHEfTX','createTime','1072OMWYaX','/update','str','4484095QvcLWN','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','detail','file','Preview:\x20update\x20react_module\x20Artifact\x20','Created\x20Artifact\x20','validation','Invalid\x20JSON\x20for\x20--metadata:\x20','build','compiledContent','POST','.\x20Unsupported:\x20','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','split','31347gxOmZn','Optional\x20favorite-state\x20filter','write','artifactType','body','updateTime','appCode','Show\x20one\x20Artifact\x20by\x20id','3300490smkNBk','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','3795OzKfcn','86148mmBFSn','react-dom','exec'];a10_0x2e4f=function(){return _0x4d28fd;};return a10_0x2e4f();}function detailArtifact(_0x107f2c){const _0x1811e9=a10_0x54f3e5;return{'id':_0x107f2c['id'],'appCode':_0x107f2c[_0x1811e9(0x114)],'name':_0x107f2c[_0x1811e9(0xf7)],'artifactType':_0x107f2c[_0x1811e9(0x111)],'source':_0x107f2c[_0x1811e9(0x121)],'favorite':_0x107f2c['favorite'],'deleted':_0x107f2c[_0x1811e9(0xf4)],'content':_0x107f2c[_0x1811e9(0x11f)]??'','compiledContent':_0x107f2c[_0x1811e9(0x109)],'metadata':_0x107f2c['metadata']??{},'createTime':_0x107f2c[_0x1811e9(0xfc)],'updateTime':_0x107f2c[_0x1811e9(0x113)]};}function readFavoriteFlag(_0x1e13b0){const _0x241cba=a10_0x54f3e5,_0x396776=_0x1e13b0[_0x241cba(0xf3)](_0x241cba(0xeb));return _0x396776===undefined||_0x396776===null||_0x396776===''?undefined:_0x1e13b0[_0x241cba(0xe5)]('favorite');}const artifactList={'service':'artifact','command':'list','description':'List\x20current-app\x20react_module\x20Artifacts','risk':'read','flags':[{'name':a10_0x54f3e5(0x121),'type':a10_0x54f3e5(0xf9),'description':a10_0x54f3e5(0x10c)},{'name':a10_0x54f3e5(0xeb),'type':'boolean','description':a10_0x54f3e5(0x10f)},VERBOSE_FLAG],async 'execute'(_0x7391c6){const _0x5cc92a=a10_0x54f3e5,_0x410a45=await listRuntimeArtifacts(_0x7391c6[_0x5cc92a(0x114)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x7391c6[_0x5cc92a(0xff)](_0x5cc92a(0x121))?{'source':_0x7391c6[_0x5cc92a(0xff)]('source')}:{},...readFavoriteFlag(_0x7391c6)!==undefined?{'favorite':readFavoriteFlag(_0x7391c6)}:{}});return{'ok':!![],'data':{'total':_0x410a45[_0x5cc92a(0xef)],'items':_0x7391c6['bool'](_0x5cc92a(0x127))?_0x410a45:_0x410a45[_0x5cc92a(0xe6)](summarizeArtifact)}};}},artifactDetail={'service':'artifact','command':a10_0x54f3e5(0x102),'description':a10_0x54f3e5(0x115),'risk':a10_0x54f3e5(0xf1),'flags':[{...ID_FLAG,'description':a10_0x54f3e5(0xe8)}],async 'execute'(_0x141f67){const _0x317a82=a10_0x54f3e5,_0x4d5418=await getRuntimeArtifact(_0x141f67[_0x317a82(0xe9)]('id'),_0x141f67[_0x317a82(0x114)]);return{'ok':!![],'data':detailArtifact(_0x4d5418)};}},artifactCreate={'service':a10_0x54f3e5(0xe3),'command':'create','description':a10_0x54f3e5(0x117),'risk':a10_0x54f3e5(0x110),'confirmationDescription':a10_0x54f3e5(0xf5),'flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x2eac2d){const _0x4853db=a10_0x54f3e5,_0x5dfe28=buildArtifactInput(_0x2eac2d),_0x54394a=await createRuntimeArtifact(_0x2eac2d['appCode'],_0x5dfe28);return{'ok':!![],'data':detailArtifact(_0x54394a),'message':_0x4853db(0x105)+_0x54394a['id']+(_0x54394a[_0x4853db(0xf7)]?'\x20('+_0x54394a[_0x4853db(0xf7)]+')':'')};},async 'dryRun'(_0x4b1f7d){const _0x56fe62=a10_0x54f3e5,_0x58cba1=buildArtifactInput(_0x4b1f7d);return dryRun('POST','/client/artifact/create')[_0x56fe62(0x112)]({'appCode':_0x4b1f7d[_0x56fe62(0x114)],..._0x58cba1})[_0x56fe62(0xea)](_0x56fe62(0xd7))[_0x56fe62(0x108)]();},'writeEventSubject'(_0x445034){const _0x1da9ae=a10_0x54f3e5,_0x4b74d2=_0x445034[_0x1da9ae(0xf2)]?.['id'];if(typeof _0x4b74d2!==_0x1da9ae(0xf9)&&typeof _0x4b74d2!=='number')return undefined;return{'kind':_0x1da9ae(0xe3),'id':String(_0x4b74d2),'action':_0x1da9ae(0xe7)};}},artifactUpdate={'service':'artifact','command':'update','description':a10_0x54f3e5(0x101),'risk':a10_0x54f3e5(0x110),'confirmationDescription':a10_0x54f3e5(0xe2),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x10c93f){const _0x2fe2aa=a10_0x54f3e5,_0x4c497b=_0x10c93f[_0x2fe2aa(0xe9)]('id'),_0x34b889=buildArtifactInput(_0x10c93f),_0x3adf35=await updateRuntimeArtifact(_0x4c497b,_0x10c93f[_0x2fe2aa(0x114)],_0x34b889);return{'ok':!![],'data':detailArtifact(_0x3adf35),'message':'Updated\x20Artifact\x20'+_0x3adf35['id']+(_0x3adf35[_0x2fe2aa(0xf7)]?'\x20('+_0x3adf35[_0x2fe2aa(0xf7)]+')':'')};},async 'dryRun'(_0x471d1a){const _0x288979=a10_0x54f3e5,_0x2737a5=_0x471d1a[_0x288979(0xe9)]('id'),_0x1185c4=buildArtifactInput(_0x471d1a);return dryRun(_0x288979(0x10a),'/client/artifact/'+_0x2737a5+_0x288979(0xfe))[_0x288979(0x112)]({'appCode':_0x471d1a[_0x288979(0x114)],..._0x1185c4})['description'](_0x288979(0x104)+_0x2737a5)[_0x288979(0x108)]();},'writeEventSubject'(_0x35385c){const _0x196963=a10_0x54f3e5,_0x39b709=_0x35385c[_0x196963(0xf2)]?.['id'];if(typeof _0x39b709!==_0x196963(0xf9)&&typeof _0x39b709!=='number')return undefined;return{'kind':_0x196963(0xe3),'id':String(_0x39b709),'action':_0x196963(0xdf)};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x1389ff=a11_0x412e;(function(_0x5197d7,_0x4dd02f){const _0xf57f31=a11_0x412e,_0x23c55d=_0x5197d7();while(!![]){try{const _0x2fce29=parseInt(_0xf57f31(0x1be))/0x1*(parseInt(_0xf57f31(0x1ac))/0x2)+parseInt(_0xf57f31(0x1e4))/0x3*(-parseInt(_0xf57f31(0x1ed))/0x4)+parseInt(_0xf57f31(0x1e1))/0x5+-parseInt(_0xf57f31(0x1c7))/0x6+-parseInt(_0xf57f31(0x1de))/0x7*(parseInt(_0xf57f31(0x1d0))/0x8)+parseInt(_0xf57f31(0x1ba))/0x9*(-parseInt(_0xf57f31(0x1c5))/0xa)+-parseInt(_0xf57f31(0x1e0))/0xb*(-parseInt(_0xf57f31(0x1cc))/0xc);if(_0x2fce29===_0x4dd02f)break;else _0x23c55d['push'](_0x23c55d['shift']());}catch(_0x3af9ab){_0x23c55d['push'](_0x23c55d['shift']());}}}(a11_0x5656,0x352d1));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';function a11_0x412e(_0x2ac51c,_0x1bf6c3){_0x2ac51c=_0x2ac51c-0x1a3;const _0x56568d=a11_0x5656();let _0x412e5a=_0x56568d[_0x2ac51c];return _0x412e5a;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';function a11_0x5656(){const _0x325ef9=['Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','parse','status','global','success','4450uDxcob','str','apiError','test','/device-auth?code=','aborted','auth','Device\x20auth\x20API\x20returned\x20HTTP\x20','AccessKey\x20saved\x20to\x20','\x20auth\x20status','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','json','code','Verify:\x20','616014DEWgEn','nonInteractive','Invalid\x20access_key\x20returned\x20by\x20server.','AbortError','1qHhqyk','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','bool','Device\x20authorization\x20cancelled.','SIGINT','Device\x20auth\x20API\x20error\x20(','name','10wmaPPI','randomUUID','125952tZXjiP','\x0dWaiting\x20for\x20authorization...\x20','removeListener','/.device-auth','\x20remaining','3692820bTJzlZ','Invalid\x20device\x20auth\x20response','),\x20retrying...','validation','16GhcuBp','accessKey','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','getTime','Write\x20to\x20project\x20config','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','trim','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','data','Write\x20to\x20global\x20config\x20(default)','networkError','createdAt','lovrabet-cli','1147797DDQSkG','string','22vtMtQU','2171085yoeLFq','padStart','\x20auth\x20device','4449GItUok','stringify','stderr','scope','now','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','device','project','boolean','1124JhnNhN','signal','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','toISOString','write','floor','\x20config.','access_key','cancelled','url-only','source','application/json','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','object','abort'];a11_0x5656=function(){return _0x325ef9;};return a11_0x5656();}import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x201e13){const _0x2dd6f0=a11_0x412e;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x201e13[_0x2dd6f0(0x1c0)](_0x2dd6f0(0x1aa)),'explicitProject':_0x201e13[_0x2dd6f0(0x1c0)]('project'),'policy':'global-default'}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x72ecab=a11_0x412e;return crypto[_0x72ecab(0x1c6)]();}export function buildDeviceAuthUrl(_0x56b13c,_0x4d6d52,_0x3c99b4=a11_0x1389ff(0x1dd)){const _0x447700=a11_0x1389ff;return _0x56b13c+_0x447700(0x1b0)+encodeURIComponent(_0x4d6d52)+'&source='+encodeURIComponent(_0x3c99b4);}export function getDeviceCodePath(){const _0x4a901e=a11_0x1389ff;return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+_0x4a901e(0x1ca);}export function readStoredDeviceCode(){const _0x32707a=a11_0x1389ff,_0x206f19=getDeviceCodePath();if(!existsSync(_0x206f19))return null;try{const _0x38cada=readFileSync(_0x206f19,{'encoding':'utf8'}),_0x319449=JSON[_0x32707a(0x1a8)](_0x38cada);if(_0x319449&&typeof _0x319449[_0x32707a(0x1b8)]===_0x32707a(0x1df)&&typeof _0x319449[_0x32707a(0x1dc)]===_0x32707a(0x1df)&&(_0x319449[_0x32707a(0x1e7)]===_0x32707a(0x1aa)||_0x319449[_0x32707a(0x1e7)]===_0x32707a(0x1eb)))return _0x319449;}catch{}return null;}export function writeStoredDeviceCode(_0x139ad6,_0x191318){const _0x28568f=a11_0x1389ff,_0x225dce=getDeviceCodePath(),_0x353198=dirname(_0x225dce);!existsSync(_0x353198)&&mkdirSync(_0x353198,{'recursive':!![]});const _0x3b1c7c={'code':_0x139ad6,'createdAt':new Date()[_0x28568f(0x1f1)](),'scope':_0x191318};writeFileSync(_0x225dce,JSON[_0x28568f(0x1e5)](_0x3b1c7c),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x37a590=getDeviceCodePath();try{unlinkSync(_0x37a590);}catch{}}export function isStoredDeviceCodeExpired(_0x3fbcef){const _0x20a363=a11_0x1389ff;return Date[_0x20a363(0x1e8)]()-new Date(_0x3fbcef['createdAt'])[_0x20a363(0x1d3)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x238fec,_0x255e26){const _0x5075ae=a11_0x1389ff,_0x59802d=_0x238fec+'/api/device-auth/token',_0x1af62a=new AbortController(),_0x350508=setTimeout(()=>_0x1af62a[_0x5075ae(0x1a6)](),0x2710),_0x23345b=await fetch(_0x59802d,{'method':'POST','headers':{'Content-Type':_0x5075ae(0x1a3)},'body':JSON[_0x5075ae(0x1e5)]({'code':_0x255e26}),'signal':_0x1af62a['signal']});clearTimeout(_0x350508);if(!_0x23345b['ok'])throw CliErrors['networkError'](_0x5075ae(0x1b3)+_0x23345b[_0x5075ae(0x1a9)]);const _0x32d0c6=await _0x23345b[_0x5075ae(0x1b7)](),_0x1fe190=_0x32d0c6[_0x5075ae(0x1d9)]&&typeof _0x32d0c6[_0x5075ae(0x1d9)]===_0x5075ae(0x1a5)?_0x32d0c6['data']:_0x32d0c6;if(!_0x1fe190||typeof _0x1fe190[_0x5075ae(0x1a9)]!==_0x5075ae(0x1df))throw CliErrors[_0x5075ae(0x1ae)](_0x5075ae(0x1cd));return{'status':_0x1fe190[_0x5075ae(0x1a9)],'access_key':typeof _0x1fe190[_0x5075ae(0x1f5)]===_0x5075ae(0x1df)?_0x1fe190['access_key']:undefined};}export async function pollDeviceToken(_0x24f58b,_0x165ad0,_0x3f1e0d){const _0x47493c=a11_0x1389ff;let _0x2b2eff=0x0;for(let _0x63630e=0x0;_0x63630e<MAX_POLLS;_0x63630e++){if(_0x3f1e0d[_0x47493c(0x1b1)])throw CliErrors[_0x47493c(0x1f6)](_0x47493c(0x1c1));let _0x2f5ac5;try{_0x2f5ac5=await fetchDeviceToken(_0x24f58b,_0x165ad0);}catch(_0x1fdf8c){if(_0x1fdf8c instanceof Error&&_0x1fdf8c[_0x47493c(0x1c4)]===_0x47493c(0x1bd))throw CliErrors['cancelled'](_0x47493c(0x1c1));_0x2b2eff++;if(_0x2b2eff>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x47493c(0x1db)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x47493c(0x1c3)+_0x2b2eff+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x47493c(0x1ce)),await sleep(POLL_INTERVAL_MS);continue;}_0x2b2eff=0x0;if(_0x2f5ac5[_0x47493c(0x1a9)]===_0x47493c(0x1ab)){if(!_0x2f5ac5[_0x47493c(0x1f5)])throw CliErrors[_0x47493c(0x1ae)]('Invalid\x20access_key\x20returned\x20by\x20server.');return _0x2f5ac5[_0x47493c(0x1f5)];}if(_0x2f5ac5['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x47493c(0x1cf)](_0x47493c(0x1e9));}const _0x52b59d=(_0x63630e+0x1)*POLL_INTERVAL_MS,_0x1a12c1=DEVICE_CODE_TTL_MS-_0x52b59d,_0x3d61a3=Math[_0x47493c(0x1f3)](_0x1a12c1/0xea60),_0x3bf35e=Math[_0x47493c(0x1f3)](_0x1a12c1%0xea60/0x3e8);process[_0x47493c(0x1e6)]['write'](_0x47493c(0x1c8)+_0x3d61a3+':'+String(_0x3bf35e)[_0x47493c(0x1e2)](0x2,'0')+_0x47493c(0x1cb)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x47493c(0x1cf)](_0x47493c(0x1d8));}function sleep(_0x11c73d){return new Promise(_0x3c301c=>setTimeout(_0x3c301c,_0x11c73d));}export const authDeviceDefinition={'service':a11_0x1389ff(0x1b2),'command':a11_0x1389ff(0x1ea),'description':a11_0x1389ff(0x1b6),'risk':a11_0x1389ff(0x1f2),'confirmationDescription':a11_0x1389ff(0x1a7),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1389ff(0x1aa),'type':a11_0x1389ff(0x1ec),'description':a11_0x1389ff(0x1da),'default':!![]},{'name':a11_0x1389ff(0x1eb),'type':'boolean','description':a11_0x1389ff(0x1d4),'default':![]},{'name':a11_0x1389ff(0x1f8),'type':a11_0x1389ff(0x1df),'description':a11_0x1389ff(0x1f0),'default':a11_0x1389ff(0x1dd)},{'name':a11_0x1389ff(0x1f7),'type':a11_0x1389ff(0x1ec),'description':a11_0x1389ff(0x1d2),'default':![]}],async 'execute'(_0x226f45){const _0x234c4d=a11_0x1389ff,_0x2d9384=resolveAuthScopeFlags(_0x226f45),_0x567b68=_0x2d9384[_0x234c4d(0x1aa)]?_0x234c4d(0x1aa):_0x234c4d(0x1eb),_0x2cbd96=readScopedConfig(_0x2d9384);if(_0x2cbd96['accessKey'])return{'ok':!![],'message':_0x234c4d(0x1ef)};const _0x8879c5=(_0x226f45[_0x234c4d(0x1ad)](_0x234c4d(0x1f8))||_0x234c4d(0x1dd))[_0x234c4d(0x1d6)](),_0xd86163=getUserDomain(),_0x12d638=readStoredDeviceCode(),_0x1e740c=_0x12d638&&!isStoredDeviceCodeExpired(_0x12d638)?_0x12d638[_0x234c4d(0x1b8)]:((()=>{const _0x46837d=generateDeviceCode();return writeStoredDeviceCode(_0x46837d,_0x567b68),_0x46837d;})()),_0x16e7ed=buildDeviceAuthUrl(_0xd86163,_0x1e740c,_0x8879c5);if(_0x226f45['bool'](_0x234c4d(0x1f7)))return console['log'](_0x16e7ed),{'ok':!![]};writeCliSideChannelLine(_0x234c4d(0x1d5)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x16e7ed),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x234c4d(0x1d7));if(_0x226f45[_0x234c4d(0x1bb)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x234c4d(0x1e3)),{'ok':!![],'message':_0x234c4d(0x1a4)};writeCliSideChannelLine(_0x234c4d(0x1bf));const _0x4bd40b=new AbortController(),_0xab5388=()=>{const _0x3ca655=_0x234c4d;_0x4bd40b[_0x3ca655(0x1a6)](),process[_0x3ca655(0x1c9)]('SIGINT',_0xab5388);};process['once'](_0x234c4d(0x1c2),_0xab5388);let _0x3054a2;try{_0x3054a2=await pollDeviceToken(_0xd86163,_0x1e740c,_0x4bd40b[_0x234c4d(0x1ee)]);}finally{process[_0x234c4d(0x1c9)](_0x234c4d(0x1c2),_0xab5388);}if(!ACCESS_KEY_PATTERN[_0x234c4d(0x1af)](_0x3054a2))throw CliErrors[_0x234c4d(0x1ae)](_0x234c4d(0x1bc));const _0x1138bd=readScopedConfig(_0x2d9384);return _0x1138bd[_0x234c4d(0x1d1)]=_0x3054a2,writeScopedConfig(_0x1138bd,_0x2d9384),deleteStoredDeviceCode(),process[_0x234c4d(0x1e6)][_0x234c4d(0x1f2)]('\x0a'),writeCliSideChannelLine(_0x234c4d(0x1b4)+_0x567b68+_0x234c4d(0x1f4)),writeCliSideChannelLine(_0x234c4d(0x1b9)+CLI_BIN_NAME+_0x234c4d(0x1b5)),{'ok':!![],'message':'Device\x20authorization\x20successful.'};}};
|
|
1
|
+
const a11_0x42c21e=a11_0x7474;(function(_0x47a166,_0x3e9e37){const _0x9a33e7=a11_0x7474,_0x136559=_0x47a166();while(!![]){try{const _0x1c28e4=parseInt(_0x9a33e7(0x17d))/0x1+parseInt(_0x9a33e7(0x14a))/0x2*(-parseInt(_0x9a33e7(0x141))/0x3)+parseInt(_0x9a33e7(0x14c))/0x4*(-parseInt(_0x9a33e7(0x170))/0x5)+-parseInt(_0x9a33e7(0x167))/0x6*(-parseInt(_0x9a33e7(0x15c))/0x7)+-parseInt(_0x9a33e7(0x156))/0x8+parseInt(_0x9a33e7(0x148))/0x9*(-parseInt(_0x9a33e7(0x15b))/0xa)+parseInt(_0x9a33e7(0x154))/0xb*(parseInt(_0x9a33e7(0x159))/0xc);if(_0x1c28e4===_0x3e9e37)break;else _0x136559['push'](_0x136559['shift']());}catch(_0x3f02c4){_0x136559['push'](_0x136559['shift']());}}}(a11_0x55c4,0x98b98));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0x6cc7a9){const _0x18d8e5=a11_0x7474;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0x6cc7a9[_0x18d8e5(0x191)](_0x18d8e5(0x16a)),'explicitProject':_0x6cc7a9[_0x18d8e5(0x191)](_0x18d8e5(0x146)),'policy':_0x18d8e5(0x189)}));}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 _0x21b278=a11_0x7474;return crypto[_0x21b278(0x15f)]();}export function buildDeviceAuthUrl(_0x5ee49e,_0x296ef6,_0x2cf895='lovrabet-cli'){const _0x3eb34c=a11_0x7474;return _0x5ee49e+_0x3eb34c(0x178)+encodeURIComponent(_0x296ef6)+_0x3eb34c(0x153)+encodeURIComponent(_0x2cf895);}export function getDeviceCodePath(){const _0x5caa8b=a11_0x7474;return homedir()+'/'+PRODUCT_CONFIG[_0x5caa8b(0x17a)]+_0x5caa8b(0x190);}export function readStoredDeviceCode(){const _0xde7b2b=a11_0x7474,_0x1df9fe=getDeviceCodePath();if(!existsSync(_0x1df9fe))return null;try{const _0x4b42d5=readFileSync(_0x1df9fe,{'encoding':_0xde7b2b(0x142)}),_0x54af02=JSON[_0xde7b2b(0x18a)](_0x4b42d5);if(_0x54af02&&typeof _0x54af02['code']===_0xde7b2b(0x17c)&&typeof _0x54af02[_0xde7b2b(0x172)]===_0xde7b2b(0x17c)&&(_0x54af02['scope']===_0xde7b2b(0x16a)||_0x54af02[_0xde7b2b(0x187)]===_0xde7b2b(0x146)))return _0x54af02;}catch{}return null;}export function writeStoredDeviceCode(_0x186807,_0x509df7){const _0x358638=a11_0x7474,_0x4e9a5e=getDeviceCodePath(),_0x58635d=dirname(_0x4e9a5e);!existsSync(_0x58635d)&&mkdirSync(_0x58635d,{'recursive':!![]});const _0x1ea60f={'code':_0x186807,'createdAt':new Date()['toISOString'](),'scope':_0x509df7};writeFileSync(_0x4e9a5e,JSON[_0x358638(0x150)](_0x1ea60f),{'encoding':_0x358638(0x142),'mode':0x180});}function a11_0x7474(_0x2d4052,_0x1fa0d5){_0x2d4052=_0x2d4052-0x140;const _0x55c4d4=a11_0x55c4();let _0x7474e=_0x55c4d4[_0x2d4052];return _0x7474e;}export function deleteStoredDeviceCode(){const _0x364ef3=getDeviceCodePath();try{unlinkSync(_0x364ef3);}catch{}}export function isStoredDeviceCodeExpired(_0x15b4e6){const _0x6f57ba=a11_0x7474;return Date[_0x6f57ba(0x162)]()-new Date(_0x15b4e6[_0x6f57ba(0x172)])[_0x6f57ba(0x143)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x193191,_0x1ac8c6){const _0x10b179=a11_0x7474,_0x28e8b0=_0x193191+'/api/device-auth/token',_0x4c0440=new AbortController(),_0x835c46=setTimeout(()=>_0x4c0440[_0x10b179(0x18e)](),0x2710),_0xeccbff=await fetch(_0x28e8b0,{'method':_0x10b179(0x14e),'headers':{'Content-Type':'application/json'},'body':JSON[_0x10b179(0x150)]({'code':_0x1ac8c6}),'signal':_0x4c0440[_0x10b179(0x193)]});clearTimeout(_0x835c46);if(!_0xeccbff['ok'])throw CliErrors[_0x10b179(0x17e)](_0x10b179(0x175)+_0xeccbff[_0x10b179(0x188)]);const _0x5ef615=await _0xeccbff['json'](),_0x55f8bb=_0x5ef615[_0x10b179(0x18b)]&&typeof _0x5ef615[_0x10b179(0x18b)]===_0x10b179(0x16f)?_0x5ef615[_0x10b179(0x18b)]:_0x5ef615;if(!_0x55f8bb||typeof _0x55f8bb['status']!==_0x10b179(0x17c))throw CliErrors[_0x10b179(0x194)](_0x10b179(0x169));return{'status':_0x55f8bb[_0x10b179(0x188)],'access_key':typeof _0x55f8bb[_0x10b179(0x15a)]===_0x10b179(0x17c)?_0x55f8bb[_0x10b179(0x15a)]:undefined};}function a11_0x55c4(){const _0x4987f9=['217yjAcwL','Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.','\x20config.','randomUUID','device','url-only','now','nonInteractive','Device\x20auth\x20API\x20error\x20(','The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','75372jDgIdS','trim','Invalid\x20device\x20auth\x20response','global','validation','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','\x20auth\x20status','Device\x20authorization\x20cancelled.','object','1304045LvPyGH','once','createdAt','expired','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','Device\x20auth\x20API\x20returned\x20HTTP\x20','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.','),\x20retrying...','/device-auth?code=','\x20auth\x20device','homeDirName','AbortError','string','602424RYOnvK','networkError','success','accessKey','\x0dWaiting\x20for\x20authorization...\x20','test','lovrabet-cli','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','removeListener','padStart','scope','status','global-default','parse','data','stderr','SIGINT','abort','write','/.device-auth','bool','Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...','signal','apiError','Device\x20authorization\x20successful.','aborted','75vGbAXj','utf8','getTime','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:','project','floor','9yzfKsd','Verify:\x20','81602terzzW','Write\x20to\x20project\x20config','4uTSaNP','AccessKey\x20saved\x20to\x20','POST','str','stringify','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Invalid\x20access_key\x20returned\x20by\x20server.','&source=','33ziGabR','cancelled','4202800ZNAZYd','Write\x20to\x20global\x20config\x20(default)','boolean','8395236gaAkkb','access_key','6589110dVCCWm'];a11_0x55c4=function(){return _0x4987f9;};return a11_0x55c4();}export async function pollDeviceToken(_0x4fa1ff,_0x134ff1,_0x2da7b6){const _0x35ff21=a11_0x7474;let _0x39bd9c=0x0;for(let _0x21e160=0x0;_0x21e160<MAX_POLLS;_0x21e160++){if(_0x2da7b6[_0x35ff21(0x140)])throw CliErrors[_0x35ff21(0x155)](_0x35ff21(0x16e));let _0x4af792;try{_0x4af792=await fetchDeviceToken(_0x4fa1ff,_0x134ff1);}catch(_0x33546f){if(_0x33546f instanceof Error&&_0x33546f['name']===_0x35ff21(0x17b))throw CliErrors[_0x35ff21(0x155)](_0x35ff21(0x16e));_0x39bd9c++;if(_0x39bd9c>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors['networkError'](_0x35ff21(0x15d));writeCliSideChannelLine(_0x35ff21(0x164)+_0x39bd9c+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x35ff21(0x177)),await sleep(POLL_INTERVAL_MS);continue;}_0x39bd9c=0x0;if(_0x4af792[_0x35ff21(0x188)]===_0x35ff21(0x17f)){if(!_0x4af792[_0x35ff21(0x15a)])throw CliErrors[_0x35ff21(0x194)](_0x35ff21(0x152));return _0x4af792[_0x35ff21(0x15a)];}if(_0x4af792['status']===_0x35ff21(0x173)){deleteStoredDeviceCode();throw CliErrors[_0x35ff21(0x16b)](_0x35ff21(0x166));}const _0x3d5924=(_0x21e160+0x1)*POLL_INTERVAL_MS,_0x500235=DEVICE_CODE_TTL_MS-_0x3d5924,_0x473c7a=Math['floor'](_0x500235/0xea60),_0xf84ee1=Math[_0x35ff21(0x147)](_0x500235%0xea60/0x3e8);process[_0x35ff21(0x18c)][_0x35ff21(0x18f)](_0x35ff21(0x181)+_0x473c7a+':'+String(_0xf84ee1)[_0x35ff21(0x186)](0x2,'0')+'\x20remaining'),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors['validation'](_0x35ff21(0x184));}function sleep(_0x48f4cf){return new Promise(_0x4a2436=>setTimeout(_0x4a2436,_0x48f4cf));}export const authDeviceDefinition={'service':'auth','command':a11_0x42c21e(0x160),'description':a11_0x42c21e(0x174),'risk':a11_0x42c21e(0x18f),'confirmationDescription':a11_0x42c21e(0x176),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x42c21e(0x16a),'type':a11_0x42c21e(0x158),'description':a11_0x42c21e(0x157),'default':!![]},{'name':a11_0x42c21e(0x146),'type':a11_0x42c21e(0x158),'description':a11_0x42c21e(0x14b),'default':![]},{'name':'source','type':a11_0x42c21e(0x17c),'description':'App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','default':a11_0x42c21e(0x183)},{'name':a11_0x42c21e(0x161),'type':a11_0x42c21e(0x158),'description':a11_0x42c21e(0x151),'default':![]}],async 'execute'(_0x565f16){const _0x30eff3=a11_0x42c21e,_0xe2c4fe=resolveAuthScopeFlags(_0x565f16),_0x5053f9=_0xe2c4fe[_0x30eff3(0x16a)]?_0x30eff3(0x16a):_0x30eff3(0x146),_0x41639a=readScopedConfig(_0xe2c4fe);if(_0x41639a[_0x30eff3(0x180)])return{'ok':!![],'message':_0x30eff3(0x144)};const _0x62a1a8=(_0x565f16[_0x30eff3(0x14f)]('source')||_0x30eff3(0x183))[_0x30eff3(0x168)](),_0xdd66af=getUserDomain(),_0x46d533=readStoredDeviceCode(),_0x216436=_0x46d533&&!isStoredDeviceCodeExpired(_0x46d533)?_0x46d533['code']:((()=>{const _0x1edb1d=generateDeviceCode();return writeStoredDeviceCode(_0x1edb1d,_0x5053f9),_0x1edb1d;})()),_0x4281ea=buildDeviceAuthUrl(_0xdd66af,_0x216436,_0x62a1a8);if(_0x565f16[_0x30eff3(0x191)](_0x30eff3(0x161)))return console['log'](_0x4281ea),{'ok':!![]};writeCliSideChannelLine(_0x30eff3(0x145)),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x4281ea),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x30eff3(0x165));if(_0x565f16[_0x30eff3(0x163)])return writeCliSideChannelLine('After\x20authorizing,\x20re-run:\x20'+CLI_BIN_NAME+_0x30eff3(0x179)),{'ok':!![],'message':_0x30eff3(0x16c)};writeCliSideChannelLine(_0x30eff3(0x192));const _0x393feb=new AbortController(),_0xc6dfee=()=>{const _0x52caf3=_0x30eff3;_0x393feb[_0x52caf3(0x18e)](),process[_0x52caf3(0x185)](_0x52caf3(0x18d),_0xc6dfee);};process[_0x30eff3(0x171)](_0x30eff3(0x18d),_0xc6dfee);let _0x273bde;try{_0x273bde=await pollDeviceToken(_0xdd66af,_0x216436,_0x393feb['signal']);}finally{process[_0x30eff3(0x185)](_0x30eff3(0x18d),_0xc6dfee);}if(!ACCESS_KEY_PATTERN[_0x30eff3(0x182)](_0x273bde))throw CliErrors['apiError'](_0x30eff3(0x152));const _0x170e51=readScopedConfig(_0xe2c4fe);return _0x170e51[_0x30eff3(0x180)]=_0x273bde,writeScopedConfig(_0x170e51,_0xe2c4fe),deleteStoredDeviceCode(),process[_0x30eff3(0x18c)][_0x30eff3(0x18f)]('\x0a'),writeCliSideChannelLine(_0x30eff3(0x14d)+_0x5053f9+_0x30eff3(0x15e)),writeCliSideChannelLine(_0x30eff3(0x149)+CLI_BIN_NAME+_0x30eff3(0x16d)),{'ok':!![],'message':_0x30eff3(0x195)};}};
|