@lovrabet/lovrabet-cli 2.3.1 → 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
|
-
|
|
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_0x39bb46=a1_0xf150;function a1_0xf150(_0x50420d,_0x2ed523){_0x50420d=_0x50420d-0xf2;const _0x199495=a1_0x1994();let _0xf150fa=_0x199495[_0x50420d];return _0xf150fa;}(function(_0x3cedd1,_0x2f2940){const _0x49636d=a1_0xf150,_0x2a0613=_0x3cedd1();while(!![]){try{const _0x328f90=-parseInt(_0x49636d(0x107))/0x1*(-parseInt(_0x49636d(0x144))/0x2)+parseInt(_0x49636d(0x111))/0x3*(-parseInt(_0x49636d(0x148))/0x4)+-parseInt(_0x49636d(0x127))/0x5*(parseInt(_0x49636d(0xf5))/0x6)+-parseInt(_0x49636d(0x14a))/0x7+-parseInt(_0x49636d(0x147))/0x8*(parseInt(_0x49636d(0x11e))/0x9)+-parseInt(_0x49636d(0x15d))/0xa*(-parseInt(_0x49636d(0xf6))/0xb)+-parseInt(_0x49636d(0x14c))/0xc*(-parseInt(_0x49636d(0x170))/0xd);if(_0x328f90===_0x2f2940)break;else _0x2a0613['push'](_0x2a0613['shift']());}catch(_0xd9f98d){_0x2a0613['push'](_0x2a0613['shift']());}}}(a1_0x1994,0x38890));function a1_0x1994(){const _0xf999c7=['API\x20doc\x20code\x20not\x20found:\x20','paging\x20contains\x20pagination','appCode','string','dataset','method','Get\x20one\x20dataset\x20record','486348KOAcmc','Returns\x20script\x20business\x20payload','Function\x20execution\x20may\x20have\x20business\x20side\x20effects;\x20inspect\x20detail\x20before\x20execution.','If\x20SDK\x20usage\x20is\x20needed,\x20follow\x20with\x20`lovrabet\x20dataset\x20sdk-doc\x20--code\x20<datasetCode>`.','find','code','List\x20available\x20runtime\x20API\x20documentation\x20entries','Use\x20when\x20you\x20need\x20to\x20read\x20business\x20data\x20with\x20where,\x20orderBy,\x20pagination,\x20or\x20similar\x20filters','path','Use\x20when\x20you\x20need\x20a\x20paginated\x20runtime\x20dataset\x20list\x20by\x20appCode\x20and\x20want\x20to\x20collect\x20available\x20datasetCode\x20values','Aggregate\x20supports\x20COUNT,\x20SUM,\x20AVG,\x20MAX,\x20and\x20MIN\x20definitions\x20in\x20the\x20`aggregate`\x20array.','{\x22aggregate\x22:[{\x22column\x22:\x20\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}],\x22groupBy\x22:[]}','tableData\x20contains\x20records','1267506bEwamw','dataset_detail','Returns\x20one\x20matching\x20business\x20record','keyword','CLI\x20users\x20should\x20prefer\x20`lovrabet\x20dataset\x20list`\x20for\x20this\x20workflow.','##\x20Get\x20BF\x20endpoint\x20function\x20contract\x0a\x0aInspect\x20one\x20known\x20endpoint\x20function\x20through\x20the\x20AK-authenticated\x20exact\x20detail\x20API.','dataset_data_get_one','includes','length','1383260QbyUfR','Exact\x20endpoint\x20function\x20name','Verify\x20tableData\x20and\x20paging\x20before\x20treating\x20the\x20response\x20as\x20a\x20business\x20fact.','api-doc','{\x22where\x22:{},\x22currentPage\x22:1,\x22pageSize\x22:20}','lovrabet\x20personal-bff\x20exec\x20--id\x20<id>\x20--params\x20\x27{}\x27','This\x20is\x20a\x20write\x20operation;\x20use\x20dry-run\x20when\x20available\x20and\x20safe\x20fixtures\x20for\x20smoke\x20tests.','/api/{appCode}/{datasetCode}/aggregate','/api/runtime-bff/personal/{id}/execute','Execute\x20a\x20Personal\x20Backend\x20Function\x20by\x20script\x20ID','{\x22fieldName\x22:\x22value\x22}','Use\x20`having`\x20only\x20for\x20post-aggregation\x20filters.','This\x20is\x20an\x20exact\x20lookup\x20by\x20appCode\x20+\x20functionName.\x20The\x20CLI\x20does\x20not\x20enumerate\x20Backend\x20Function\x20definitions\x20or\x20expose\x20platform-only\x20fields.','Execute\x20a\x20known\x20Personal\x20Backend\x20Function\x20script\x20through\x20its\x20runtime\x20execute\x20endpoint.','/api/custom/executeSql','lovrabet\x20bff\x20detail\x20--name\x20<functionName>','Use\x20when\x20the\x20target\x20BF\x20functionName\x20is\x20confirmed\x20and\x20you\x20need\x20to\x20call\x20that\x20ENDPOINT','personal_bf_execute','/api/{appCode}/{datasetCode}/getOne','Personal\x20Backend\x20Function\x20script\x20ID,\x20for\x20example\x20123','whenToUse','Execute\x20a\x20BF\x20endpoint\x20function','API\x20doc\x20code,\x20for\x20example\x20dataset_list','None','Get\x20BF\x20endpoint\x20function\x20contract','operations\x20describes\x20runtime\x20APIs','/client/bff/endpoint/{appCode}/{functionName}','`field`\x20is\x20accepted\x20as\x20a\x20deprecated\x20alias\x20for\x20`column`;\x20new\x20calls\x20should\x20use\x20`column`.','Use\x20when\x20the\x20function\x20name\x20is\x20already\x20confirmed\x20and\x20you\x20need\x20that\x20ENDPOINT\x27s\x20runtime\x20metadata','142394xAvVfY','Execute\x20custom\x20SQL','Use\x20`lovrabet\x20sql\x20detail`\x20before\x20execution.','16QNuImo','4UqLtfR','join','1972922gLYviC','##\x20Execute\x20custom\x20SQL\x0a\x0aExecute\x20a\x20configured\x20SQL\x20script\x20by\x20sqlCode.','16440syuMWr','lovrabet\x20data\x20aggregate\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22aggregate\x22:[{\x22column\x22:\x22id\x22,\x22type\x22:\x22COUNT\x22,\x22alias\x22:\x22cnt\x22}]}\x27','##\x20Get\x20one\x20dataset\x20record\x0a\x0aRead\x20one\x20record\x20by\x20id.','{\x22appCode\x22:\x22app-aa63b188\x22,\x22currentPage\x22:1,\x22pageSize\x22:100}','list','##\x20Execute\x20BF\x20endpoint\x20function\x0a\x0aExecute\x20a\x20known\x20endpoint\x20script.','where,\x20select,\x20orderBy,\x20currentPage,\x20and\x20pageSize\x20belong\x20inside\x20one\x20--params\x20JSON\x20object;\x20they\x20are\x20not\x20standalone\x20CLI\x20flags.','GET','custom_sql','bf_detail','functionName','summary','Use\x20read-only\x20data\x20commands\x20before\x20writing\x20Artifacts\x20that\x20display\x20real\x20data.','{\x22id\x22:123}','validation','Current\x20app\x20code','paging.totalCount\x20gives\x20total\x20rows','30JiKibJ','Search\x20docs\x20by\x20code,\x20summary,\x20path,\x20or\x20usage\x20text','For\x20the\x20next\x20page,\x20keep\x20where/select/orderBy/pageSize\x20unchanged\x20and\x20increment\x20only\x20currentPage,\x20which\x20starts\x20at\x201.','dataset_list','category','Use\x20when\x20the\x20target\x20Personal\x20BFF\x20script\x20id\x20is\x20confirmed\x20under\x20the\x20current\x20user\x20and\x20you\x20need\x20to\x20execute\x20that\x20personal\x20script\x20with\x20optional\x20JSON\x20params','str','Prefer\x20`filter`\x20when\x20the\x20record\x20id\x20is\x20unknown.','datasetCode','Personal\x20BFF\x20scripts\x20are\x20user-owned\x20and\x20scoped\x20per\x20app.','{\x22param\x22:\x22value\x22}','read','Use\x20when\x20the\x20target\x20sqlCode\x20exists\x20and\x20you\x20need\x20to\x20execute\x20that\x20custom\x20SQL','Returns\x20SQL\x20execution\x20payload','Create\x20dataset\x20record','Filter\x20dataset\x20data','Use\x20when\x20you\x20need\x20fields,\x20table\x20info,\x20relations,\x20or\x20operation\x20definitions\x20for\x20a\x20dataset\x20code','custom_sql_execute','Aggregate\x20dataset\x20data','6851IMiczN','Filter\x20docs\x20by\x20category,\x20for\x20example\x20dataset','lovrabet\x20dataset\x20list\x20--appcode\x20<appCode>\x20--format\x20compress','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:1,\x22pageSize\x22:20}\x27','dataset_data_aggregate','##\x20List\x20datasets','relations\x20contains\x20the\x20object-shaped\x20API\x20relations\x20value\x20when\x20returned','Use\x20when\x20you\x20need\x20groupBy\x20plus\x20count,\x20sum,\x20avg,\x20max,\x20or\x20min\x20aggregates','/api/endpoint/{appCode}/{functionName}','Execute\x20BF\x20endpoint\x20function','6bnInuz','1093653CWXVcQ','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22where\x22:{\x22status\x22:{\x22$eq\x22:\x22active\x22}},\x22orderBy\x22:[{\x22id\x22:\x22asc\x22}],\x22currentPage\x22:2,\x22pageSize\x22:20}\x27','result\x20rows\x20contain\x20aggregate\x20aliases','Get\x20a\x20BF\x20endpoint\x20contract\x20by\x20app\x20and\x20function\x20name','##\x20Execute\x20Personal\x20Backend\x20Function','toLowerCase','##\x20Aggregate\x20dataset\x20data','detail','32-character\x20dataset\x20code','Show\x20runtime\x20API\x20documentation\x20by\x20code','Use\x20this\x20API\x20or\x20`lovrabet\x20dataset\x20list`\x20to\x20discover\x20available\x20dataset\x20codes\x20before\x20reading\x20data.','Returns\x20the\x20created\x20record\x20or\x20backend\x20operation\x20result','Script\x20behavior\x20may\x20have\x20side\x20effects;\x20inspect\x20detail\x20first.','CLI\x20returns\x20appCode/functionName/description/version/gmtModified','Use\x20when\x20you\x20need\x20to\x20insert\x20one\x20business\x20record\x20into\x20a\x20dataset','Endpoint\x20function\x20name','where\x20filters\x20before\x20aggregation','3agJdCv','POST','lovrabet\x20dataset\x20detail\x20--code\x20<datasetCode>\x20--appcode\x20<appCode>'];a1_0x1994=function(){return _0xf999c7;};return a1_0x1994();}import{CliErrors}from'../../errors.js';const CATEGORY_FLAG={'name':a1_0x39bb46(0x161),'type':a1_0x39bb46(0x10d),'description':a1_0x39bb46(0x171)},KEYWORD_FLAG={'name':'keyword','type':'string','description':a1_0x39bb46(0x15e)},DOC_CODE_FLAG={'name':'code','type':a1_0x39bb46(0x10d),'required':!![],'description':a1_0x39bb46(0x13d)},DOCS=[{'code':a1_0x39bb46(0x160),'category':'dataset','title':'List\x20datasets','method':a1_0x39bb46(0x108),'path':'/api/dataset/get-dataset-list-by-app-code','summary':'List\x20datasets\x20with\x20pagination','whenToUse':a1_0x39bb46(0x11a),'pathParams':[],'queryParams':[],'bodySchema':a1_0x39bb46(0x14f),'responseHighlights':['tableData\x20contains\x20dataset\x20id/code/name',a1_0x39bb46(0x15c)],'examples':[a1_0x39bb46(0x172)],'notes':[a1_0x39bb46(0x122)],'markdown':[a1_0x39bb46(0x175),'',a1_0x39bb46(0x100)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x11f),'category':a1_0x39bb46(0x10e),'title':'Dataset\x20detail','method':a1_0x39bb46(0x153),'path':'/api/dataset/getOneByCode?code={datasetCode}','summary':'Get\x20dataset\x20detail','whenToUse':a1_0x39bb46(0x16d),'pathParams':[],'queryParams':[{'name':a1_0x39bb46(0x116),'description':'32-character\x20dataset\x20code'}],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':['fields/properties\x20describe\x20data\x20shape',a1_0x39bb46(0x176),a1_0x39bb46(0x140)],'examples':[a1_0x39bb46(0x109)],'notes':[a1_0x39bb46(0x114)],'markdown':['##\x20Dataset\x20detail','','Inspect\x20field\x20names,\x20relations,\x20and\x20operation\x20metadata\x20for\x20a\x20known\x20dataset\x20code.'][a1_0x39bb46(0x149)]('\x0a')},{'code':'dataset_data_filter','category':'dataset','title':a1_0x39bb46(0x16c),'method':'POST','path':'/api/{appCode}/{datasetCode}/filter','summary':'Filter\x20dataset\x20records','whenToUse':a1_0x39bb46(0x118),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x12b),'responseHighlights':[a1_0x39bb46(0x11d),a1_0x39bb46(0x10b)],'examples':[a1_0x39bb46(0x173),a1_0x39bb46(0xf7)],'notes':[a1_0x39bb46(0x152),a1_0x39bb46(0x15f),a1_0x39bb46(0x129),a1_0x39bb46(0x158)],'markdown':['##\x20Filter\x20dataset\x20data','','Use\x20`where`,\x20`select`,\x20`orderBy`,\x20`currentPage`,\x20and\x20`pageSize`\x20to\x20inspect\x20live\x20data\x20shape.'][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x174),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16f),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12e),'summary':'Aggregate\x20dataset\x20records','whenToUse':a1_0x39bb46(0xf2),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x11c),'responseHighlights':[a1_0x39bb46(0xf8),a1_0x39bb46(0x106)],'examples':[a1_0x39bb46(0x14d)],'notes':[a1_0x39bb46(0x132),a1_0x39bb46(0x142)],'markdown':[a1_0x39bb46(0xfc),'',a1_0x39bb46(0x11b)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x124),'category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x110),'method':'POST','path':a1_0x39bb46(0x139),'summary':'Get\x20one\x20dataset\x20record','whenToUse':'Use\x20when\x20you\x20already\x20know\x20the\x20record\x20id\x20and\x20need\x20one\x20business\x20row\x20from\x20a\x20dataset','pathParams':[{'name':'appCode','description':a1_0x39bb46(0x15b)},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x159),'responseHighlights':[a1_0x39bb46(0x120)],'examples':['lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],'notes':[a1_0x39bb46(0x164)],'markdown':a1_0x39bb46(0x14e)},{'code':'dataset_data_create','category':a1_0x39bb46(0x10e),'title':a1_0x39bb46(0x16b),'method':a1_0x39bb46(0x108),'path':'/api/{appCode}/{datasetCode}/create','summary':'Create\x20a\x20dataset\x20record','whenToUse':a1_0x39bb46(0x104),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x165),'description':a1_0x39bb46(0xfe)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x131),'responseHighlights':[a1_0x39bb46(0x101)],'examples':['lovrabet\x20data\x20create\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22name\x22:\x22demo\x22}\x27'],'notes':[a1_0x39bb46(0x12d)],'markdown':'##\x20Create\x20dataset\x20record\x0a\x0aCreate\x20one\x20data\x20record\x20in\x20a\x20dataset.'},{'code':a1_0x39bb46(0x155),'category':'bf','title':a1_0x39bb46(0x13f),'method':a1_0x39bb46(0x153),'path':a1_0x39bb46(0x141),'summary':a1_0x39bb46(0xf9),'whenToUse':a1_0x39bb46(0x143),'pathParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)},{'name':'functionName','description':a1_0x39bb46(0x128)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x13e),'responseHighlights':[a1_0x39bb46(0x103)],'examples':[a1_0x39bb46(0x136)],'notes':[a1_0x39bb46(0x133)],'markdown':a1_0x39bb46(0x123)},{'code':'bf_execute','category':'bf','title':a1_0x39bb46(0xf4),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0xf3),'summary':a1_0x39bb46(0x13c),'whenToUse':a1_0x39bb46(0x137),'pathParams':[{'name':'appCode','description':'Current\x20app\x20code'},{'name':a1_0x39bb46(0x156),'description':a1_0x39bb46(0x105)}],'queryParams':[],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':['lovrabet\x20bff\x20exec\x20--name\x20<functionName>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x102)],'markdown':a1_0x39bb46(0x151)},{'code':a1_0x39bb46(0x138),'category':'bf','title':'Execute\x20Personal\x20Backend\x20Function','method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x12f),'summary':a1_0x39bb46(0x130),'whenToUse':a1_0x39bb46(0x162),'pathParams':[{'name':'id','description':a1_0x39bb46(0x13a)}],'queryParams':[{'name':a1_0x39bb46(0x10c),'description':a1_0x39bb46(0x15b)}],'bodySchema':a1_0x39bb46(0x167),'responseHighlights':[a1_0x39bb46(0x112)],'examples':[a1_0x39bb46(0x12c)],'notes':[a1_0x39bb46(0x166),a1_0x39bb46(0x113)],'markdown':[a1_0x39bb46(0xfa),'',a1_0x39bb46(0x134)][a1_0x39bb46(0x149)]('\x0a')},{'code':a1_0x39bb46(0x16e),'category':a1_0x39bb46(0x154),'title':a1_0x39bb46(0x145),'method':a1_0x39bb46(0x108),'path':a1_0x39bb46(0x135),'summary':a1_0x39bb46(0x145),'whenToUse':a1_0x39bb46(0x169),'pathParams':[],'queryParams':[],'bodySchema':'{\x22appCode\x22:\x22app-aa63b188\x22,\x22sqlCode\x22:\x22xxxxxxxx-xxxxxxxx\x22,\x22params\x22:{}}','responseHighlights':[a1_0x39bb46(0x16a)],'examples':['lovrabet\x20sql\x20exec\x20--sqlcode\x20<sqlCode>\x20--params\x20\x27{}\x27'],'notes':[a1_0x39bb46(0x146)],'markdown':a1_0x39bb46(0x14b)}];function entrySummary(_0x43757a){const _0xbbfc43=a1_0x39bb46;return{'code':_0x43757a[_0xbbfc43(0x116)],'category':_0x43757a['category'],'method':_0x43757a[_0xbbfc43(0x10f)],'path':_0x43757a[_0xbbfc43(0x119)],'summary':_0x43757a[_0xbbfc43(0x157)],'whenToUse':_0x43757a[_0xbbfc43(0x13b)]};}export function listApiDocEntries(_0x411c6c={}){const _0x10b53b=a1_0x39bb46,_0x4c7d5=String(_0x411c6c[_0x10b53b(0x161)]||'')['trim'](),_0x137477=String(_0x411c6c['keyword']||'')['trim']()['toLowerCase']();return DOCS['filter'](_0x57cfcf=>{const _0x55baf9=_0x10b53b;if(_0x4c7d5&&_0x57cfcf[_0x55baf9(0x161)]!==_0x4c7d5)return![];if(!_0x137477)return!![];return[_0x57cfcf['code'],_0x57cfcf['category'],_0x57cfcf[_0x55baf9(0x10f)],_0x57cfcf['path'],_0x57cfcf['summary'],_0x57cfcf[_0x55baf9(0x13b)],_0x57cfcf['title']][_0x55baf9(0x149)]('\x20')[_0x55baf9(0xfb)]()[_0x55baf9(0x125)](_0x137477);})['map'](entrySummary);}export function getApiDocDetail(_0x4e1aba){const _0x9d0e7a=a1_0x39bb46,_0x509156=DOCS[_0x9d0e7a(0x115)](_0x553b16=>_0x553b16[_0x9d0e7a(0x116)]===_0x4e1aba);if(!_0x509156)throw CliErrors[_0x9d0e7a(0x15a)](_0x9d0e7a(0x10a)+_0x4e1aba);return{..._0x509156};}const apiDocList={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0x150),'description':a1_0x39bb46(0x117),'risk':'read','requiresAppCode':![],'flags':[CATEGORY_FLAG,KEYWORD_FLAG],async 'execute'(_0x5cdde7){const _0x509430=a1_0x39bb46,_0x44d415=listApiDocEntries({'category':_0x5cdde7['str'](_0x509430(0x161)),'keyword':_0x5cdde7[_0x509430(0x163)](_0x509430(0x121))});return{'ok':!![],'data':{'total':_0x44d415[_0x509430(0x126)],'items':_0x44d415}};}},apiDocDetail={'service':a1_0x39bb46(0x12a),'command':a1_0x39bb46(0xfd),'description':a1_0x39bb46(0xff),'risk':a1_0x39bb46(0x168),'requiresAppCode':![],'flags':[DOC_CODE_FLAG],async 'execute'(_0x1acbaf){const _0x243816=a1_0x39bb46;return{'ok':!![],'data':getApiDocDetail(_0x1acbaf[_0x243816(0x163)](_0x243816(0x116)))};}};export const apiDocDefinitions=[apiDocList,apiDocDetail];
|
|
1
|
+
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
|
-
function
|
|
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
|
-
(function(
|
|
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_0x71faa0=a10_0x2b0c;(function(_0x57027c,_0x43f27f){const _0x5ce3d4=a10_0x2b0c,_0x4f1c7f=_0x57027c();while(!![]){try{const _0x1db73a=-parseInt(_0x5ce3d4(0x1a0))/0x1*(-parseInt(_0x5ce3d4(0x186))/0x2)+-parseInt(_0x5ce3d4(0x191))/0x3+parseInt(_0x5ce3d4(0x1ac))/0x4+-parseInt(_0x5ce3d4(0x19d))/0x5*(parseInt(_0x5ce3d4(0x190))/0x6)+-parseInt(_0x5ce3d4(0x17e))/0x7*(-parseInt(_0x5ce3d4(0x193))/0x8)+parseInt(_0x5ce3d4(0x187))/0x9+-parseInt(_0x5ce3d4(0x1b1))/0xa*(parseInt(_0x5ce3d4(0x168))/0xb);if(_0x1db73a===_0x43f27f)break;else _0x4f1c7f['push'](_0x4f1c7f['shift']());}catch(_0x44ddd0){_0x4f1c7f['push'](_0x4f1c7f['shift']());}}}(a10_0x29e5,0x400f4));import{existsSync,readFileSync,statSync}from'node:fs';import{createRuntimeArtifact,getRuntimeArtifact,listRuntimeArtifacts,updateRuntimeArtifact}from'../../core/api-client.js';import{ID_FLAG,VERBOSE_FLAG}from'../../commands/common/flags.js';import{CliErrors}from'../../errors.js';import{dryRun}from'../../framework/dryrun.js';const ARTIFACT_TYPE_REACT_MODULE=a10_0x71faa0(0x194),ARTIFACT_SOURCE_AGENT=a10_0x71faa0(0x1b7),ALLOWED_REACT_MODULE_IMPORTS=[a10_0x71faa0(0x199),a10_0x71faa0(0x1ab),'lodash',a10_0x71faa0(0x16e),a10_0x71faa0(0x172),a10_0x71faa0(0x16d)];export const ALLOWED_REACT_MODULE_IMPORTS_TEXT=ALLOWED_REACT_MODULE_IMPORTS['join'](',\x20');const IMPORT_SOURCE_PATTERNS=[/\bimport\s+(?:type\s+)?(?:[^'";]*?\s+from\s+)?["']([^"']+)["']/g,/\bexport\s+(?:type\s+)?[^'";]*?\s+from\s+["']([^"']+)["']/g,/\bimport\s*\(\s*["']([^"']+)["']\s*\)/g,/\brequire\s*\(\s*["']([^"']+)["']\s*\)/g],PAGE_LEVEL_PATTERNS=[/<!doctype\s+html/i,/<\s*html\b/i,/\bcreateRoot\s*\(/,/\bReactDOM\s*\.\s*render\s*\(/,/\bReactDOM\s*\.\s*createRoot\s*\(/],FILE_FLAG={'name':a10_0x71faa0(0x182),'type':a10_0x71faa0(0x1a1),'required':!![],'description':a10_0x71faa0(0x17d)},ARTIFACT_NAME_FLAG={'name':a10_0x71faa0(0x1af),'type':'string','description':a10_0x71faa0(0x170)},METADATA_FLAG={'name':a10_0x71faa0(0x18d),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x173)};function isPlainObject(_0x305f31){const _0x9f13dc=a10_0x71faa0;return typeof _0x305f31==='object'&&_0x305f31!==null&&!Array[_0x9f13dc(0x198)](_0x305f31);}function a10_0x2b0c(_0x5eda75,_0x1c7347){_0x5eda75=_0x5eda75-0x166;const _0x29e50e=a10_0x29e5();let _0x2b0c2e=_0x29e50e[_0x5eda75];return _0x2b0c2e;}function readSourceFile(_0x26955a){const _0x48b8fa=a10_0x71faa0;if(!_0x26955a)throw CliErrors['validation'](_0x48b8fa(0x1a4));if(!existsSync(_0x26955a))throw CliErrors['validation'](_0x48b8fa(0x18b)+_0x26955a);if(!statSync(_0x26955a)[_0x48b8fa(0x1b5)]())throw CliErrors[_0x48b8fa(0x16a)](_0x48b8fa(0x1a5)+_0x26955a);const _0x382449=readFileSync(_0x26955a,_0x48b8fa(0x166));return validateReactModuleSource(_0x382449),_0x382449;}function parseMetadata(_0x3940d1){const _0x3aa9a1=a10_0x71faa0;if(!_0x3940d1)return undefined;let _0xdd56e0;try{_0xdd56e0=JSON['parse'](_0x3940d1);}catch{throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x195)+_0x3940d1);}if(!isPlainObject(_0xdd56e0))throw CliErrors[_0x3aa9a1(0x16a)](_0x3aa9a1(0x1b4));const _0xb58c08={..._0xdd56e0};return delete _0xb58c08['compiledContent'],_0xb58c08;}function getPackageName(_0x1e0beb){if(_0x1e0beb['startsWith']('@')){const [_0x49b203,_0x38dae2]=_0x1e0beb['split']('/');return _0x49b203&&_0x38dae2?_0x49b203+'/'+_0x38dae2:_0x1e0beb;}return _0x1e0beb['split']('/')[0x0]||_0x1e0beb;}function validateAllowedImports(_0x2e6120){const _0x37a5cc=a10_0x71faa0,_0x55193f=new Set();for(const _0x518145 of IMPORT_SOURCE_PATTERNS){_0x518145[_0x37a5cc(0x17a)]=0x0;let _0x4093ff;while((_0x4093ff=_0x518145['exec'](_0x2e6120))!==null){const _0xed602f=_0x4093ff[0x1]?.[_0x37a5cc(0x18f)]();_0xed602f&&_0x55193f[_0x37a5cc(0x1a8)](_0xed602f);}}const _0x5ae2f8=[..._0x55193f][_0x37a5cc(0x185)](getPackageName)[_0x37a5cc(0x179)](_0x4a5c3c=>!ALLOWED_REACT_MODULE_IMPORTS[_0x37a5cc(0x174)](_0x4a5c3c));if(_0x5ae2f8['length']>0x0)throw CliErrors[_0x37a5cc(0x16a)](_0x37a5cc(0x181)+ALLOWED_REACT_MODULE_IMPORTS_TEXT+_0x37a5cc(0x1b2)+[...new Set(_0x5ae2f8)][_0x37a5cc(0x1a7)](',\x20'));}function a10_0x29e5(){const _0x1bb6e2=['Show\x20one\x20Artifact\x20by\x20id','@ant-design/icons','dayjs','/update','Artifact\x20display\x20name','Optional\x20favorite-state\x20filter','antd','Artifact\x20metadata\x20as\x20JSON\x20object;\x20compiledContent\x20is\x20stripped','includes','deleted','bool','detail','createTime','filter','lastIndex','create','boolean','Path\x20to\x20a\x20local\x20UTF-8\x20React\x20module\x20source\x20file','35pQwFqk','some','read','react_module\x20imports\x20are\x20limited\x20to:\x20','file','artifactType','Optional\x20source\x20filter,\x20for\x20example\x20AGENT','map','16XliAMD','1113543HaKANx','Updated\x20Artifact\x20','list','List\x20current-app\x20react_module\x20Artifacts','File\x20not\x20found:\x20','length','metadata','artifact','trim','66162QeqPYN','576318MYsqDA','data','626440ZKoOiJ','react_module','Invalid\x20JSON\x20for\x20--metadata:\x20','source','Created\x20Artifact\x20','isArray','react','favorite','Preview:\x20update\x20react_module\x20Artifact\x20','description','155dgbaIX','num','/client/artifact/','38041PjXfTd','string','test','Saves\x20and\x20recompiles\x20Artifact\x20source.\x20Embedded\x20module\x20display\x20and\x20interaction\x20in\x20the\x20app\x20may\x20change\x20immediately.','File\x20path\x20is\x20required.','File\x20is\x20not\x20a\x20regular\x20file:\x20','number','join','add','body','appCode','react-dom','1350304tXwKMt','POST','updateTime','name','str','42450veZvPm','.\x20Unsupported:\x20','react_module\x20must\x20be\x20an\x20embeddable\x20React\x20module,\x20not\x20full\x20HTML\x20or\x20a\x20ReactDOM/createRoot\x20mount\x20entry.','--metadata\x20must\x20be\x20a\x20JSON\x20object.','isFile','flag','AGENT','verbose','Artifact\x20source\x20file\x20is\x20blank.','utf8','Update\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file','935DlMZFl','Artifact\x20ID','validation','Create\x20a\x20react_module\x20Artifact\x20from\x20a\x20local\x20source\x20file'];a10_0x29e5=function(){return _0x1bb6e2;};return a10_0x29e5();}export function validateReactModuleSource(_0x17e384){const _0x5f3183=a10_0x71faa0;if(!_0x17e384['trim']())throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b9));if(PAGE_LEVEL_PATTERNS[_0x5f3183(0x17f)](_0x482ce7=>_0x482ce7[_0x5f3183(0x1a2)](_0x17e384)))throw CliErrors[_0x5f3183(0x16a)](_0x5f3183(0x1b3));validateAllowedImports(_0x17e384);}function buildArtifactInput(_0x2df782){const _0x57add8=a10_0x71faa0,_0x500eb0=readSourceFile(_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x182))),_0x47a9df=_0x2df782[_0x57add8(0x1b0)](_0x57add8(0x1af))[_0x57add8(0x18f)](),_0x2ed36a=parseMetadata(_0x2df782[_0x57add8(0x1b0)]('metadata'));return{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x47a9df?{'name':_0x47a9df}:{},'content':_0x500eb0,..._0x2ed36a?{'metadata':_0x2ed36a}:{},'source':ARTIFACT_SOURCE_AGENT};}function summarizeArtifact(_0x515418){const _0x1db55e=a10_0x71faa0;return{'id':_0x515418['id'],'name':_0x515418['name'],'artifactType':_0x515418['artifactType'],'source':_0x515418[_0x1db55e(0x196)],'favorite':_0x515418[_0x1db55e(0x19a)],'deleted':_0x515418[_0x1db55e(0x175)],'createTime':_0x515418[_0x1db55e(0x178)],'updateTime':_0x515418['updateTime']};}function detailArtifact(_0x2d959c){const _0x596f72=a10_0x71faa0;return{'id':_0x2d959c['id'],'appCode':_0x2d959c[_0x596f72(0x1aa)],'name':_0x2d959c['name'],'artifactType':_0x2d959c[_0x596f72(0x183)],'source':_0x2d959c['source'],'favorite':_0x2d959c['favorite'],'deleted':_0x2d959c['deleted'],'content':_0x2d959c['content']??'','compiledContent':_0x2d959c['compiledContent'],'metadata':_0x2d959c[_0x596f72(0x18d)]??{},'createTime':_0x2d959c[_0x596f72(0x178)],'updateTime':_0x2d959c[_0x596f72(0x1ae)]};}function readFavoriteFlag(_0x3ca80b){const _0x49abea=a10_0x71faa0,_0x1fc19d=_0x3ca80b[_0x49abea(0x1b6)](_0x49abea(0x19a));return _0x1fc19d===undefined||_0x1fc19d===null||_0x1fc19d===''?undefined:_0x3ca80b[_0x49abea(0x176)](_0x49abea(0x19a));}const artifactList={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x189),'description':a10_0x71faa0(0x18a),'risk':a10_0x71faa0(0x180),'flags':[{'name':a10_0x71faa0(0x196),'type':a10_0x71faa0(0x1a1),'description':a10_0x71faa0(0x184)},{'name':a10_0x71faa0(0x19a),'type':a10_0x71faa0(0x17c),'description':a10_0x71faa0(0x171)},VERBOSE_FLAG],async 'execute'(_0x2809a2){const _0x4cf866=a10_0x71faa0,_0x396d2a=await listRuntimeArtifacts(_0x2809a2[_0x4cf866(0x1aa)],{'artifactType':ARTIFACT_TYPE_REACT_MODULE,..._0x2809a2['str'](_0x4cf866(0x196))?{'source':_0x2809a2[_0x4cf866(0x1b0)](_0x4cf866(0x196))}:{},...readFavoriteFlag(_0x2809a2)!==undefined?{'favorite':readFavoriteFlag(_0x2809a2)}:{}});return{'ok':!![],'data':{'total':_0x396d2a[_0x4cf866(0x18c)],'items':_0x2809a2[_0x4cf866(0x176)](_0x4cf866(0x1b8))?_0x396d2a:_0x396d2a['map'](summarizeArtifact)}};}},artifactDetail={'service':a10_0x71faa0(0x18e),'command':a10_0x71faa0(0x177),'description':a10_0x71faa0(0x16c),'risk':a10_0x71faa0(0x180),'flags':[{...ID_FLAG,'description':'Artifact\x20ID'}],async 'execute'(_0x4bd93d){const _0xf53b33=a10_0x71faa0,_0x20cb33=await getRuntimeArtifact(_0x4bd93d[_0xf53b33(0x19e)]('id'),_0x4bd93d[_0xf53b33(0x1aa)]);return{'ok':!![],'data':detailArtifact(_0x20cb33)};}},artifactCreate={'service':'artifact','command':a10_0x71faa0(0x17b),'description':a10_0x71faa0(0x16b),'risk':'write','confirmationDescription':'Saves\x20and\x20compiles\x20new\x20Artifact\x20source.\x20On\x20success,\x20a\x20displayable\x20embedded\x20module\x20is\x20added\x20to\x20the\x20current\x20app.','flags':[FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0x583fde){const _0x142258=a10_0x71faa0,_0x21da9e=buildArtifactInput(_0x583fde),_0x1031cc=await createRuntimeArtifact(_0x583fde[_0x142258(0x1aa)],_0x21da9e);return{'ok':!![],'data':detailArtifact(_0x1031cc),'message':_0x142258(0x197)+_0x1031cc['id']+(_0x1031cc[_0x142258(0x1af)]?'\x20('+_0x1031cc[_0x142258(0x1af)]+')':'')};},async 'dryRun'(_0x242434){const _0x3e0c52=a10_0x71faa0,_0x4611aa=buildArtifactInput(_0x242434);return dryRun(_0x3e0c52(0x1ad),'/client/artifact/create')[_0x3e0c52(0x1a9)]({'appCode':_0x242434['appCode'],..._0x4611aa})[_0x3e0c52(0x19c)]('Preview:\x20create\x20react_module\x20Artifact')['build']();},'writeEventSubject'(_0x3f5eb7){const _0x16cc41=a10_0x71faa0,_0x10d992=_0x3f5eb7['data']?.['id'];if(typeof _0x10d992!==_0x16cc41(0x1a1)&&typeof _0x10d992!==_0x16cc41(0x1a6))return undefined;return{'kind':_0x16cc41(0x18e),'id':String(_0x10d992),'action':_0x16cc41(0x17b)};}},artifactUpdate={'service':a10_0x71faa0(0x18e),'command':'update','description':a10_0x71faa0(0x167),'risk':'write','confirmationDescription':a10_0x71faa0(0x1a3),'flags':[{...ID_FLAG,'description':a10_0x71faa0(0x169)},FILE_FLAG,ARTIFACT_NAME_FLAG,METADATA_FLAG],async 'execute'(_0xbee952){const _0x53aff2=a10_0x71faa0,_0x111d50=_0xbee952['num']('id'),_0x3837db=buildArtifactInput(_0xbee952),_0x3e0b57=await updateRuntimeArtifact(_0x111d50,_0xbee952['appCode'],_0x3837db);return{'ok':!![],'data':detailArtifact(_0x3e0b57),'message':_0x53aff2(0x188)+_0x3e0b57['id']+(_0x3e0b57[_0x53aff2(0x1af)]?'\x20('+_0x3e0b57[_0x53aff2(0x1af)]+')':'')};},async 'dryRun'(_0x3a0ad4){const _0x3274aa=a10_0x71faa0,_0x487962=_0x3a0ad4[_0x3274aa(0x19e)]('id'),_0x540bc4=buildArtifactInput(_0x3a0ad4);return dryRun('POST',_0x3274aa(0x19f)+_0x487962+_0x3274aa(0x16f))[_0x3274aa(0x1a9)]({'appCode':_0x3a0ad4[_0x3274aa(0x1aa)],..._0x540bc4})['description'](_0x3274aa(0x19b)+_0x487962)['build']();},'writeEventSubject'(_0x3cbedc){const _0x414fd4=a10_0x71faa0,_0x56607d=_0x3cbedc[_0x414fd4(0x192)]?.['id'];if(typeof _0x56607d!=='string'&&typeof _0x56607d!==_0x414fd4(0x1a6))return undefined;return{'kind':_0x414fd4(0x18e),'id':String(_0x56607d),'action':'update'};}};export const artifactDefinitions=[artifactList,artifactDetail,artifactCreate,artifactUpdate];
|
|
1
|
+
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_0x1cd5ac=a11_0x57d4;(function(_0x32573b,_0x28846b){const _0x4365c1=a11_0x57d4,_0x43759e=_0x32573b();while(!![]){try{const _0x46dcfb=parseInt(_0x4365c1(0x1e2))/0x1+-parseInt(_0x4365c1(0x1d4))/0x2*(-parseInt(_0x4365c1(0x1e8))/0x3)+-parseInt(_0x4365c1(0x20d))/0x4*(parseInt(_0x4365c1(0x1f0))/0x5)+parseInt(_0x4365c1(0x1e1))/0x6+-parseInt(_0x4365c1(0x214))/0x7+-parseInt(_0x4365c1(0x1f3))/0x8*(-parseInt(_0x4365c1(0x20f))/0x9)+parseInt(_0x4365c1(0x219))/0xa*(-parseInt(_0x4365c1(0x203))/0xb);if(_0x46dcfb===_0x28846b)break;else _0x43759e['push'](_0x43759e['shift']());}catch(_0x42d2ef){_0x43759e['push'](_0x43759e['shift']());}}}(a11_0x2fb1,0x9ca06));import{existsSync,mkdirSync,readFileSync,unlinkSync,writeFileSync}from'node:fs';import{dirname}from'node:path';import{homedir}from'node:os';import{readScopedConfig,writeScopedConfig}from'../../context.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{PRODUCT_CONFIG}from'../../constant/product.js';import{getUserDomain}from'../../constant/domain.js';function a11_0x57d4(_0x21882f,_0x41885d){_0x21882f=_0x21882f-0x1cf;const _0x2fb10a=a11_0x2fb1();let _0x57d4a8=_0x2fb10a[_0x21882f];return _0x57d4a8;}import{CliErrors}from'../../errors.js';import{resolveConfigScope,toScopeFlags}from'../../commands/common/config-policy.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function resolveAuthScopeFlags(_0xc6f08e){const _0x26a270=a11_0x57d4;return toScopeFlags(resolveConfigScope({'explicitGlobal':_0xc6f08e[_0x26a270(0x1ea)]('global'),'explicitProject':_0xc6f08e['bool']('project'),'policy':_0x26a270(0x1e9)}));}const ACCESS_KEY_PATTERN=/^ak_[A-Za-z0-9]{16,}$/,DEVICE_CODE_TTL_MS=0x927c0,POLL_INTERVAL_MS=0xbb8,MAX_POLLS=0xc8,MAX_CONSECUTIVE_NETWORK_ERRORS=0x5;export function generateDeviceCode(){const _0x23a8e6=a11_0x57d4;return crypto[_0x23a8e6(0x1f7)]();}export function buildDeviceAuthUrl(_0x16c19d,_0x375b3d,_0x3747c3=a11_0x1cd5ac(0x212)){const _0x347974=a11_0x1cd5ac;return _0x16c19d+'/device-auth?code='+encodeURIComponent(_0x375b3d)+_0x347974(0x1fa)+encodeURIComponent(_0x3747c3);}export function getDeviceCodePath(){return homedir()+'/'+PRODUCT_CONFIG['homeDirName']+'/.device-auth';}export function readStoredDeviceCode(){const _0x4abd2e=a11_0x1cd5ac,_0x3b1a54=getDeviceCodePath();if(!existsSync(_0x3b1a54))return null;try{const _0x377b84=readFileSync(_0x3b1a54,{'encoding':_0x4abd2e(0x1d5)}),_0x49bf22=JSON[_0x4abd2e(0x1ef)](_0x377b84);if(_0x49bf22&&typeof _0x49bf22[_0x4abd2e(0x1d6)]===_0x4abd2e(0x1fc)&&typeof _0x49bf22[_0x4abd2e(0x217)]===_0x4abd2e(0x1fc)&&(_0x49bf22['scope']===_0x4abd2e(0x1d0)||_0x49bf22['scope']===_0x4abd2e(0x213)))return _0x49bf22;}catch{}return null;}export function writeStoredDeviceCode(_0x2141a7,_0x592cb9){const _0x57af1a=getDeviceCodePath(),_0x299192=dirname(_0x57af1a);!existsSync(_0x299192)&&mkdirSync(_0x299192,{'recursive':!![]});const _0x554e89={'code':_0x2141a7,'createdAt':new Date()['toISOString'](),'scope':_0x592cb9};writeFileSync(_0x57af1a,JSON['stringify'](_0x554e89),{'encoding':'utf8','mode':0x180});}export function deleteStoredDeviceCode(){const _0x23f7b3=getDeviceCodePath();try{unlinkSync(_0x23f7b3);}catch{}}export function isStoredDeviceCodeExpired(_0x3372bf){const _0x1b790e=a11_0x1cd5ac;return Date['now']()-new Date(_0x3372bf[_0x1b790e(0x217)])[_0x1b790e(0x1d1)]()>DEVICE_CODE_TTL_MS;}export async function fetchDeviceToken(_0x2a5df4,_0x3e57d1){const _0x55afcf=a11_0x1cd5ac,_0xa922fa=_0x2a5df4+'/api/device-auth/token',_0x57db7a=new AbortController(),_0x8e1e4=setTimeout(()=>_0x57db7a[_0x55afcf(0x1d2)](),0x2710),_0x5de6ec=await fetch(_0xa922fa,{'method':'POST','headers':{'Content-Type':_0x55afcf(0x1e0)},'body':JSON[_0x55afcf(0x210)]({'code':_0x3e57d1}),'signal':_0x57db7a['signal']});clearTimeout(_0x8e1e4);if(!_0x5de6ec['ok'])throw CliErrors['networkError'](_0x55afcf(0x1ff)+_0x5de6ec[_0x55afcf(0x20e)]);const _0x1a2b31=await _0x5de6ec[_0x55afcf(0x1d9)](),_0x55fe10=_0x1a2b31['data']&&typeof _0x1a2b31['data']==='object'?_0x1a2b31[_0x55afcf(0x211)]:_0x1a2b31;if(!_0x55fe10||typeof _0x55fe10[_0x55afcf(0x20e)]!==_0x55afcf(0x1fc))throw CliErrors['apiError'](_0x55afcf(0x207));return{'status':_0x55fe10['status'],'access_key':typeof _0x55fe10[_0x55afcf(0x20a)]==='string'?_0x55fe10['access_key']:undefined};}export async function pollDeviceToken(_0x56984e,_0x42700e,_0x21f491){const _0x1656ca=a11_0x1cd5ac;let _0x3916db=0x0;for(let _0x17a257=0x0;_0x17a257<MAX_POLLS;_0x17a257++){if(_0x21f491[_0x1656ca(0x208)])throw CliErrors['cancelled'](_0x1656ca(0x1d7));let _0x206786;try{_0x206786=await fetchDeviceToken(_0x56984e,_0x42700e);}catch(_0x54c339){if(_0x54c339 instanceof Error&&_0x54c339['name']===_0x1656ca(0x202))throw CliErrors[_0x1656ca(0x1cf)](_0x1656ca(0x1d7));_0x3916db++;if(_0x3916db>=MAX_CONSECUTIVE_NETWORK_ERRORS)throw CliErrors[_0x1656ca(0x204)]('Device\x20auth\x20API\x20unreachable\x20after\x20multiple\x20retries.');writeCliSideChannelLine(_0x1656ca(0x1f4)+_0x3916db+'/'+MAX_CONSECUTIVE_NETWORK_ERRORS+_0x1656ca(0x1fe)),await sleep(POLL_INTERVAL_MS);continue;}_0x3916db=0x0;if(_0x206786[_0x1656ca(0x20e)]===_0x1656ca(0x1db)){if(!_0x206786[_0x1656ca(0x20a)])throw CliErrors[_0x1656ca(0x1e4)](_0x1656ca(0x1e3));return _0x206786[_0x1656ca(0x20a)];}if(_0x206786['status']==='expired'){deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x201));}const _0x4d1500=(_0x17a257+0x1)*POLL_INTERVAL_MS,_0x3b6527=DEVICE_CODE_TTL_MS-_0x4d1500,_0x2cec0c=Math[_0x1656ca(0x1d3)](_0x3b6527/0xea60),_0x2a65a2=Math[_0x1656ca(0x1d3)](_0x3b6527%0xea60/0x3e8);process[_0x1656ca(0x1f9)]['write'](_0x1656ca(0x1fd)+_0x2cec0c+':'+String(_0x2a65a2)[_0x1656ca(0x1dc)](0x2,'0')+_0x1656ca(0x1f8)),await sleep(POLL_INTERVAL_MS);}deleteStoredDeviceCode();throw CliErrors[_0x1656ca(0x1e5)](_0x1656ca(0x1ed));}function sleep(_0x537002){return new Promise(_0x2af941=>setTimeout(_0x2af941,_0x537002));}export const authDeviceDefinition={'service':'auth','command':a11_0x1cd5ac(0x1f5),'description':a11_0x1cd5ac(0x20b),'risk':a11_0x1cd5ac(0x215),'confirmationDescription':a11_0x1cd5ac(0x1f6),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[{'name':a11_0x1cd5ac(0x1d0),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1da),'default':!![]},{'name':'project','type':a11_0x1cd5ac(0x1df),'description':'Write\x20to\x20project\x20config','default':![]},{'name':a11_0x1cd5ac(0x1de),'type':'string','description':a11_0x1cd5ac(0x1f1),'default':a11_0x1cd5ac(0x212)},{'name':a11_0x1cd5ac(0x1e7),'type':a11_0x1cd5ac(0x1df),'description':a11_0x1cd5ac(0x1ec),'default':![]}],async 'execute'(_0x18776c){const _0x6d696a=a11_0x1cd5ac,_0xd8ba66=resolveAuthScopeFlags(_0x18776c),_0x26aaa8=_0xd8ba66[_0x6d696a(0x1d0)]?_0x6d696a(0x1d0):_0x6d696a(0x213),_0x552393=readScopedConfig(_0xd8ba66);if(_0x552393[_0x6d696a(0x216)])return{'ok':!![],'message':_0x6d696a(0x21a)};const _0x20174a=(_0x18776c['str'](_0x6d696a(0x1de))||_0x6d696a(0x212))[_0x6d696a(0x1fb)](),_0x4d1bba=getUserDomain(),_0x248d1a=readStoredDeviceCode(),_0x40d177=_0x248d1a&&!isStoredDeviceCodeExpired(_0x248d1a)?_0x248d1a[_0x6d696a(0x1d6)]:((()=>{const _0x5c6cbf=generateDeviceCode();return writeStoredDeviceCode(_0x5c6cbf,_0x26aaa8),_0x5c6cbf;})()),_0x23f101=buildDeviceAuthUrl(_0x4d1bba,_0x40d177,_0x20174a);if(_0x18776c[_0x6d696a(0x1ea)]('url-only'))return console[_0x6d696a(0x205)](_0x23f101),{'ok':!![]};writeCliSideChannelLine('Open\x20this\x20URL\x20in\x20your\x20browser\x20to\x20authorize:'),writeCliSideChannelLine(''),writeCliSideChannelLine(_0x23f101),writeCliSideChannelLine(''),writeCliSideChannelLine('The\x20device\x20code\x20is\x20valid\x20for\x2010\x20minutes.');if(_0x18776c[_0x6d696a(0x1d8)])return writeCliSideChannelLine(_0x6d696a(0x1ee)+CLI_BIN_NAME+'\x20auth\x20device'),{'ok':!![],'message':_0x6d696a(0x200)};writeCliSideChannelLine('Waiting\x20for\x20authorization\x20(timeout:\x2010\x20minutes,\x20Ctrl+C\x20to\x20cancel)...');const _0x18db52=new AbortController(),_0x69186d=()=>{const _0x5ba8fc=_0x6d696a;_0x18db52['abort'](),process[_0x5ba8fc(0x1e6)](_0x5ba8fc(0x218),_0x69186d);};process[_0x6d696a(0x1eb)](_0x6d696a(0x218),_0x69186d);let _0x327b02;try{_0x327b02=await pollDeviceToken(_0x4d1bba,_0x40d177,_0x18db52[_0x6d696a(0x20c)]);}finally{process[_0x6d696a(0x1e6)]('SIGINT',_0x69186d);}if(!ACCESS_KEY_PATTERN['test'](_0x327b02))throw CliErrors['apiError'](_0x6d696a(0x1e3));const _0x32f951=readScopedConfig(_0xd8ba66);return _0x32f951['accessKey']=_0x327b02,writeScopedConfig(_0x32f951,_0xd8ba66),deleteStoredDeviceCode(),process[_0x6d696a(0x1f9)][_0x6d696a(0x215)]('\x0a'),writeCliSideChannelLine(_0x6d696a(0x209)+_0x26aaa8+_0x6d696a(0x1dd)),writeCliSideChannelLine(_0x6d696a(0x206)+CLI_BIN_NAME+'\x20auth\x20status'),{'ok':!![],'message':_0x6d696a(0x1f2)};}};function a11_0x2fb1(){const _0x2f5454=['Verify:\x20','Invalid\x20device\x20auth\x20response','aborted','AccessKey\x20saved\x20to\x20','access_key','Authorize\x20with\x20the\x20device-code\x20flow\x20(complete\x20in\x20the\x20browser;\x20no\x20copy-paste\x20required)','signal','456PEmDlX','status','1530uvNZXK','stringify','data','lovrabet-cli','project','1195635Auzush','write','accessKey','createdAt','SIGINT','141070cepQzx','Already\x20authorized.\x20Use\x20`lovrabet\x20auth\x20status`\x20to\x20verify.','cancelled','global','getTime','abort','floor','2EuOimN','utf8','code','Device\x20authorization\x20cancelled.','nonInteractive','json','Write\x20to\x20global\x20config\x20(default)','success','padStart','\x20config.','source','boolean','application/json','986520QurVUo','1109919Mdmoxz','Invalid\x20access_key\x20returned\x20by\x20server.','apiError','validation','removeListener','url-only','2630691hFuzaR','global-default','bool','once','Print\x20URL\x20to\x20stdout\x20and\x20exit\x20(for\x20WorkBuddy\x20integration)','Device\x20authorization\x20timed\x20out\x20after\x2010\x20minutes.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','After\x20authorizing,\x20re-run:\x20','parse','23710jbcicN','App\x20name\x20shown\x20on\x20authorization\x20page\x20(default:\x20lovrabet)','Device\x20authorization\x20successful.','4256xCqrTs','Device\x20auth\x20API\x20error\x20(','device','Starts\x20the\x20device-code\x20login\x20flow.\x20On\x20success,\x20the\x20AccessKey\x20is\x20saved\x20to\x20the\x20selected\x20Lovrabet\x20config.\x20The\x20confirmation\x20UI\x20does\x20not\x20show\x20the\x20device\x20code\x20or\x20secret.','randomUUID','\x20remaining','stderr','&source=','trim','string','\x0dWaiting\x20for\x20authorization...\x20','),\x20retrying...','Device\x20auth\x20API\x20returned\x20HTTP\x20','Device\x20authorization\x20URL\x20printed.\x20Complete\x20authorization\x20in\x20browser,\x20then\x20re-run.','Device\x20code\x20expired.\x20Run\x20`lovrabet\x20auth\x20device`\x20to\x20get\x20a\x20new\x20code.','AbortError','693SVaFdY','networkError','log'];a11_0x2fb1=function(){return _0x2f5454;};return a11_0x2fb1();}
|
|
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)};}};
|