@lovrabet/rabetbase-cli 2.3.10 → 2.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/add.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/remove.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -0
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/update.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.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-apis-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/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/init.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.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/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/save.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.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/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x437a9d,_0x11d062){const _0x38396f=a151_0x15b4,_0xf5005=_0x437a9d();while(!![]){try{const _0x14f842=parseInt(_0x38396f(0x15a))/0x1*(parseInt(_0x38396f(0x136))/0x2)+-parseInt(_0x38396f(0x13f))/0x3*(parseInt(_0x38396f(0x14c))/0x4)+parseInt(_0x38396f(0x133))/0x5*(-parseInt(_0x38396f(0x137))/0x6)+-parseInt(_0x38396f(0x13e))/0x7+-parseInt(_0x38396f(0x144))/0x8+parseInt(_0x38396f(0x146))/0x9*(parseInt(_0x38396f(0x13a))/0xa)+parseInt(_0x38396f(0x130))/0xb*(parseInt(_0x38396f(0x156))/0xc);if(_0x14f842===_0x11d062)break;else _0xf5005['push'](_0xf5005['shift']());}catch(_0x2fea6c){_0xf5005['push'](_0xf5005['shift']());}}}(a151_0x154c,0xb7940));import{readFileSync,existsSync,renameSync}from'node:fs';import{resolve,dirname,basename}from'node:path';import{fileURLToPath}from'node:url';import a151_0x4d493e from'chalk';import{input,confirm}from'@inquirer/prompts';function a151_0x15b4(_0x328c24,_0x24a7c6){_0x328c24=_0x328c24-0x12a;const _0x154ce7=a151_0x154c();let _0x15b403=_0x154ce7[_0x328c24];return _0x15b403;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{logger}from'../../utils/logger.js';import{readRawConfig,getProjectConfigPath,writeConfigFile,NEW_CONFIG_NAME,LEGACY_CONFIG_NAMES}from'../../context.js';import{validateAppcode}from'../../commands/common/validate.js';import{buildCanonicalProjectConfig}from'../../config/schema.js';export async function initConfig(_0x146d76){const _0x521aa9=a151_0x15b4,{appcode:_0x4f4c14,env:_0x35dd08,autoYes:_0x16493c}=_0x146d76,_0x48677c=process[_0x521aa9(0x138)]();if(getProjectConfigPath())throw new Error(_0x521aa9(0x152));let _0x3b3629;for(const _0x173cae of LEGACY_CONFIG_NAMES){const _0x173789=resolve(_0x48677c,_0x173cae);if(existsSync(_0x173789)){_0x3b3629=_0x173789;break;}}if(_0x3b3629){let _0x2cdb70={};try{_0x2cdb70=JSON[_0x521aa9(0x13c)](readFileSync(_0x3b3629,_0x521aa9(0x14d)));}catch{}const _0x544d34=basename(_0x3b3629),_0x56b93a=_0x2cdb70?.['appcode']||_0x2cdb70?.[_0x521aa9(0x12a)];let _0xff5c2a=_0x16493c;!_0x16493c&&(console[_0x521aa9(0x155)](a151_0x4d493e['yellow']('⚠\x20Found\x20legacy\x20configuration\x20file:\x20'+a151_0x4d493e[_0x521aa9(0x12d)](_0x544d34))),_0x56b93a&&console[_0x521aa9(0x155)](a151_0x4d493e[_0x521aa9(0x148)]('\x20\x20appcode:\x20'+_0x56b93a)),_0xff5c2a=await confirm({'message':_0x521aa9(0x12f)+a151_0x4d493e[_0x521aa9(0x12d)](_0x521aa9(0x149))+_0x521aa9(0x135),'default':!![]}));if(!_0xff5c2a){console[_0x521aa9(0x155)]('Migration\x20cancelled.\x20Run\x20`'+CLI_BIN_NAME+_0x521aa9(0x158));return;}const _0xecfc73=resolve(_0x48677c,NEW_CONFIG_NAME),_0x409195=getCliVersionFromPkg(),_0x4a97da=readRawConfig(),_0x18182f=_0x4f4c14||(typeof _0x2cdb70?.['appcode']===_0x521aa9(0x145)?_0x2cdb70[_0x521aa9(0x13d)]:undefined)||(typeof _0x2cdb70?.[_0x521aa9(0x12a)]===_0x521aa9(0x145)?_0x2cdb70[_0x521aa9(0x12a)]:undefined)||await askAppcode(),_0x26c0db=typeof _0x2cdb70?.[_0x521aa9(0x159)]===_0x521aa9(0x145)?_0x2cdb70[_0x521aa9(0x159)]:typeof _0x4a97da[_0x521aa9(0x159)]===_0x521aa9(0x145)?_0x4a97da['env']:_0x521aa9(0x132),_0xeed90e=buildCanonicalProjectConfig({..._0x4a97da,..._0x2cdb70},{'appCodes':[_0x18182f],'env':_0x26c0db,'metadata':{'version':_0x409195,'migratedAt':new Date()[_0x521aa9(0x153)](),'migratedFrom':_0x3b3629}});writeConfigFile(_0xecfc73,_0xeed90e);const _0x430d38=_0x3b3629+_0x521aa9(0x150);renameSync(_0x3b3629,_0x430d38),logger[_0x521aa9(0x13b)](_0x48677c),logger[_0x521aa9(0x15b)]('init','从旧配置文件升级成功',{'from':_0x3b3629,'to':_0xecfc73,'appcode':_0x18182f,'env':_0xeed90e['env']}),console['log'](a151_0x4d493e[_0x521aa9(0x14e)](_0x521aa9(0x143)+_0x544d34+_0x521aa9(0x139))),console[_0x521aa9(0x155)](a151_0x4d493e['cyan'](_0x521aa9(0x12b)+Object['keys'](_0xeed90e[_0x521aa9(0x14f)]||{})[_0x521aa9(0x154)](',\x20'))),console[_0x521aa9(0x155)](a151_0x4d493e[_0x521aa9(0x148)](_0x521aa9(0x14b)+_0xeed90e[_0x521aa9(0x134)])),console[_0x521aa9(0x155)](a151_0x4d493e['gray'](_0x521aa9(0x12c)+_0x544d34+'.bak'));return;}const _0x26810d=_0x4f4c14||await askAppcode(),_0x18108f=resolve(_0x48677c,NEW_CONFIG_NAME),_0x16aefb=getCliVersionFromPkg(),_0x17e303=readRawConfig(),_0x45c7d1=typeof _0x17e303[_0x521aa9(0x159)]===_0x521aa9(0x145)?_0x17e303[_0x521aa9(0x159)]:undefined,_0x28993d=buildCanonicalProjectConfig({},{'appCodes':[_0x26810d],'env':_0x35dd08||_0x45c7d1||_0x521aa9(0x132),'metadata':{'version':_0x16aefb,'createdAt':new Date()[_0x521aa9(0x153)]()}});writeConfigFile(_0x18108f,_0x28993d),logger[_0x521aa9(0x13b)](_0x48677c),logger['info'](_0x521aa9(0x140),'初始化项目配置文件成功',{'appcode':_0x26810d,'env':_0x28993d[_0x521aa9(0x159)],'version':_0x28993d[_0x521aa9(0x147)],'configPath':_0x18108f}),console[_0x521aa9(0x155)](a151_0x4d493e[_0x521aa9(0x14e)]('✓\x20Successfully\x20initialized\x20.rabetbase.json\x20in\x20current\x20directory')),console[_0x521aa9(0x155)](a151_0x4d493e[_0x521aa9(0x148)](_0x521aa9(0x12b)+Object[_0x521aa9(0x131)](_0x28993d[_0x521aa9(0x14f)]||{})[_0x521aa9(0x154)](',\x20'))),console[_0x521aa9(0x155)](a151_0x4d493e[_0x521aa9(0x148)](_0x521aa9(0x14b)+_0x28993d[_0x521aa9(0x134)])),console[_0x521aa9(0x155)](_0x521aa9(0x12e)+CLI_BIN_NAME+'\x20api\x20generate\x27\x20and\x20\x27'+CLI_BIN_NAME+_0x521aa9(0x142));}function askAppcode(){const _0x28f4eb=a151_0x15b4;return input({'message':_0x28f4eb(0x14a),'validate':_0x55f69a=>{const _0x2f990c=_0x28f4eb;if(!_0x55f69a[_0x2f990c(0x151)]())return'App\x20Code\x20cannot\x20be\x20empty';const {valid:_0x201ff9,message:_0x28d186}=validateAppcode(_0x55f69a['trim']());return _0x201ff9||_0x28d186||'Invalid\x20App\x20Code';}});}function a151_0x154c(){const _0x146734=['info','app','\x20\x20Apps:\x20','\x20\x20Old\x20file\x20backed\x20up\x20as\x20','bold','\x20\x20You\x20can\x20now\x20use\x20commands\x20like\x20\x27','Upgrade\x20it\x20to\x20','21859651dPYYSK','keys','production','2243510jBsgbW','defaultApp','?\x20(Old\x20file\x20→\x20*.bak)','1629328sgdqmw','12nyiYuZ','cwd','\x20→\x20.rabetbase.json','2095430UKdIUc','setLogPath','parse','appcode','8522283dNczCv','3qhvWtw','init','package.json','\x20api\x20pull\x27','✓\x20Upgraded\x20','5456888iHaXTB','string','9HdgFzn','version','cyan','.rabetbase.json','Please\x20enter\x20App\x20Code:','\x20\x20Default:\x20','5799076WTmlOM','utf8','green','apps','.bak','trim','.rabetbase.json\x20already\x20exists\x20in\x20current\x20directory.\x20Nothing\x20to\x20do.','toLocaleString','join','log','24aGjEco','1.0.0','\x20workspace\x20init`\x20to\x20start\x20fresh.','env','1CaGGFV'];a151_0x154c=function(){return _0x146734;};return a151_0x154c();}function getCliVersionFromPkg(){const _0x2d25b8=a151_0x15b4;try{const _0xdbaab=fileURLToPath(import.meta.url),_0x496f8a=resolve(dirname(_0xdbaab),'../..'),_0x1e92a7=JSON['parse'](readFileSync(resolve(_0x496f8a,_0x2d25b8(0x141)),_0x2d25b8(0x14d)));return _0x1e92a7[_0x2d25b8(0x147)]||_0x2d25b8(0x157);}catch{return _0x2d25b8(0x157);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x20de5e,_0x452392){const _0x5476e7=a151_0x2b86,_0x1c4b87=_0x20de5e();while(!![]){try{const _0x2837d0=parseInt(_0x5476e7(0x1b3))/0x1+parseInt(_0x5476e7(0x1a5))/0x2+parseInt(_0x5476e7(0x1cd))/0x3+parseInt(_0x5476e7(0x187))/0x4*(parseInt(_0x5476e7(0x1e1))/0x5)+parseInt(_0x5476e7(0x1fc))/0x6*(-parseInt(_0x5476e7(0x189))/0x7)+-parseInt(_0x5476e7(0x1dc))/0x8+parseInt(_0x5476e7(0x1ca))/0x9;if(_0x2837d0===_0x452392)break;else _0x1c4b87['push'](_0x1c4b87['shift']());}catch(_0x1dc3d0){_0x1c4b87['push'](_0x1c4b87['shift']());}}}(a151_0x2c88,0x6180d));import a151_0x5e5f3f from'chalk';import a151_0x583159 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES['filter'](_0x2f475b=>_0x2f475b!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x3ba21e){const _0x7ef930=a151_0x2b86,_0x36d41a=[];for(const _0xcaa5b4 of Object[_0x7ef930(0x1f4)](CORE_IDE_CONFIGS)){if(_0xcaa5b4[_0x7ef930(0x1db)])for(const _0x27b805 of _0xcaa5b4[_0x7ef930(0x1db)]){_0x36d41a[_0x7ef930(0x1f6)](resolve(_0x3ba21e,_0x27b805[_0x7ef930(0x196)]));}}return _0x36d41a;}function analyse(_0x442a5b){const _0x25baee=a151_0x2b86;let _0x1d1db2=null;const _0x34c92e=resolve(_0x442a5b,NEW_CONFIG_NAME),_0x3b12d1=existsSync(_0x34c92e);for(const _0x171cc6 of LEGACY_CONFIG_NAMES){const _0x46a87e=resolve(_0x442a5b,_0x171cc6);if(existsSync(_0x46a87e)){const _0x330bb5=readConfigFile(_0x46a87e),_0x187e0e=Object[_0x25baee(0x1a7)](_0x330bb5)[_0x25baee(0x186)](_0x4cab0b=>typeof _0x330bb5[_0x4cab0b]!=='undefined');_0x1d1db2={'oldPath':_0x46a87e,'hasNewConfig':_0x3b12d1,'fields':_0x187e0e};break;}}const _0x1ffacb=[],_0x526d6b=resolve(_0x442a5b,'.lovrabet');if(existsSync(_0x526d6b))_0x1ffacb[_0x25baee(0x1f6)](_0x526d6b);const _0x2f9a2d=resolve(_0x442a5b,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x2f9a2d))_0x1ffacb[_0x25baee(0x1f6)](_0x2f9a2d);const _0x2ec19d=resolve(_0x442a5b,_0x25baee(0x1df));if(existsSync(_0x2ec19d))_0x1ffacb[_0x25baee(0x1f6)](_0x2ec19d);for(const _0x555da9 of collectIdeSkillFiles(_0x442a5b)){if(existsSync(_0x555da9))_0x1ffacb[_0x25baee(0x1f6)](_0x555da9);}let _0x515a46=null;const _0x44be61=resolve(_0x442a5b,'.cursor/mcp.json');if(existsSync(_0x44be61))try{const _0x16a214=JSON[_0x25baee(0x1c2)](readFileSync(_0x44be61,'utf8'));if(_0x16a214?.[_0x25baee(0x1bd)]&&typeof _0x16a214[_0x25baee(0x1bd)]===_0x25baee(0x1b6)){const _0x40a4b6=[];for(const [_0x33fea3,_0x148772]of Object[_0x25baee(0x1ec)](_0x16a214[_0x25baee(0x1bd)])){const _0x12de74=_0x148772;_0x12de74?.[_0x25baee(0x1e4)]&&Array['isArray'](_0x12de74[_0x25baee(0x1e4)])&&_0x12de74[_0x25baee(0x1e4)][_0x25baee(0x18c)](_0x1aeb42=>typeof _0x1aeb42==='string'&&_0x1aeb42[_0x25baee(0x1f2)]('@lovrabet/dataset-mcp-server'))&&_0x40a4b6[_0x25baee(0x1f6)](_0x33fea3);}_0x40a4b6[_0x25baee(0x1cb)]>0x0&&(_0x515a46={'path':_0x44be61,'keys':_0x40a4b6});}}catch{}const _0x343a34=_0x1ffacb[_0x25baee(0x1cb)]>0x0||_0x1d1db2!==null;let _0x3314e7=null;const _0x471497=resolve(_0x442a5b,_0x25baee(0x1c7));if(existsSync(_0x471497))try{const _0x2b62b7=JSON['parse'](readFileSync(_0x471497,'utf8'));for(const _0x3c969e of[_0x25baee(0x1d5),_0x25baee(0x1b2)]){const _0x4ab8cc=_0x2b62b7?.[_0x3c969e]?.[_0x25baee(0x19a)];if(typeof _0x4ab8cc===_0x25baee(0x1fa)){_0x4ab8cc!==_0x25baee(0x1e5)&&(_0x3314e7={'pkgPath':_0x471497,'currentVersion':_0x4ab8cc,'field':_0x3c969e});break;}}}catch{}return{'configMigration':_0x1d1db2,'oldArtifacts':_0x1ffacb,'oldMcpConfig':_0x515a46,'needsSkillSwap':_0x343a34,'sdkUpgrade':_0x3314e7};}function printReport(_0x4279b5){const _0x2c9872=a151_0x2b86,{configMigration:_0x15a0ff,oldArtifacts:_0x20faec,oldMcpConfig:_0x2dcf76,needsSkillSwap:_0x1f12b9}=_0x4279b5;console[_0x2c9872(0x1ac)](''),console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x1dd)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x2c9872(0x1ac)]('');_0x15a0ff?(console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1c3))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x15a0ff[_0x2c9872(0x1a8)]))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1d1)+(_0x15a0ff[_0x2c9872(0x193)]?a151_0x5e5f3f[_0x2c9872(0x1af)](_0x2c9872(0x1e6)):a151_0x5e5f3f[_0x2c9872(0x1f9)](_0x2c9872(0x1b7)))),console['log']('\x20\x20Fields\x20to\x20migrate:\x20'+_0x15a0ff[_0x2c9872(0x1c5)]['join'](',\x20')),console[_0x2c9872(0x1ac)](_0x2c9872(0x1bb))):console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1c3))+'\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1f9)]('no\x20legacy\x20config\x20found'));console[_0x2c9872(0x1ac)]('');if(_0x20faec['length']>0x0){console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x18b)));for(const _0x43ab53 of _0x20faec){console[_0x2c9872(0x1ac)]('\x20\x20'+a151_0x5e5f3f['red'](_0x2c9872(0x197))+'\x20\x20'+_0x43ab53);}console[_0x2c9872(0x1ac)](_0x2c9872(0x1e7));}else console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x18b))+'\x20\x20'+a151_0x5e5f3f['gray'](_0x2c9872(0x1ea)));console['log']('');_0x2dcf76?(console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x19b))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x2dcf76[_0x2c9872(0x196)])+'\x20→\x20keys:\x20'+_0x2dcf76[_0x2c9872(0x1a7)][_0x2c9872(0x1ce)](',\x20'))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1e0))):console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x19b))+'\x20\x20'+a151_0x5e5f3f['gray']('no\x20legacy\x20entry'));console[_0x2c9872(0x1ac)](''),console[_0x2c9872(0x1ac)](a151_0x5e5f3f[_0x2c9872(0x188)]('Skill\x20swap:')+('\x20\x20'+(_0x1f12b9?a151_0x5e5f3f['yellow'](_0x2c9872(0x1e9)):a151_0x5e5f3f['green']('not\x20needed'))));_0x1f12b9&&console[_0x2c9872(0x1ac)](_0x2c9872(0x1eb)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x2c9872(0x1ac)]('');if(_0x4279b5[_0x2c9872(0x191)]){const {currentVersion:_0x34f5c5,field:_0x5680ae,pkgPath:_0xc91be1}=_0x4279b5['sdkUpgrade'];console['log'](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1a1))+('\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0xc91be1))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1b1)+_0x5680ae+':\x20'+a151_0x5e5f3f[_0x2c9872(0x1e3)](_0x34f5c5)+_0x2c9872(0x1b0)+a151_0x5e5f3f['green'](_0x2c9872(0x1e5))),console[_0x2c9872(0x1ac)](_0x2c9872(0x1fd));}else console['log'](a151_0x5e5f3f[_0x2c9872(0x188)](_0x2c9872(0x1a1))+'\x20\x20'+a151_0x5e5f3f[_0x2c9872(0x1f9)]('not\x20found\x20or\x20already\x20at\x20latest'));console[_0x2c9872(0x1ac)]('');}function execConfigMigration(_0x360bb4,_0x31ea6d){const _0x13387a=a151_0x2b86,{configMigration:_0x336b6c}=_0x360bb4;if(!_0x336b6c?.[_0x13387a(0x1a8)])return{'step':0x1,'label':_0x13387a(0x195),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x2d179e=readConfigFile(_0x336b6c[_0x13387a(0x1a8)]),_0x2c54df=resolve(_0x31ea6d,NEW_CONFIG_NAME),_0x533bcd=_0x336b6c[_0x13387a(0x193)]?readConfigFile(_0x2c54df):{};for(const [_0x200fad,_0x13cd11]of Object[_0x13387a(0x1ec)](_0x2d179e)){!(_0x200fad in _0x533bcd)&&(_0x533bcd[_0x200fad]=_0x13cd11);}writeConfigFile(_0x2c54df,_0x533bcd);const _0x25886f=_0x336b6c[_0x13387a(0x1a8)]+'.bak';return renameSync(_0x336b6c['oldPath'],_0x25886f),{'step':0x1,'label':_0x13387a(0x195),'ok':!![],'detail':_0x336b6c[_0x13387a(0x1a8)]+_0x13387a(0x1b0)+_0x2c54df+'\x20(backup:\x20'+_0x25886f+')'};}function execRemoveOldArtifacts(_0x438a01){const _0x428de9=a151_0x2b86,_0x442fd3=[];for(const _0x52b3b0 of _0x438a01){try{if(!existsSync(_0x52b3b0))continue;const _0x74679c=tryStat(_0x52b3b0);_0x74679c?.[_0x428de9(0x1ba)]()?rmSync(_0x52b3b0,{'recursive':!![],'force':!![]}):unlinkSync(_0x52b3b0);}catch(_0x3c053d){_0x442fd3[_0x428de9(0x1f6)](_0x52b3b0+':\x20'+_0x3c053d[_0x428de9(0x1f1)]);}}return{'step':0x3,'label':'Remove\x20legacy\x20artifacts','ok':_0x442fd3['length']===0x0,'detail':_0x442fd3['length']>0x0?_0x438a01['length']-_0x442fd3[_0x428de9(0x1cb)]+'/'+_0x438a01[_0x428de9(0x1cb)]+_0x428de9(0x1ab)+_0x442fd3[_0x428de9(0x1ce)](';\x20')+')':_0x438a01['length']+_0x428de9(0x1c1)};}function execCleanMcp(_0x256684){const _0x44439f=a151_0x2b86;if(!_0x256684[_0x44439f(0x1b9)])return{'step':0x4,'label':_0x44439f(0x1ad),'ok':!![],'detail':_0x44439f(0x1fe)};try{const _0xb3fa47=readFileSync(_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)],_0x44439f(0x1cf)),_0x530379=JSON[_0x44439f(0x1c2)](_0xb3fa47);if(_0x530379?.[_0x44439f(0x1bd)]&&typeof _0x530379[_0x44439f(0x1bd)]===_0x44439f(0x1b6)){const _0x19a249=[];for(const [_0x169cc7,_0x55c8c3]of Object[_0x44439f(0x1ec)](_0x530379[_0x44439f(0x1bd)])){_0x55c8c3?.['args']&&Array[_0x44439f(0x1bc)](_0x55c8c3[_0x44439f(0x1e4)])&&_0x55c8c3[_0x44439f(0x1e4)]['some'](_0x9c5eb3=>typeof _0x9c5eb3===_0x44439f(0x1fa)&&_0x9c5eb3[_0x44439f(0x1f2)](_0x44439f(0x1e2)))&&_0x19a249['push'](_0x169cc7);}for(const _0x534045 of _0x19a249){delete _0x530379['mcpServers'][_0x534045];}return _0x19a249[_0x44439f(0x1cb)]>0x0&&writeFileSync(_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)],JSON['stringify'](_0x530379,null,0x2)+'\x0a',_0x44439f(0x1cf)),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':'removed\x20'+_0x19a249[_0x44439f(0x1ce)](',\x20')+_0x44439f(0x1f8)+_0x256684[_0x44439f(0x1b9)][_0x44439f(0x196)]};}return{'step':0x4,'label':_0x44439f(0x1ad),'ok':!![],'detail':_0x44439f(0x1f5)};}catch(_0x34a139){return{'step':0x4,'label':_0x44439f(0x1ad),'ok':![],'detail':_0x34a139[_0x44439f(0x1f1)]};}}function execSkillsRemove(_0x481329,_0x5e61de){const _0xe7151=a151_0x2b86,_0x593ae0=runNpxSkillsRemove(_0x481329,{'stdio':_0xe7151(0x1ef),'yes':_0x5e61de});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x593ae0['ok'],'detail':_0x593ae0['ok']?_0xe7151(0x19d):_0x593ae0[_0xe7151(0x1bf)]??_0xe7151(0x1d3)+_0x593ae0[_0xe7151(0x1c4)]};}function execSkillsAdd(_0x586d33,_0x4d1efb){const _0x12439d=a151_0x2b86,_0x5c18b6=runNpxSkillsAddGlobal(_0x586d33,_0x12439d(0x19f),{'stdio':_0x12439d(0x1ef),'yes':_0x4d1efb});return{'step':0x6,'label':_0x12439d(0x1b4),'ok':_0x5c18b6['ok'],'detail':_0x5c18b6['ok']?_0x12439d(0x19c):_0x5c18b6[_0x12439d(0x1bf)]??_0x12439d(0x1d3)+_0x5c18b6[_0x12439d(0x1c4)]};}function execUpgradeSdk(_0x2eaa9b){const _0xd3d3a7=a151_0x2b86;if(!_0x2eaa9b[_0xd3d3a7(0x191)])return{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':!![],'detail':_0xd3d3a7(0x1d6)};const {pkgPath:_0x4edb75,currentVersion:_0x35b4fa,field:_0x3952e8}=_0x2eaa9b[_0xd3d3a7(0x191)];try{const _0x18fc71=readFileSync(_0x4edb75,'utf8'),_0x50f6a8=JSON[_0xd3d3a7(0x1c2)](_0x18fc71);return _0x50f6a8[_0x3952e8][_0xd3d3a7(0x19a)]=_0xd3d3a7(0x1e5),writeFileSync(_0x4edb75,JSON[_0xd3d3a7(0x190)](_0x50f6a8,null,0x2)+'\x0a',_0xd3d3a7(0x1cf)),{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':!![],'detail':_0x3952e8+_0xd3d3a7(0x1d2)+_0x35b4fa+'\x20→\x20latest'};}catch(_0x2295f6){return{'step':0x7,'label':_0xd3d3a7(0x18d),'ok':![],'detail':_0x2295f6[_0xd3d3a7(0x1f1)]};}}function tryStat(_0x945a6b){try{return statSync(_0x945a6b);}catch{return undefined;}}function a151_0x2b86(_0x630fa1,_0x133eaf){_0x630fa1=_0x630fa1-0x186;const _0x2c88af=a151_0x2c88();let _0x2b865f=_0x2c88af[_0x630fa1];return _0x2b865f;}function printSummary(_0x49f792){const _0x582423=a151_0x2b86;console[_0x582423(0x1ac)](''),console[_0x582423(0x1ac)](a151_0x5e5f3f[_0x582423(0x1dd)](_0x582423(0x1a4))),console[_0x582423(0x1ac)]('');for(const _0x42c96 of _0x49f792){const _0x502f0a=_0x42c96['ok']?a151_0x5e5f3f[_0x582423(0x1af)]('OK'):a151_0x5e5f3f[_0x582423(0x1cc)](_0x582423(0x1aa));console['log']('\x20\x20'+_0x502f0a+_0x582423(0x1ae)+_0x42c96['step']+':\x20'+_0x42c96[_0x582423(0x1d0)]);if(_0x42c96[_0x582423(0x18a)])console[_0x582423(0x1ac)](_0x582423(0x1c8)+a151_0x5e5f3f[_0x582423(0x1f9)](_0x42c96[_0x582423(0x18a)]));}console[_0x582423(0x1ac)]('');}export async function upgradeApp(_0x5aa046,_0x4f8243){const _0x1500d6=a151_0x2b86,_0x2bb805=process[_0x1500d6(0x1f0)](),_0x201f44=analyse(_0x2bb805),_0x374e23=!_0x201f44[_0x1500d6(0x18e)]&&_0x201f44[_0x1500d6(0x1a0)][_0x1500d6(0x1cb)]===0x0&&!_0x201f44['oldMcpConfig']&&!_0x201f44['needsSkillSwap']&&!_0x201f44[_0x1500d6(0x191)];if(_0x374e23){console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1af)](_0x1500d6(0x1a6)));return;}printReport(_0x201f44);const _0x5564d0=!!(_0x4f8243[_0x1500d6(0x1d9)]||_0x4f8243['Y']||_0x5aa046);if(!_0x5564d0)try{const _0x45edd5=await askConfirm(_0x1500d6(0x1d4));if(!_0x45edd5){console[_0x1500d6(0x1ac)](a151_0x5e5f3f['gray']('Upgrade\x20cancelled.'));return;}}catch(_0x1ea618){if(_0x1ea618?.[_0x1500d6(0x1f1)]===_0x1500d6(0x192)){console[_0x1500d6(0x1ac)](a151_0x5e5f3f['gray'](_0x1500d6(0x1f7)));return;}throw _0x1ea618;}const _0x41061b=[],_0x292956=a151_0x583159({'text':_0x1500d6(0x1d7),'color':_0x1500d6(0x188)})['start'](),_0x98d800=execConfigMigration(_0x201f44,_0x2bb805);_0x41061b[_0x1500d6(0x1f6)](_0x98d800),_0x292956[_0x98d800['ok']?_0x1500d6(0x1de):'fail'](_0x1500d6(0x1ff)+(_0x98d800[_0x1500d6(0x18a)]??(_0x98d800['ok']?_0x1500d6(0x1a2):'failed')));const _0x267815=resolve(_0x2bb805,'.lovrabet'),_0x28482a=a151_0x583159({'text':_0x1500d6(0x1a9),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)]();if(existsSync(_0x267815))try{rmSync(_0x267815,{'recursive':!![],'force':!![]}),_0x28482a[_0x1500d6(0x1de)](_0x1500d6(0x1c0)),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':_0x1500d6(0x1f3),'ok':!![]});}catch(_0x181fc6){_0x28482a[_0x1500d6(0x200)]('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x181fc6['message']),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':![],'detail':_0x181fc6[_0x1500d6(0x1f1)]});}else _0x28482a['info'](_0x1500d6(0x18f)),_0x41061b[_0x1500d6(0x1f6)]({'step':0x2,'label':_0x1500d6(0x1f3),'ok':!![],'detail':_0x1500d6(0x1fe)});const _0x511a6f=a151_0x583159({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x32b0f6=execRemoveOldArtifacts(_0x201f44['oldArtifacts']);_0x41061b['push'](_0x32b0f6),_0x511a6f[_0x32b0f6['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x1da)+(_0x32b0f6['detail']??(_0x32b0f6['ok']?_0x1500d6(0x1a2):'failed')));const _0xfef491=a151_0x583159({'text':_0x1500d6(0x1ed),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x1b179f=execCleanMcp(_0x201f44);_0x41061b[_0x1500d6(0x1f6)](_0x1b179f),_0xfef491[_0x1b179f['ok']?'succeed':'fail'](_0x1500d6(0x19e)+(_0x1b179f[_0x1500d6(0x18a)]??(_0x1b179f['ok']?'done':_0x1500d6(0x1fb))));const _0x4ba804=a151_0x583159({'text':_0x1500d6(0x1b8),'color':_0x1500d6(0x188)})[_0x1500d6(0x1d8)](),_0x44c26d=execSkillsRemove(_0x2bb805,_0x5564d0);_0x41061b[_0x1500d6(0x1f6)](_0x44c26d),_0x4ba804[_0x44c26d['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x198)+(_0x44c26d['detail']??(_0x44c26d['ok']?_0x1500d6(0x1a2):_0x1500d6(0x1fb))));const _0x46b964=a151_0x583159({'text':_0x1500d6(0x1ee),'color':_0x1500d6(0x188)})['start'](),_0x1a1c36=execSkillsAdd(_0x2bb805,_0x5564d0);_0x41061b['push'](_0x1a1c36),_0x46b964[_0x1a1c36['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)](_0x1500d6(0x1a3)+(_0x1a1c36[_0x1500d6(0x18a)]??(_0x1a1c36['ok']?_0x1500d6(0x1a2):'failed')));const _0x9ef819=a151_0x583159({'text':'Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','color':_0x1500d6(0x188)})['start'](),_0x3f28df=execUpgradeSdk(_0x201f44);_0x41061b['push'](_0x3f28df),_0x9ef819[_0x3f28df['ok']?_0x1500d6(0x1de):_0x1500d6(0x200)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x3f28df['detail']??(_0x3f28df['ok']?_0x1500d6(0x1a2):_0x1500d6(0x1fb)))),printSummary(_0x41061b);const _0x3ef786=_0x41061b['some'](_0x59ae85=>!_0x59ae85['ok']);_0x3ef786?console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1e3)](_0x1500d6(0x1c6))):console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1af)](_0x1500d6(0x1e8))),_0x3f28df['ok']&&_0x201f44[_0x1500d6(0x191)]&&(console[_0x1500d6(0x1ac)](''),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1dd)][_0x1500d6(0x188)](_0x1500d6(0x1b5))),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x188)](_0x1500d6(0x199))),console[_0x1500d6(0x1ac)](''),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1c9)](_0x1500d6(0x194))),console[_0x1500d6(0x1ac)](a151_0x5e5f3f['white']('\x20\x20#\x20or')),console[_0x1500d6(0x1ac)](a151_0x5e5f3f[_0x1500d6(0x1c9)](_0x1500d6(0x1be))),console['log'](''));}function a151_0x2c88(){const _0x1ff135=['cyan','282212MzAMeS','detail','Legacy\x20artifacts:','some','Upgrade\x20@lovrabet/sdk','configMigration','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','stringify','sdkUpgrade','CANCEL','hasNewConfig','\x20\x20npm\x20install','Config\x20migration','path','FOUND','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','@lovrabet/sdk','MCP\x20config:','lovrabet/rabetbase\x20installed\x20globally','lovrabet/lovrabet-skill\x20removed','Step\x204/7:\x20MCP\x20config\x20—\x20','lovrabet/rabetbase','oldArtifacts','@lovrabet/sdk:','done','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','===\x20Upgrade\x20Summary\x20===','270304NbGAtT','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','keys','oldPath','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','FAIL','\x20removed\x20(','log','Clean\x20MCP\x20config','\x20\x20Step\x20','green','\x20→\x20','\x20\x20Current\x20version\x20in\x20','devDependencies','491570WxVxXz','Install\x20new\x20skill','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','object','not\x20found\x20(will\x20create)','Step\x205/7:\x20Removing\x20old\x20skill...','oldMcpConfig','isDirectory','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','isArray','mcpServers','\x20\x20bun\x20install','error','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20removed','parse','Config\x20file:','status','fields','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','package.json','\x20\x20\x20\x20\x20\x20\x20','white','2327787HAOGxf','length','red','957591hgSFqG','join','utf8','label','\x20\x20New\x20config\x20(.rabetbase.json):\x20','[\x22@lovrabet/sdk\x22]:\x20','exit\x20','Proceed\x20with\x20upgrade?','dependencies','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','Step\x201/7:\x20Migrating\x20config...','start','yes','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','files','5787464mshMrz','bold','succeed','.claude/skills/lovrabet','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','220nxKIFE','@lovrabet/dataset-mcp-server','yellow','args','latest','already\x20exists\x20(will\x20merge)','\x20\x20Action:\x20delete','Upgrade\x20completed\x20successfully!','needed','none\x20found','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','entries','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Step\x206/7:\x20Installing\x20new\x20skill...','inherit','cwd','message','includes','Remove\x20.lovrabet/','values','no\x20matching\x20entry\x20found','push','Upgrade\x20cancelled.','\x20from\x20','gray','string','failed','24txnHkU','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','skipped','Step\x201/7:\x20Config\x20migration\x20—\x20','fail','filter','7228klchTL'];a151_0x2c88=function(){return _0x1ff135;};return a151_0x2c88();}
|
|
1
|
+
const a152_0x1dde9b=a152_0xf737;(function(_0x4fb01f,_0x902457){const _0x280c96=a152_0xf737,_0x56d35c=_0x4fb01f();while(!![]){try{const _0xeed59e=-parseInt(_0x280c96(0x20a))/0x1*(parseInt(_0x280c96(0x1c8))/0x2)+-parseInt(_0x280c96(0x1f3))/0x3*(-parseInt(_0x280c96(0x1fd))/0x4)+-parseInt(_0x280c96(0x216))/0x5+-parseInt(_0x280c96(0x1e7))/0x6*(parseInt(_0x280c96(0x220))/0x7)+parseInt(_0x280c96(0x213))/0x8+-parseInt(_0x280c96(0x20b))/0x9+parseInt(_0x280c96(0x20c))/0xa*(parseInt(_0x280c96(0x1fc))/0xb);if(_0xeed59e===_0x902457)break;else _0x56d35c['push'](_0x56d35c['shift']());}catch(_0x204681){_0x56d35c['push'](_0x56d35c['shift']());}}}(a152_0x1050,0x3cdc9));import a152_0x4508f0 from'chalk';import a152_0xa7d67f from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{CONFIG_NAMES,NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a152_0x1dde9b(0x1b7)](_0x198e21=>_0x198e21!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x23e052){const _0xb4e982=a152_0x1dde9b,_0x56cabc=[];for(const _0x4bb9c3 of Object[_0xb4e982(0x1fa)](CORE_IDE_CONFIGS)){if(_0x4bb9c3[_0xb4e982(0x22a)])for(const _0x1094c1 of _0x4bb9c3['files']){_0x56cabc[_0xb4e982(0x1ff)](resolve(_0x23e052,_0x1094c1[_0xb4e982(0x1cf)]));}}return _0x56cabc;}function analyse(_0x4e7ab1){const _0x3b7fd4=a152_0x1dde9b;let _0x135ce7=null;const _0x8eded0=resolve(_0x4e7ab1,NEW_CONFIG_NAME),_0x5996d2=existsSync(_0x8eded0);for(const _0x836a41 of LEGACY_CONFIG_NAMES){const _0x37765c=resolve(_0x4e7ab1,_0x836a41);if(existsSync(_0x37765c)){const _0x4f354e=readConfigFile(_0x37765c),_0x4e866e=Object[_0x3b7fd4(0x219)](_0x4f354e)['filter'](_0x523d31=>typeof _0x4f354e[_0x523d31]!==_0x3b7fd4(0x1bc));_0x135ce7={'oldPath':_0x37765c,'hasNewConfig':_0x5996d2,'fields':_0x4e866e};break;}}const _0x143b31=[],_0x13b884=resolve(_0x4e7ab1,'.lovrabet');if(existsSync(_0x13b884))_0x143b31['push'](_0x13b884);const _0x317ada=resolve(_0x4e7ab1,_0x3b7fd4(0x1ea));if(existsSync(_0x317ada))_0x143b31[_0x3b7fd4(0x1ff)](_0x317ada);const _0x41e95c=resolve(_0x4e7ab1,'.claude/skills/lovrabet');if(existsSync(_0x41e95c))_0x143b31[_0x3b7fd4(0x1ff)](_0x41e95c);for(const _0x34df76 of collectIdeSkillFiles(_0x4e7ab1)){if(existsSync(_0x34df76))_0x143b31[_0x3b7fd4(0x1ff)](_0x34df76);}let _0xd8843c=null;const _0x4c503d=resolve(_0x4e7ab1,_0x3b7fd4(0x21d));if(existsSync(_0x4c503d))try{const _0x30b021=JSON[_0x3b7fd4(0x211)](readFileSync(_0x4c503d,_0x3b7fd4(0x1c1)));if(_0x30b021?.[_0x3b7fd4(0x1e6)]&&typeof _0x30b021[_0x3b7fd4(0x1e6)]===_0x3b7fd4(0x1f8)){const _0x4a9173=[];for(const [_0xb34950,_0x379951]of Object[_0x3b7fd4(0x22d)](_0x30b021[_0x3b7fd4(0x1e6)])){const _0x206290=_0x379951;_0x206290?.[_0x3b7fd4(0x214)]&&Array[_0x3b7fd4(0x1c9)](_0x206290[_0x3b7fd4(0x214)])&&_0x206290[_0x3b7fd4(0x214)][_0x3b7fd4(0x20f)](_0x27bbaa=>typeof _0x27bbaa===_0x3b7fd4(0x1c6)&&_0x27bbaa[_0x3b7fd4(0x228)](_0x3b7fd4(0x1c2)))&&_0x4a9173[_0x3b7fd4(0x1ff)](_0xb34950);}_0x4a9173[_0x3b7fd4(0x201)]>0x0&&(_0xd8843c={'path':_0x4c503d,'keys':_0x4a9173});}}catch{}const _0x4f153c=_0x143b31[_0x3b7fd4(0x201)]>0x0||_0x135ce7!==null;let _0x5025a0=null;const _0x190853=resolve(_0x4e7ab1,'package.json');if(existsSync(_0x190853))try{const _0x23304d=JSON[_0x3b7fd4(0x211)](readFileSync(_0x190853,_0x3b7fd4(0x1c1)));for(const _0x59f841 of[_0x3b7fd4(0x1b4),_0x3b7fd4(0x1c0)]){const _0x1423d0=_0x23304d?.[_0x59f841]?.[_0x3b7fd4(0x200)];if(typeof _0x1423d0===_0x3b7fd4(0x1c6)){_0x1423d0!==_0x3b7fd4(0x229)&&(_0x5025a0={'pkgPath':_0x190853,'currentVersion':_0x1423d0,'field':_0x59f841});break;}}}catch{}return{'configMigration':_0x135ce7,'oldArtifacts':_0x143b31,'oldMcpConfig':_0xd8843c,'needsSkillSwap':_0x4f153c,'sdkUpgrade':_0x5025a0};}function printReport(_0x31b78d){const _0x451f44=a152_0x1dde9b,{configMigration:_0x3539dd,oldArtifacts:_0x4f9015,oldMcpConfig:_0x58b2b1,needsSkillSwap:_0x34285c}=_0x31b78d;console[_0x451f44(0x1e2)](''),console['log'](a152_0x4508f0[_0x451f44(0x1d6)]('===\x20Upgrade\x20Analysis\x20===')),console['log']('');_0x3539dd?(console[_0x451f44(0x1e2)](a152_0x4508f0['cyan'](_0x451f44(0x1c5))+('\x20\x20'+a152_0x4508f0['yellow'](_0x3539dd[_0x451f44(0x1f9)]))),console['log'](_0x451f44(0x1f7)+(_0x3539dd[_0x451f44(0x206)]?a152_0x4508f0[_0x451f44(0x202)]('already\x20exists\x20(will\x20merge)'):a152_0x4508f0[_0x451f44(0x1d3)](_0x451f44(0x212)))),console[_0x451f44(0x1e2)](_0x451f44(0x1e5)+_0x3539dd['fields'][_0x451f44(0x1c4)](',\x20')),console[_0x451f44(0x1e2)](_0x451f44(0x21b))):console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)](_0x451f44(0x1c5))+'\x20\x20'+a152_0x4508f0[_0x451f44(0x1d3)](_0x451f44(0x1b1)));console[_0x451f44(0x1e2)]('');if(_0x4f9015['length']>0x0){console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)](_0x451f44(0x1bd)));for(const _0x3509e4 of _0x4f9015){console['log']('\x20\x20'+a152_0x4508f0['red'](_0x451f44(0x204))+'\x20\x20'+_0x3509e4);}console[_0x451f44(0x1e2)]('\x20\x20Action:\x20delete');}else console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)](_0x451f44(0x1bd))+'\x20\x20'+a152_0x4508f0[_0x451f44(0x1d3)](_0x451f44(0x1db)));console[_0x451f44(0x1e2)]('');_0x58b2b1?(console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)](_0x451f44(0x1ec))+('\x20\x20'+a152_0x4508f0[_0x451f44(0x1e4)](_0x58b2b1[_0x451f44(0x1cf)])+_0x451f44(0x1ed)+_0x58b2b1[_0x451f44(0x219)]['join'](',\x20'))),console[_0x451f44(0x1e2)](_0x451f44(0x1ba))):console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)]('MCP\x20config:')+'\x20\x20'+a152_0x4508f0['gray'](_0x451f44(0x1fe)));console['log'](''),console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)]('Skill\x20swap:')+('\x20\x20'+(_0x34285c?a152_0x4508f0[_0x451f44(0x1e4)](_0x451f44(0x1d1)):a152_0x4508f0[_0x451f44(0x202)](_0x451f44(0x20e)))));_0x34285c&&console[_0x451f44(0x1e2)](_0x451f44(0x1d0)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x451f44(0x1e2)]('');if(_0x31b78d[_0x451f44(0x1da)]){const {currentVersion:_0x3cbdce,field:_0x7cfb1e,pkgPath:_0x4d8e8c}=_0x31b78d[_0x451f44(0x1da)];console['log'](a152_0x4508f0[_0x451f44(0x1ee)]('@lovrabet/sdk:')+('\x20\x20'+a152_0x4508f0['yellow'](_0x4d8e8c))),console['log'](_0x451f44(0x22e)+_0x7cfb1e+':\x20'+a152_0x4508f0[_0x451f44(0x1e4)](_0x3cbdce)+_0x451f44(0x1dc)+a152_0x4508f0[_0x451f44(0x202)](_0x451f44(0x229))),console[_0x451f44(0x1e2)](_0x451f44(0x22c));}else console[_0x451f44(0x1e2)](a152_0x4508f0[_0x451f44(0x1ee)](_0x451f44(0x1cd))+'\x20\x20'+a152_0x4508f0[_0x451f44(0x1d3)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x228de5,_0x1c3f46){const _0x369960=a152_0x1dde9b,{configMigration:_0x1f441b}=_0x228de5;if(!_0x1f441b?.['oldPath'])return{'step':0x1,'label':_0x369960(0x217),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x24d565=readConfigFile(_0x1f441b[_0x369960(0x1f9)]),_0xe89e4f=resolve(_0x1c3f46,NEW_CONFIG_NAME),_0x48494d=_0x1f441b[_0x369960(0x206)]?readConfigFile(_0xe89e4f):{};for(const [_0x42a97d,_0x2f21e9]of Object[_0x369960(0x22d)](_0x24d565)){!(_0x42a97d in _0x48494d)&&(_0x48494d[_0x42a97d]=_0x2f21e9);}writeConfigFile(_0xe89e4f,_0x48494d);const _0x301e42=_0x1f441b['oldPath']+_0x369960(0x1d4);return renameSync(_0x1f441b[_0x369960(0x1f9)],_0x301e42),{'step':0x1,'label':_0x369960(0x217),'ok':!![],'detail':_0x1f441b[_0x369960(0x1f9)]+_0x369960(0x1dc)+_0xe89e4f+_0x369960(0x1d7)+_0x301e42+')'};}function execRemoveOldArtifacts(_0x3737d5){const _0x5220d4=a152_0x1dde9b,_0xb19e50=[];for(const _0x7bc017 of _0x3737d5){try{if(!existsSync(_0x7bc017))continue;const _0x512d2e=tryStat(_0x7bc017);_0x512d2e?.[_0x5220d4(0x224)]()?rmSync(_0x7bc017,{'recursive':!![],'force':!![]}):unlinkSync(_0x7bc017);}catch(_0x38ad31){_0xb19e50[_0x5220d4(0x1ff)](_0x7bc017+':\x20'+_0x38ad31['message']);}}return{'step':0x3,'label':_0x5220d4(0x1b2),'ok':_0xb19e50[_0x5220d4(0x201)]===0x0,'detail':_0xb19e50['length']>0x0?_0x3737d5[_0x5220d4(0x201)]-_0xb19e50['length']+'/'+_0x3737d5[_0x5220d4(0x201)]+_0x5220d4(0x1f4)+_0xb19e50[_0x5220d4(0x1c4)](';\x20')+')':_0x3737d5[_0x5220d4(0x201)]+_0x5220d4(0x223)};}function execCleanMcp(_0xde1ecd){const _0x357c93=a152_0x1dde9b;if(!_0xde1ecd[_0x357c93(0x21c)])return{'step':0x4,'label':_0x357c93(0x205),'ok':!![],'detail':_0x357c93(0x1e1)};try{const _0x88c796=readFileSync(_0xde1ecd[_0x357c93(0x21c)][_0x357c93(0x1cf)],'utf8'),_0x47dd63=JSON['parse'](_0x88c796);if(_0x47dd63?.[_0x357c93(0x1e6)]&&typeof _0x47dd63[_0x357c93(0x1e6)]===_0x357c93(0x1f8)){const _0x5b2faf=[];for(const [_0x1e6132,_0x11b78f]of Object['entries'](_0x47dd63[_0x357c93(0x1e6)])){_0x11b78f?.[_0x357c93(0x214)]&&Array[_0x357c93(0x1c9)](_0x11b78f['args'])&&_0x11b78f[_0x357c93(0x214)]['some'](_0x5cbf99=>typeof _0x5cbf99===_0x357c93(0x1c6)&&_0x5cbf99[_0x357c93(0x228)](_0x357c93(0x1c2)))&&_0x5b2faf['push'](_0x1e6132);}for(const _0x28c89c of _0x5b2faf){delete _0x47dd63['mcpServers'][_0x28c89c];}return _0x5b2faf[_0x357c93(0x201)]>0x0&&writeFileSync(_0xde1ecd[_0x357c93(0x21c)]['path'],JSON[_0x357c93(0x21f)](_0x47dd63,null,0x2)+'\x0a','utf8'),{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x357c93(0x1b5)+_0x5b2faf[_0x357c93(0x1c4)](',\x20')+'\x20from\x20'+_0xde1ecd[_0x357c93(0x21c)][_0x357c93(0x1cf)]};}return{'step':0x4,'label':_0x357c93(0x205),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x374009){return{'step':0x4,'label':_0x357c93(0x205),'ok':![],'detail':_0x374009['message']};}}function a152_0x1050(){const _0x419afc=['dependencies','removed\x20','lovrabet/rabetbase\x20installed\x20globally','filter','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','CANCEL','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20\x20Step\x20','undefined','Legacy\x20artifacts:','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','devDependencies','utf8','@lovrabet/dataset-mcp-server','\x20\x20#\x20or','join','Config\x20file:','string','\x20\x20bun\x20install','10710NZfJAj','isArray','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','Step\x204/7:\x20MCP\x20config\x20—\x20','configMigration','@lovrabet/sdk:','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','path','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','needed','lovrabet/rabetbase','gray','.bak','oldArtifacts','bold','\x20(backup:\x20','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','Remove\x20old\x20skill','sdkUpgrade','none\x20found','\x20→\x20','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','error','succeed','Step\x206/7:\x20Installing\x20new\x20skill...','skipped','log','label','yellow','\x20\x20Fields\x20to\x20migrate:\x20','mcpServers','1224thwugC','fail','cwd','.cursor/rules/lovrabet_rules.mdc','Step\x204/7:\x20Cleaning\x20MCP\x20config...','MCP\x20config:','\x20→\x20keys:\x20','cyan','Step\x205/7:\x20Removing\x20old\x20skill...','status','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Upgrade\x20@lovrabet/sdk','24MdwZwD','\x20removed\x20(','\x20→\x20latest','Proceed\x20with\x20upgrade?','\x20\x20New\x20config\x20(.rabetbase.json):\x20','object','oldPath','values','inherit','4085972JXrJoE','175080ZTkXEP','no\x20legacy\x20entry','push','@lovrabet/sdk','length','green','exit\x20','FOUND','Clean\x20MCP\x20config','hasNewConfig','failed','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','.lovrabet','70hejRcF','286785GwBlZk','20FuKXDf','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','not\x20needed','some','Remove\x20.lovrabet/','parse','not\x20found\x20(will\x20create)','1856800LsbBuu','args','lovrabet/lovrabet-skill\x20removed','871280WZbNsu','Config\x20migration','yes','keys','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','oldMcpConfig','.cursor/mcp.json','Upgrade\x20cancelled.','stringify','16982OTKurb','Step\x201/7:\x20Migrating\x20config...','done','\x20removed','isDirectory','start','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','Install\x20new\x20skill','includes','latest','files','detail','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','entries','\x20\x20Current\x20version\x20in\x20','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','no\x20legacy\x20config\x20found','Remove\x20legacy\x20artifacts','white'];a152_0x1050=function(){return _0x419afc;};return a152_0x1050();}function execSkillsRemove(_0x3e7816,_0x47ec91){const _0x43e38f=a152_0x1dde9b,_0x4394d9=runNpxSkillsRemove(_0x3e7816,{'stdio':_0x43e38f(0x1fb),'yes':_0x47ec91});return{'step':0x5,'label':_0x43e38f(0x1d9),'ok':_0x4394d9['ok'],'detail':_0x4394d9['ok']?_0x43e38f(0x215):_0x4394d9[_0x43e38f(0x1de)]??_0x43e38f(0x203)+_0x4394d9[_0x43e38f(0x1f0)]};}function a152_0xf737(_0x12f351,_0x40d775){_0x12f351=_0x12f351-0x1af;const _0x1050b0=a152_0x1050();let _0xf7379d=_0x1050b0[_0x12f351];return _0xf7379d;}function execSkillsAdd(_0x40b65c,_0x2e907c){const _0x1c907e=a152_0x1dde9b,_0x7d3bf6=runNpxSkillsAddGlobal(_0x40b65c,_0x1c907e(0x1d2),{'stdio':_0x1c907e(0x1fb),'yes':_0x2e907c});return{'step':0x6,'label':_0x1c907e(0x227),'ok':_0x7d3bf6['ok'],'detail':_0x7d3bf6['ok']?_0x1c907e(0x1b6):_0x7d3bf6['error']??_0x1c907e(0x203)+_0x7d3bf6[_0x1c907e(0x1f0)]};}function execUpgradeSdk(_0x51ab09){const _0x2f662d=a152_0x1dde9b;if(!_0x51ab09['sdkUpgrade'])return{'step':0x7,'label':_0x2f662d(0x1f2),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x888cb2,currentVersion:_0x33eeb7,field:_0x55cb39}=_0x51ab09[_0x2f662d(0x1da)];try{const _0x5ed3ad=readFileSync(_0x888cb2,'utf8'),_0x5b7893=JSON['parse'](_0x5ed3ad);return _0x5b7893[_0x55cb39][_0x2f662d(0x200)]='latest',writeFileSync(_0x888cb2,JSON['stringify'](_0x5b7893,null,0x2)+'\x0a',_0x2f662d(0x1c1)),{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x55cb39+'[\x22@lovrabet/sdk\x22]:\x20'+_0x33eeb7+_0x2f662d(0x1f5)};}catch(_0x131f60){return{'step':0x7,'label':_0x2f662d(0x1f2),'ok':![],'detail':_0x131f60['message']};}}function tryStat(_0x39a480){try{return statSync(_0x39a480);}catch{return undefined;}}function printSummary(_0x38185a){const _0x376322=a152_0x1dde9b;console[_0x376322(0x1e2)](''),console[_0x376322(0x1e2)](a152_0x4508f0[_0x376322(0x1d6)]('===\x20Upgrade\x20Summary\x20===')),console[_0x376322(0x1e2)]('');for(const _0x304aa6 of _0x38185a){const _0x1335ff=_0x304aa6['ok']?a152_0x4508f0[_0x376322(0x202)]('OK'):a152_0x4508f0['red']('FAIL');console[_0x376322(0x1e2)]('\x20\x20'+_0x1335ff+_0x376322(0x1bb)+_0x304aa6['step']+':\x20'+_0x304aa6[_0x376322(0x1e3)]);if(_0x304aa6[_0x376322(0x22b)])console[_0x376322(0x1e2)]('\x20\x20\x20\x20\x20\x20\x20'+a152_0x4508f0['gray'](_0x304aa6[_0x376322(0x22b)]));}console[_0x376322(0x1e2)]('');}export async function upgradeApp(_0xa919d3,_0x2e9b8c){const _0x36a09b=a152_0x1dde9b,_0xa0966d=process[_0x36a09b(0x1e9)](),_0x3421c5=analyse(_0xa0966d),_0x44df20=!_0x3421c5[_0x36a09b(0x1cc)]&&_0x3421c5[_0x36a09b(0x1d5)][_0x36a09b(0x201)]===0x0&&!_0x3421c5[_0x36a09b(0x21c)]&&!_0x3421c5['needsSkillSwap']&&!_0x3421c5[_0x36a09b(0x1da)];if(_0x44df20){console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x202)](_0x36a09b(0x1dd)));return;}printReport(_0x3421c5);const _0xef4a41=!!(_0x2e9b8c[_0x36a09b(0x218)]||_0x2e9b8c['Y']||_0xa919d3);if(!_0xef4a41)try{const _0x59856d=await askConfirm(_0x36a09b(0x1f6));if(!_0x59856d){console[_0x36a09b(0x1e2)](a152_0x4508f0['gray'](_0x36a09b(0x21e)));return;}}catch(_0x38e372){if(_0x38e372?.['message']===_0x36a09b(0x1b9)){console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x1d3)](_0x36a09b(0x21e)));return;}throw _0x38e372;}const _0x7e67cd=[],_0x1ce55c=a152_0xa7d67f({'text':_0x36a09b(0x221),'color':_0x36a09b(0x1ee)})['start'](),_0x59e353=execConfigMigration(_0x3421c5,_0xa0966d);_0x7e67cd['push'](_0x59e353),_0x1ce55c[_0x59e353['ok']?'succeed':_0x36a09b(0x1e8)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x59e353['detail']??(_0x59e353['ok']?_0x36a09b(0x222):_0x36a09b(0x207))));const _0x47faa7=resolve(_0xa0966d,_0x36a09b(0x209)),_0x5cb98e=a152_0xa7d67f({'text':_0x36a09b(0x1b8),'color':_0x36a09b(0x1ee)})[_0x36a09b(0x225)]();if(existsSync(_0x47faa7))try{rmSync(_0x47faa7,{'recursive':!![],'force':!![]}),_0x5cb98e['succeed'](_0x36a09b(0x20d)),_0x7e67cd[_0x36a09b(0x1ff)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x396739){_0x5cb98e[_0x36a09b(0x1e8)](_0x36a09b(0x21a)+_0x396739['message']),_0x7e67cd[_0x36a09b(0x1ff)]({'step':0x2,'label':_0x36a09b(0x210),'ok':![],'detail':_0x396739['message']});}else _0x5cb98e['info'](_0x36a09b(0x1b0)),_0x7e67cd[_0x36a09b(0x1ff)]({'step':0x2,'label':_0x36a09b(0x210),'ok':!![],'detail':'skipped'});const _0x45feb7=a152_0xa7d67f({'text':_0x36a09b(0x226),'color':_0x36a09b(0x1ee)})[_0x36a09b(0x225)](),_0x233282=execRemoveOldArtifacts(_0x3421c5[_0x36a09b(0x1d5)]);_0x7e67cd['push'](_0x233282),_0x45feb7[_0x233282['ok']?_0x36a09b(0x1df):_0x36a09b(0x1e8)](_0x36a09b(0x1be)+(_0x233282[_0x36a09b(0x22b)]??(_0x233282['ok']?_0x36a09b(0x222):_0x36a09b(0x207))));const _0x4cc945=a152_0xa7d67f({'text':_0x36a09b(0x1eb),'color':_0x36a09b(0x1ee)})['start'](),_0x415ce9=execCleanMcp(_0x3421c5);_0x7e67cd[_0x36a09b(0x1ff)](_0x415ce9),_0x4cc945[_0x415ce9['ok']?_0x36a09b(0x1df):_0x36a09b(0x1e8)](_0x36a09b(0x1cb)+(_0x415ce9[_0x36a09b(0x22b)]??(_0x415ce9['ok']?'done':_0x36a09b(0x207))));const _0x27d167=a152_0xa7d67f({'text':_0x36a09b(0x1ef),'color':'cyan'})['start'](),_0x32061f=execSkillsRemove(_0xa0966d,_0xef4a41);_0x7e67cd[_0x36a09b(0x1ff)](_0x32061f),_0x27d167[_0x32061f['ok']?_0x36a09b(0x1df):_0x36a09b(0x1e8)](_0x36a09b(0x1af)+(_0x32061f['detail']??(_0x32061f['ok']?_0x36a09b(0x222):_0x36a09b(0x207))));const _0x19d578=a152_0xa7d67f({'text':_0x36a09b(0x1e0),'color':_0x36a09b(0x1ee)})['start'](),_0x19ba7a=execSkillsAdd(_0xa0966d,_0xef4a41);_0x7e67cd[_0x36a09b(0x1ff)](_0x19ba7a),_0x19d578[_0x19ba7a['ok']?'succeed':_0x36a09b(0x1e8)](_0x36a09b(0x1ce)+(_0x19ba7a['detail']??(_0x19ba7a['ok']?_0x36a09b(0x222):_0x36a09b(0x207))));const _0x415aff=a152_0xa7d67f({'text':_0x36a09b(0x1bf),'color':'cyan'})[_0x36a09b(0x225)](),_0x32a963=execUpgradeSdk(_0x3421c5);_0x7e67cd['push'](_0x32a963),_0x415aff[_0x32a963['ok']?_0x36a09b(0x1df):_0x36a09b(0x1e8)](_0x36a09b(0x1ca)+(_0x32a963[_0x36a09b(0x22b)]??(_0x32a963['ok']?_0x36a09b(0x222):'failed'))),printSummary(_0x7e67cd);const _0x2cd4c6=_0x7e67cd['some'](_0x41e99=>!_0x41e99['ok']);_0x2cd4c6?console[_0x36a09b(0x1e2)](a152_0x4508f0['yellow'](_0x36a09b(0x208))):console[_0x36a09b(0x1e2)](a152_0x4508f0['green']('Upgrade\x20completed\x20successfully!')),_0x32a963['ok']&&_0x3421c5['sdkUpgrade']&&(console[_0x36a09b(0x1e2)](''),console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x1d6)][_0x36a09b(0x1ee)](_0x36a09b(0x1f1))),console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x1ee)](_0x36a09b(0x1d8))),console[_0x36a09b(0x1e2)](''),console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x1b3)]('\x20\x20npm\x20install')),console[_0x36a09b(0x1e2)](a152_0x4508f0[_0x36a09b(0x1b3)](_0x36a09b(0x1c3))),console[_0x36a09b(0x1e2)](a152_0x4508f0['white'](_0x36a09b(0x1c7))),console[_0x36a09b(0x1e2)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a153_0x453290=a153_0x393c;(function(_0x491ef7,_0x44e35f){const _0x4fb140=a153_0x393c,_0x396292=_0x491ef7();while(!![]){try{const _0x8fda13=parseInt(_0x4fb140(0x1c2))/0x1+parseInt(_0x4fb140(0x1e2))/0x2*(-parseInt(_0x4fb140(0x1d2))/0x3)+parseInt(_0x4fb140(0x1fa))/0x4+parseInt(_0x4fb140(0x1e8))/0x5+-parseInt(_0x4fb140(0x1dc))/0x6*(parseInt(_0x4fb140(0x1c5))/0x7)+parseInt(_0x4fb140(0x1f7))/0x8+-parseInt(_0x4fb140(0x1bf))/0x9;if(_0x8fda13===_0x44e35f)break;else _0x396292['push'](_0x396292['shift']());}catch(_0x119833){_0x396292['push'](_0x396292['shift']());}}}(a153_0x7057,0x4a6b8));import{apiDefinitions}from'../commands/api/index.js';import{bffDefinitions}from'../commands/bff/index.js';import{sqlDefinitions}from'../commands/sql/index.js';import{datasetDefinitions}from'../commands/dataset/index.js';import{pageDefinitions}from'../commands/page/index.js';import{dataDefinitions}from'../commands/data/index.js';import{dbDefinitions}from'../commands/db/index.js';import{codegenDefinitions}from'../commands/codegen/index.js';import{menuDefinitions}from'../commands/menu/index.js';import{taskDefinitions}from'../commands/task/index.js';import{roleDefinitions}from'../commands/role/index.js';import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';import{updateDefinition}from'../commands/cli-update.js';import{schemaDefinition}from'../commands/schema.js';import{issueDefinitions}from'../commands/issue/index.js';import{fileDefinitions}from'../commands/file/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';function a153_0x393c(_0x4f87ea,_0x360c89){_0x4f87ea=_0x4f87ea-0x1bb;const _0x7057d6=a153_0x7057();let _0x393c34=_0x7057d6[_0x4f87ea];return _0x393c34;}import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{initDefinitions}from'../commands/init/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x3c3fa3){const _0xdc8c86=a153_0x393c;for(const _0x50fd43 of _0x3c3fa3){definitions[_0xdc8c86(0x1f0)](_0x50fd43['service']+':'+_0x50fd43[_0xdc8c86(0x1df)],_0x50fd43);let _0x158c1a=serviceGroups[_0xdc8c86(0x1dd)](_0x50fd43[_0xdc8c86(0x1bb)]);!_0x158c1a&&(_0x158c1a=[],serviceGroups[_0xdc8c86(0x1f0)](_0x50fd43[_0xdc8c86(0x1bb)],_0x158c1a)),_0x158c1a[_0xdc8c86(0x1bd)](_0x50fd43);}}function a153_0x7057(){const _0x441993=['read','defaultCommand','wildcardDef','app\x20remote','values','risk','API\x20Development','skill','6WCQGkg','get','Dataset\x20&\x20Operations','command','Configuration','Authentication','14vZvnsg','`rabetbase\x20app\x20use`\x20has\x20been\x20removed.','run','from','app','Smart\x20List\x20Pages','1559000FUvOfq','Project','has','skills','Use\x20`rabetbase\x20workspace\x20use\x20--app\x20<name>`\x20instead.','App\x20Management','Logs','create','set','BFF\x20Scripts','commands','app\x20use','Platform\x20Issue','isSingleCommand','filter','4074224JcgCsV','start','Workspace','2364664QXONYa','install','Database\x20Connections','Code\x20Generation','service','remote','push','Self\x20Update','205704rGqVAC','description','Runtime\x20App\x20Config\x20Management','67455IeFQbs','build','use','3935834VTskyG','\x20\x20[write]','CLI\x20Built-in\x20Skill','write','SQL\x20Queries','skill\x20','Use\x20`rabetbase\x20cli-skill\x20install`\x20to\x20refresh\x20the\x20Rabetbase\x20CLI\x20Built-in\x20Skill.\x20To\x20install\x20business\x20Skills,\x20use\x20`lovrabet\x20skill\x20install`.','preview','Notification\x20Configuration','`rabetbase\x20skills`\x20has\x20been\x20removed.','Menu','Async\x20Tasks','`rabetbase\x20','252753kbdmjK','show'];a153_0x7057=function(){return _0x441993;};return a153_0x7057();}function registerDeclarativeService(_0x24d447,_0x316e1a,_0x276c88){const _0x5b404d=a153_0x393c;registerDefinitions(_0x316e1a);_0x276c88?.[_0x5b404d(0x1d6)]&®isterDefinitions([_0x276c88[_0x5b404d(0x1d6)]]);const _0x64d15f=_0x2331e4=>_0x2331e4===_0x5b404d(0x1d4)?'':_0x2331e4===_0x5b404d(0x1c8)?_0x5b404d(0x1c6):'\x20\x20[high-risk-write]',_0x12f1e8={'service':_0x316e1a[0x0][_0x5b404d(0x1bb)],'label':_0x24d447,'commands':_0x316e1a[_0x5b404d(0x1f6)](_0x4c4c40=>!_0x4c4c40['hidden'])['map'](_0x1db8cb=>({'command':_0x1db8cb[_0x5b404d(0x1df)],'description':_0x1db8cb[_0x5b404d(0x1c0)],'tag':_0x64d15f(_0x1db8cb[_0x5b404d(0x1d9)])})),'declarative':!![],'defaultCommand':_0x276c88?.[_0x5b404d(0x1d5)]??(_0x276c88?.[_0x5b404d(0x1f5)]?_0x316e1a[0x0][_0x5b404d(0x1df)]:undefined),'wildcardDef':_0x276c88?.[_0x5b404d(0x1d6)],'isSingleCommand':_0x276c88?.[_0x5b404d(0x1f5)]};serviceRegistry[_0x5b404d(0x1bd)](_0x12f1e8),serviceByName[_0x5b404d(0x1f0)](_0x12f1e8['service'],_0x12f1e8);}registerDeclarativeService('Quick\x20Start',initDefinitions,{'defaultCommand':a153_0x453290(0x1e4),'isSingleCommand':!![]}),registerDeclarativeService(a153_0x453290(0x1e9),projectDefinitions),registerDeclarativeService(a153_0x453290(0x1f9),workspaceDefinitions),registerDeclarativeService(a153_0x453290(0x1ed),appDefinitions),registerDeclarativeService(a153_0x453290(0x1e1),authDefinitions,{'defaultCommand':'login'}),registerDeclarativeService(a153_0x453290(0x1de),datasetDefinitions),registerDeclarativeService(a153_0x453290(0x1e7),pageDefinitions),registerDeclarativeService(a153_0x453290(0x1da),apiDefinitions),registerDeclarativeService('Instant\x20API',dataDefinitions),registerDeclarativeService(a153_0x453290(0x1f1),bffDefinitions),registerDeclarativeService(a153_0x453290(0x1cd),notificationDefinitions),registerDeclarativeService(a153_0x453290(0x1c9),sqlDefinitions),registerDeclarativeService(a153_0x453290(0x1fc),dbDefinitions),registerDeclarativeService(a153_0x453290(0x1cf),menuDefinitions),registerDeclarativeService(a153_0x453290(0x1d0),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService('Permissions',permitDefinitions),registerDeclarativeService(a153_0x453290(0x1c1),appConfigDefinitions),registerDeclarativeService(a153_0x453290(0x1f4),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a153_0x453290(0x1fd),codegenDefinitions),registerDeclarativeService(a153_0x453290(0x1e0),configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Schema',[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0x453290(0x1be),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a153_0x453290(0x1c7),cliSkillDefinitions,{'defaultCommand':a153_0x453290(0x1fb)}),registerDeclarativeService(a153_0x453290(0x1ee),logsDefinitions,{'defaultCommand':a153_0x453290(0x1d3)}),registerDeclarativeService('Run\x20Scripts',[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a153_0x453290(0x1f2)]=[{'command':'<script>','description':'Run\x20any\x20package.json\x20script','tag':''}];}export const deprecatedAliases={'create':{'service':'project','command':a153_0x453290(0x1ef)},'start':{'service':a153_0x453290(0x1e4),'command':a153_0x453290(0x1f8)},'build':{'service':'run','command':a153_0x453290(0x1c3)},'preview':{'service':'run','command':a153_0x453290(0x1cc)},'logout':{'service':'auth','command':'logout'}};const CLI_SKILL_INSTALL_REMOVED_HINT=a153_0x453290(0x1cb),APP_REMOTE_REMOVED_HINT='Use\x20`rabetbase\x20app\x20list\x20--remote`\x20instead.',APP_USE_REMOVED_HINT=a153_0x453290(0x1ec);export function resolveRemovedCommand(_0xd8dd28,_0x464adc){const _0x170a51=a153_0x453290;if(_0xd8dd28===_0x170a51(0x1db)){const _0x4917cc=_0x464adc?_0x170a51(0x1ca)+_0x464adc:_0x170a51(0x1db);return{'command':_0x4917cc,'message':_0x170a51(0x1d1)+_0x4917cc+'`\x20has\x20been\x20removed.','hint':CLI_SKILL_INSTALL_REMOVED_HINT};}if(_0xd8dd28===_0x170a51(0x1eb))return{'command':_0x170a51(0x1eb),'message':_0x170a51(0x1ce),'hint':CLI_SKILL_INSTALL_REMOVED_HINT};if(_0xd8dd28==='app'&&_0x464adc===_0x170a51(0x1bc))return{'command':_0x170a51(0x1d7),'message':'`rabetbase\x20app\x20remote`\x20has\x20been\x20removed.','hint':APP_REMOTE_REMOVED_HINT};if(_0xd8dd28===_0x170a51(0x1e6)&&_0x464adc===_0x170a51(0x1c4))return{'command':_0x170a51(0x1f3),'message':_0x170a51(0x1e3),'hint':APP_USE_REMOVED_HINT};return undefined;}export const deprecatedSubcommands={'bff':{'new':a153_0x453290(0x1ef)},'sql':{'new':a153_0x453290(0x1ef)}};export function resolveDeprecatedSubcommand(_0x1538fe,_0x5eafd){return deprecatedSubcommands[_0x1538fe]?.[_0x5eafd];}export function findDefinition(_0x3231a5,_0x3a119e){return definitions['get'](_0x3231a5+':'+_0x3a119e);}export function isKnownService(_0x3c9e00){return serviceByName['has'](_0x3c9e00);}export function isDeclarativeService(_0x113c73){const _0x51f8a5=a153_0x453290;return serviceGroups[_0x51f8a5(0x1ea)](_0x113c73)||serviceByName['get'](_0x113c73)?.[_0x51f8a5(0x1d6)]!==undefined;}export function getServiceEntry(_0x5e7ef7){const _0x3ab111=a153_0x453290;return serviceByName[_0x3ab111(0x1dd)](_0x5e7ef7);}export function getLegacyHandler(_0x5d2d51,_0xc03ce1){return undefined;}export function getAllDefinitions(){const _0x54b66e=a153_0x453290;return Array[_0x54b66e(0x1e5)](definitions[_0x54b66e(0x1d8)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a154_0x23596a=a154_0x55af;(function(_0x57044b,_0x4d6d9f){const _0x400cba=a154_0x55af,_0x5b8dc0=_0x57044b();while(!![]){try{const _0x56f39f=-parseInt(_0x400cba(0x18a))/0x1*(parseInt(_0x400cba(0x193))/0x2)+-parseInt(_0x400cba(0x197))/0x3*(parseInt(_0x400cba(0x194))/0x4)+parseInt(_0x400cba(0x190))/0x5*(-parseInt(_0x400cba(0x185))/0x6)+parseInt(_0x400cba(0x19b))/0x7+parseInt(_0x400cba(0x199))/0x8+-parseInt(_0x400cba(0x18f))/0x9*(-parseInt(_0x400cba(0x18b))/0xa)+-parseInt(_0x400cba(0x187))/0xb;if(_0x56f39f===_0x4d6d9f)break;else _0x5b8dc0['push'](_0x5b8dc0['shift']());}catch(_0x5e2a04){_0x5b8dc0['push'](_0x5b8dc0['shift']());}}}(a154_0x5566,0xdaf47));function a154_0x55af(_0x52d9d7,_0x161b29){_0x52d9d7=_0x52d9d7-0x180;const _0x556604=a154_0x5566();let _0x55afef=_0x556604[_0x52d9d7];return _0x55afef;}import{createAppRole}from'../../core/api-client.js';function a154_0x5566(){const _0x18e322=['20vBkmiR','Created\x20role\x20','write','name','5606001DKiIft','1335MjuNbv','Pass\x20--name\x20<roleName>.','length','2614scHzwN','445172zMBUfw','trim','validation','36fcxDwu','\x20(id=','9198056zmMQvr','CUSTOM','11033036ZBHnHK','Create\x20a\x20CUSTOM\x20user\x20group\x20(role)','str','POST','appCode','flagMissing','12588PqKSPV','create','1440428ZRhRVs','remark','/smartapi/permit/role/create','802DUiyHb'];a154_0x5566=function(){return _0x18e322;};return a154_0x5566();}import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{NAME_FLAG,REMARK_FLAG,projectRole}from'../../commands/role/shared.js';const CREATE_PATH=a154_0x23596a(0x189);function readName(_0x3b8526){const _0x2962a3=a154_0x23596a,_0x3877ec=_0x3b8526[_0x2962a3(0x181)](_0x2962a3(0x18e))[_0x2962a3(0x195)]();if(!_0x3877ec)throw CliErrors[_0x2962a3(0x184)](_0x2962a3(0x18e),_0x2962a3(0x191));if(_0x3877ec[_0x2962a3(0x192)]>0x40)throw CliErrors[_0x2962a3(0x196)]('Role\x20name\x20cannot\x20exceed\x2064\x20characters.');return _0x3877ec;}export const roleCreate={'service':'role','command':a154_0x23596a(0x186),'description':a154_0x23596a(0x180),'risk':a154_0x23596a(0x18d),'flags':[NAME_FLAG,REMARK_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1b5419){readName(_0x1b5419);},async 'dryRun'(_0x10a787){const _0x1cb03f=a154_0x23596a,_0x57e9de=readName(_0x10a787),_0x1b154c=_0x10a787[_0x1cb03f(0x181)](_0x1cb03f(0x188))[_0x1cb03f(0x195)]()||undefined;return asDryRunResult({'operation':_0x1cb03f(0x186),'selector':{'appCode':_0x10a787[_0x1cb03f(0x183)],'roleName':_0x57e9de},'before':null,'after':{'roleName':_0x57e9de,'roleType':_0x1cb03f(0x19a),'remark':_0x1b154c},'dryRun':!![],'backend':{'method':_0x1cb03f(0x182),'path':CREATE_PATH},'warnings':[]},{'method':_0x1cb03f(0x182),'url':CREATE_PATH});},async 'execute'(_0x203b7a){const _0x19c77d=a154_0x23596a,_0x4ef3a2=readName(_0x203b7a),_0x4c0fb9=_0x203b7a[_0x19c77d(0x181)](_0x19c77d(0x188))[_0x19c77d(0x195)]()||undefined,_0x56a6fd=await createAppRole({'appCode':_0x203b7a[_0x19c77d(0x183)],'roleName':_0x4ef3a2,..._0x4c0fb9?{'remark':_0x4c0fb9}:{}});return{'ok':!![],'data':{'operation':_0x19c77d(0x186),'selector':{'appCode':_0x203b7a[_0x19c77d(0x183)],'roleId':_0x56a6fd['id'],'roleName':_0x4ef3a2},'before':null,'after':projectRole(_0x56a6fd),'dryRun':![],'backend':{'method':_0x19c77d(0x182),'path':CREATE_PATH},'warnings':[]},'message':_0x19c77d(0x18c)+_0x56a6fd['roleName']+_0x19c77d(0x198)+_0x56a6fd['id']+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a155_0x35779f=a155_0x31e0;(function(_0xca8cb7,_0x45be26){const _0x337519=a155_0x31e0,_0x30e3b3=_0xca8cb7();while(!![]){try{const _0x352dd7=parseInt(_0x337519(0x1c1))/0x1*(-parseInt(_0x337519(0x1b6))/0x2)+-parseInt(_0x337519(0x1b0))/0x3+-parseInt(_0x337519(0x1b4))/0x4+parseInt(_0x337519(0x1bf))/0x5*(parseInt(_0x337519(0x1b2))/0x6)+-parseInt(_0x337519(0x1b3))/0x7*(-parseInt(_0x337519(0x1bb))/0x8)+-parseInt(_0x337519(0x1c0))/0x9+parseInt(_0x337519(0x1c3))/0xa;if(_0x352dd7===_0x45be26)break;else _0x30e3b3['push'](_0x30e3b3['shift']());}catch(_0x5c21f4){_0x30e3b3['push'](_0x30e3b3['shift']());}}}(a155_0x1ea9,0xa4a34));import{deleteAppRole}from'../../core/api-client.js';function a155_0x1ea9(){const _0x4111cc=['\x20(id=','/smartapi/permit/role/delete','userCount','Deleted\x20role\x20','8gJSoSA','delete','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','role','10ndSxAh','10226583rmXiPP','61FLgIfG','roleName','39641900JqmSiX','high-risk-write','3845751hbiWNW','POST','456054VNAhgu','1882622vbmIQD','4621132UzBlMz','appCode','4502uRajiL'];a155_0x1ea9=function(){return _0x4111cc;};return a155_0x1ea9();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';function a155_0x31e0(_0x3dcbd3,_0x41ee09){_0x3dcbd3=_0x3dcbd3-0x1b0;const _0x1ea9bc=a155_0x1ea9();let _0x31e064=_0x1ea9bc[_0x3dcbd3];return _0x31e064;}const DELETE_PATH=a155_0x35779f(0x1b8);export const roleDelete={'service':a155_0x35779f(0x1be),'command':'delete','description':'Delete\x20a\x20CUSTOM\x20role\x20(DEV/ADMIN\x20rejected);\x20requires\x20--yes','risk':a155_0x35779f(0x1c4),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x4f7cfc){const _0x2865bf=a155_0x35779f,_0xdbbf99=_0x4f7cfc['num']('id'),_0x45d3c9=await getRoleById(_0x4f7cfc[_0x2865bf(0x1b5)],_0xdbbf99);return assertCustomRole(_0x45d3c9,_0x2865bf(0x1bc)),asDryRunResult({'operation':'delete','selector':{'appCode':_0x4f7cfc['appCode'],'roleId':_0xdbbf99,'roleName':_0x45d3c9[_0x2865bf(0x1c2)]},'before':projectRole(_0x45d3c9),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x45d3c9[_0x2865bf(0x1b9)]>0x0?['Role\x20still\x20has\x20'+_0x45d3c9[_0x2865bf(0x1b9)]+_0x2865bf(0x1bd)]:[]},{'method':_0x2865bf(0x1b1),'url':DELETE_PATH});},async 'execute'(_0x43b62b){const _0x27d998=a155_0x35779f,_0x5cc192=_0x43b62b['num']('id'),_0x4f9eb2=await getRoleById(_0x43b62b[_0x27d998(0x1b5)],_0x5cc192);return assertCustomRole(_0x4f9eb2,'delete'),await deleteAppRole(_0x5cc192),{'ok':!![],'data':{'operation':'delete','selector':{'appCode':_0x43b62b[_0x27d998(0x1b5)],'roleId':_0x5cc192,'roleName':_0x4f9eb2[_0x27d998(0x1c2)]},'before':projectRole(_0x4f9eb2),'after':null,'dryRun':![],'backend':{'method':_0x27d998(0x1b1),'path':DELETE_PATH},'warnings':[]},'message':_0x27d998(0x1ba)+_0x4f9eb2[_0x27d998(0x1c2)]+_0x27d998(0x1b7)+_0x5cc192+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a156_0x17827b=a156_0x6dc4;(function(_0x54b74b,_0x3c0bd7){const _0x2dbc3c=a156_0x6dc4,_0x218099=_0x54b74b();while(!![]){try{const _0x4ca3e8=-parseInt(_0x2dbc3c(0x8c))/0x1+-parseInt(_0x2dbc3c(0x94))/0x2+parseInt(_0x2dbc3c(0x91))/0x3+-parseInt(_0x2dbc3c(0x93))/0x4+-parseInt(_0x2dbc3c(0x8d))/0x5+-parseInt(_0x2dbc3c(0x90))/0x6+parseInt(_0x2dbc3c(0x8e))/0x7;if(_0x4ca3e8===_0x3c0bd7)break;else _0x218099['push'](_0x218099['shift']());}catch(_0x153584){_0x218099['push'](_0x218099['shift']());}}}(a156_0xaa41,0x81dc9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a156_0x6dc4(_0x2b3e26,_0x17d53e){_0x2b3e26=_0x2b3e26-0x89;const _0xaa41b9=a156_0xaa41();let _0x6dc404=_0xaa41b9[_0x2b3e26];return _0x6dc404;}import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a156_0x17827b(0x8a),'command':'detail','description':a156_0x17827b(0x8b),'risk':'read','flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x2d3d72){const _0x1c188e=a156_0x17827b,_0x41af54=_0x2d3d72[_0x1c188e(0x89)]('id'),_0x35ce40=await getRoleById(_0x2d3d72[_0x1c188e(0x8f)],_0x41af54);return{'ok':!![],'data':{'role':projectRole(_0x35ce40)},'message':'Role\x20'+_0x35ce40[_0x1c188e(0x92)]+'\x20('+_0x35ce40['roleType']+')'};}};function a156_0xaa41(){const _0x420da4=['role','Show\x20a\x20single\x20role\x27s\x20detail','912788OVpiKN','876235XvDLDd','15804061aAPoFJ','appCode','4538070KwKvaJ','2088585INLKWS','roleName','332cdxWuj','1155084PhcMhP','num'];a156_0xaa41=function(){return _0x420da4;};return a156_0xaa41();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5dacdb,_0x4b2b46){const _0x28bdc6=a157_0x3434,_0x44f997=_0x5dacdb();while(!![]){try{const _0x4ca7c7=parseInt(_0x28bdc6(0x151))/0x1+-parseInt(_0x28bdc6(0x153))/0x2+-parseInt(_0x28bdc6(0x14a))/0x3*(parseInt(_0x28bdc6(0x14f))/0x4)+parseInt(_0x28bdc6(0x154))/0x5*(-parseInt(_0x28bdc6(0x14d))/0x6)+-parseInt(_0x28bdc6(0x14c))/0x7+parseInt(_0x28bdc6(0x14e))/0x8*(-parseInt(_0x28bdc6(0x14b))/0x9)+parseInt(_0x28bdc6(0x152))/0xa*(parseInt(_0x28bdc6(0x150))/0xb);if(_0x4ca7c7===_0x4b2b46)break;else _0x44f997['push'](_0x44f997['shift']());}catch(_0x459917){_0x44f997['push'](_0x44f997['shift']());}}}(a157_0x2874,0xba2a3));function a157_0x3434(_0x109555,_0xf85285){_0x109555=_0x109555-0x14a;const _0x2874b0=a157_0x2874();let _0x3434dd=_0x2874b0[_0x109555];return _0x3434dd;}function a157_0x2874(){const _0x3c8954=['29547wJrfPg','458997jsnuac','2076qovrLP','672uwzLly','240FTqEMd','11kppmSh','689121JOzSeg','36109070zKWNSw','2712164qnXEfJ','5960dUbFgk','71382PhUhMH'];a157_0x2874=function(){return _0x3c8954;};return a157_0x2874();}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleCreate}from'../../commands/role/create.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';import{roleUserAdd}from'../../commands/role/user-add.js';import{roleUserRemove}from'../../commands/role/user-remove.js';export const roleDefinitions=[roleList,roleDetail,roleCreate,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a158_0x4d00(){const _0x3c5bfc=['page','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','163324TnWBBO','407464xuQuMo','trim','num','Page\x20size\x20(1-100)','role','type','ADMIN','33356MDNtRv','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','string','2605230IhhjbG','roleType','USER','\x20role(s)','CUSTOM','appCode','str','Filter\x20by\x20role\x20type','filter','length','312YkjmmG','947274gMHMSo','map','list','4340413GOnHkz','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','56leOkWz','validation','number','join','pagesize','Use\x20one\x20of:\x20','4152285NkGJji','toUpperCase'];a158_0x4d00=function(){return _0x3c5bfc;};return a158_0x4d00();}const a158_0x11afdc=a158_0x3aae;(function(_0x224d25,_0x100dce){const _0x26875a=a158_0x3aae,_0x208e75=_0x224d25();while(!![]){try{const _0x5f33ff=-parseInt(_0x26875a(0xdb))/0x1+parseInt(_0x26875a(0xda))/0x2+-parseInt(_0x26875a(0xef))/0x3*(parseInt(_0x26875a(0xe2))/0x4)+-parseInt(_0x26875a(0xd6))/0x5+-parseInt(_0x26875a(0xf0))/0x6+parseInt(_0x26875a(0xf3))/0x7+-parseInt(_0x26875a(0xd0))/0x8*(-parseInt(_0x26875a(0xe5))/0x9);if(_0x5f33ff===_0x100dce)break;else _0x208e75['push'](_0x208e75['shift']());}catch(_0x15a43a){_0x208e75['push'](_0x208e75['shift']());}}}(a158_0x4d00,0x7183b));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function a158_0x3aae(_0x1077fc,_0x333e4a){_0x1077fc=_0x1077fc-0xd0;const _0x4d000f=a158_0x4d00();let _0x3aaecf=_0x4d000f[_0x1077fc];return _0x3aaecf;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a158_0x11afdc(0xe1),'DEV',a158_0x11afdc(0xe7),a158_0x11afdc(0xe9)];export const roleList={'service':a158_0x11afdc(0xdf),'command':a158_0x11afdc(0xf2),'description':a158_0x11afdc(0xd9),'risk':'read','flags':[APPCODE_FLAG_OPTIONAL,{'name':a158_0x11afdc(0xe0),'type':a158_0x11afdc(0xe4),'required':![],'description':a158_0x11afdc(0xec),'enum':ROLE_TYPES},{'name':a158_0x11afdc(0xd8),'type':a158_0x11afdc(0xd2),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a158_0x11afdc(0xd4),'type':'number','description':a158_0x11afdc(0xde),'default':0x64}],async 'validate'(_0x585b74){const _0x1abe48=a158_0x11afdc,_0x5242fd=_0x585b74['str'](_0x1abe48(0xe0))[_0x1abe48(0xdc)]();if(_0x5242fd&&!ROLE_TYPES['includes'](_0x5242fd[_0x1abe48(0xd7)]()))throw CliErrors[_0x1abe48(0xd1)]('Invalid\x20--type\x20\x22'+_0x5242fd+'\x22.',_0x1abe48(0xd5)+ROLE_TYPES[_0x1abe48(0xd3)](',\x20')+'.');const _0x2378b3=_0x585b74[_0x1abe48(0xdd)](_0x1abe48(0xd8),0x1),_0x373ba4=_0x585b74[_0x1abe48(0xdd)](_0x1abe48(0xd4),0x64);if(_0x2378b3<0x1)throw CliErrors[_0x1abe48(0xd1)](_0x1abe48(0xf4));if(_0x373ba4<0x1||_0x373ba4>0x64)throw CliErrors[_0x1abe48(0xd1)](_0x1abe48(0xe3));},async 'execute'(_0x38cf8d){const _0x32fd8c=a158_0x11afdc,_0x4bd28b=_0x38cf8d['num'](_0x32fd8c(0xd8),0x1)||0x1,_0x3efc3a=_0x38cf8d[_0x32fd8c(0xdd)]('pagesize',0x64)||0x64,_0x488dd2=_0x38cf8d[_0x32fd8c(0xeb)]('type')[_0x32fd8c(0xdc)]()[_0x32fd8c(0xd7)](),{items:_0x4e6155,paging:_0x2ad14a}=await listAppRoles(_0x38cf8d[_0x32fd8c(0xea)],{'currentPage':_0x4bd28b,'pageSize':_0x3efc3a}),_0x2bfae1=_0x488dd2?_0x4e6155[_0x32fd8c(0xed)](_0x10541d=>_0x10541d[_0x32fd8c(0xe6)]===_0x488dd2):_0x4e6155,_0x1f000a=_0x2bfae1[_0x32fd8c(0xf1)](projectRole);return{'ok':!![],'data':{'roles':_0x1f000a,'paging':_0x2ad14a},'message':'Found\x20'+_0x1f000a[_0x32fd8c(0xee)]+_0x32fd8c(0xe8)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a158_0x5842ea=a158_0x570f;(function(_0x3eb83e,_0x4f25ad){const _0x3e46c4=a158_0x570f,_0x431c99=_0x3eb83e();while(!![]){try{const _0xb0019b=parseInt(_0x3e46c4(0x15e))/0x1+parseInt(_0x3e46c4(0x137))/0x2*(-parseInt(_0x3e46c4(0x163))/0x3)+-parseInt(_0x3e46c4(0x14c))/0x4+parseInt(_0x3e46c4(0x152))/0x5+parseInt(_0x3e46c4(0x161))/0x6*(parseInt(_0x3e46c4(0x138))/0x7)+-parseInt(_0x3e46c4(0x169))/0x8*(parseInt(_0x3e46c4(0x13d))/0x9)+-parseInt(_0x3e46c4(0x12d))/0xa;if(_0xb0019b===_0x4f25ad)break;else _0x431c99['push'](_0x431c99['shift']());}catch(_0x3e144f){_0x431c99['push'](_0x431c99['shift']());}}}(a158_0x4dea,0x6e4ee));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a158_0x5842ea(0x16d),'required':!![],'description':a158_0x5842ea(0x159)};export const ROLE_REF_FLAG={'name':a158_0x5842ea(0x16b),'type':a158_0x5842ea(0x12f),'required':!![],'description':'Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)'};export const USER_REF_FLAG={'name':a158_0x5842ea(0x140),'type':a158_0x5842ea(0x12f),'required':!![],'description':a158_0x5842ea(0x173)};export const NAME_FLAG={'name':a158_0x5842ea(0x141),'type':a158_0x5842ea(0x12f),'required':!![],'description':'Role\x20name'};function a158_0x570f(_0x4d8618,_0x10c43d){_0x4d8618=_0x4d8618-0x12c;const _0x4deaae=a158_0x4dea();let _0x570f20=_0x4deaae[_0x4d8618];return _0x570f20;}export const USER_NAME_FLAG={'name':a158_0x5842ea(0x141),'type':a158_0x5842ea(0x12f),'required':!![],'description':a158_0x5842ea(0x145)};export const REMARK_FLAG={'name':a158_0x5842ea(0x155),'type':a158_0x5842ea(0x12f),'required':![],'description':'Optional\x20role\x20remark/description'};export const EXPECT_USER_COUNT_FLAG={'name':a158_0x5842ea(0x164),'type':a158_0x5842ea(0x16d),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=[a158_0x5842ea(0x167),'DEV',a158_0x5842ea(0x177)];export function isBuiltinRole(_0x503fa7){return BUILTIN_ROLE_TYPES['includes'](_0x503fa7);}export function assertCustomRole(_0x3b437f,_0x167626){const _0x4aa3cb=a158_0x5842ea;if(_0x3b437f[_0x4aa3cb(0x133)]!=='CUSTOM')throw CliErrors['validation'](_0x4aa3cb(0x14f)+_0x167626+'\x20built-in\x20role\x20'+_0x3b437f['roleName']+'\x20('+_0x3b437f[_0x4aa3cb(0x133)]+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}function a158_0x4dea(){const _0x3350c6=['splice','355606yRiqVj','2367085pzsbLR','flagMissing','\x20member(s)\x20but\x20role\x20has\x20','Role\x20id\x20','test','23373TsEVtF','DEV','Multiple\x20tenant\x20members\x20match\x20\x22','user','name','user-add','totalCount','findIndex','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','toLowerCase','POST','expectUserCount','dryRun','map','User\x20','1168324cWRGiU','Role\x20name\x20\x22','roleName','Cannot\x20','length','appCode','3261255kSVfjh','authRequired','nickname','remark','userCount','userList','trim','Role\x20id\x20(from\x20`role\x20list`)','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','find','push','815604ZOdFFX','Pass\x20--role\x20<id|name>.','validation','6TOwoFO','\x22\x20is\x20ambiguous\x20(ids:\x20','6PBXmeV','expect-user-count','tenant','\x22\x20not\x20found\x20in\x20app\x20','ADMIN','permitCount','1048NhCmqZ','str','role','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','number','filter','tenant_code','Disambiguate\x20with\x20--role\x20<id>.','/smartapi/permit/user-role/update-user-list','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','\x20not\x20found\x20in\x20app\x20','username','flag','USER','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','Disambiguate\x20with\x20--user\x20<id>.','3662940hGMnqQ','Pass\x20--user\x20<id|name>.','string','No\x20tenant\x20member\x20matches\x20\x22','\x20is\x20already\x20a\x20member\x20of\x20role\x20','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','roleType','\x20not\x20found\x20in\x20the\x20user-role\x20list.','userId'];a158_0x4dea=function(){return _0x3350c6;};return a158_0x4dea();}export function assertPermConfigurable(_0x257266){const _0x2daf26=a158_0x5842ea;if(_0x257266['roleType']===_0x2daf26(0x13e)||_0x257266[_0x2daf26(0x133)]===_0x2daf26(0x167))throw CliErrors['validation'](_0x2daf26(0x172)+_0x257266['roleName']+'\x20('+_0x257266[_0x2daf26(0x133)]+').',_0x2daf26(0x132));}export function projectRole(_0x57e767){const _0x263aa4=a158_0x5842ea;return{'id':_0x57e767['id'],'roleName':_0x57e767['roleName'],'roleType':_0x57e767[_0x263aa4(0x133)],'remark':_0x57e767[_0x263aa4(0x155)],'userCount':_0x57e767[_0x263aa4(0x156)],'permitCount':_0x57e767[_0x263aa4(0x168)],'builtin':isBuiltinRole(_0x57e767[_0x263aa4(0x133)])};}export async function resolveRoleRef(_0x30e551,_0x172ab1){const _0x138c02=a158_0x5842ea,_0x8c6fe5=_0x172ab1[_0x138c02(0x158)]();if(!_0x8c6fe5)throw CliErrors[_0x138c02(0x160)]('Missing\x20role\x20reference.','Pass\x20--role\x20<id|name>.');if(/^\d+$/[_0x138c02(0x13c)](_0x8c6fe5))return getRoleById(_0x30e551,Number(_0x8c6fe5));const _0x78583b=await listAllAppRoles(_0x30e551),_0x27701f=_0x78583b[_0x138c02(0x16e)](_0x174294=>_0x174294[_0x138c02(0x14e)]===_0x8c6fe5);if(_0x27701f[_0x138c02(0x150)]===0x0)throw CliErrors[_0x138c02(0x160)]('Role\x20name\x20\x22'+_0x8c6fe5+_0x138c02(0x166)+_0x30e551+'.',_0x138c02(0x15a));if(_0x27701f[_0x138c02(0x150)]>0x1){const _0x3b8d23=_0x27701f[_0x138c02(0x14a)](_0x2b62c7=>_0x2b62c7['id'])['join'](',\x20');throw CliErrors[_0x138c02(0x160)](_0x138c02(0x14d)+_0x8c6fe5+_0x138c02(0x162)+_0x3b8d23+').',_0x138c02(0x170));}return _0x27701f[0x0];}export async function getRoleById(_0x104e28,_0xb00f3b){const _0x2822aa=a158_0x5842ea,_0x3f26b6=await getAppRole(_0xb00f3b);if(!_0x3f26b6)throw CliErrors[_0x2822aa(0x160)]('Role\x20id\x20'+_0xb00f3b+_0x2822aa(0x174)+_0x104e28+'.',_0x2822aa(0x178));return _0x3f26b6;}async function listAllAppRoles(_0xc0348){const _0x218922=a158_0x5842ea,_0x5dfab9=0x64,_0x48867e=[];for(let _0x1daefc=0x1;;_0x1daefc+=0x1){const {items:_0x17816a,paging:_0x166d75}=await listAppRoles(_0xc0348,{'currentPage':_0x1daefc,'pageSize':_0x5dfab9});_0x48867e[_0x218922(0x15d)](..._0x17816a);if(_0x17816a[_0x218922(0x150)]<_0x5dfab9||_0x166d75&&_0x48867e[_0x218922(0x150)]>=_0x166d75[_0x218922(0x143)])return _0x48867e;}}export async function resolveTenantCode(){const _0xa2b9ca=a158_0x5842ea,_0x18beb8=await getSessionUserInfo(),_0x64afc0=_0x18beb8?.[_0xa2b9ca(0x140)]?.[_0xa2b9ca(0x165)]?.[_0xa2b9ca(0x16f)];if(!_0x64afc0)throw CliErrors[_0xa2b9ca(0x153)]('Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.');return _0x64afc0;}function matchMember(_0x412451,_0x305f8b){const _0x2904e3=a158_0x5842ea,_0x5752f2=_0x305f8b['trim']()[_0x2904e3(0x146)]();return(_0x412451['nickname']??'')[_0x2904e3(0x146)]()===_0x5752f2||(_0x412451[_0x2904e3(0x175)]??'')[_0x2904e3(0x146)]()===_0x5752f2;}export async function resolveUserRef(_0xcc38bf){const _0x34eafd=a158_0x5842ea,_0x3eefa7=_0xcc38bf[_0x34eafd(0x158)]();if(!_0x3eefa7)throw CliErrors['validation']('Missing\x20user\x20reference.','Pass\x20--user\x20<id|name>.');const _0x4a4793=await resolveTenantCode(),_0x86dfef=await getTenantMembers(_0x4a4793);if(/^\d+$/[_0x34eafd(0x13c)](_0x3eefa7)){const _0x5bb81f=Number(_0x3eefa7),_0x3c36b6=_0x86dfef[_0x34eafd(0x15c)](_0x3ee1a4=>_0x3ee1a4[_0x34eafd(0x135)]===_0x5bb81f);return{'userId':_0x5bb81f,'username':_0x3c36b6?.['username']??String(_0x5bb81f),'nickname':_0x3c36b6?.[_0x34eafd(0x154)],'matchedBy':'id'};}const _0x2af304=_0x86dfef[_0x34eafd(0x16e)](_0x4392db=>matchMember(_0x4392db,_0x3eefa7));if(_0x2af304[_0x34eafd(0x150)]===0x0)throw CliErrors[_0x34eafd(0x160)](_0x34eafd(0x130)+_0x3eefa7+'\x22.',_0x34eafd(0x16c));if(_0x2af304['length']>0x1){const _0x11a36b=_0x2af304[_0x34eafd(0x14a)](_0xc3d18b=>(_0xc3d18b['nickname']??_0xc3d18b[_0x34eafd(0x175)]??'?')+'('+_0xc3d18b['userId']+')')['join'](',\x20');throw CliErrors[_0x34eafd(0x160)](_0x34eafd(0x13f)+_0x3eefa7+'\x22:\x20'+_0x11a36b+'.',_0x34eafd(0x12c));}const _0x3e33a2=_0x2af304[0x0];return{'userId':_0x3e33a2['userId'],'username':_0x3e33a2[_0x34eafd(0x175)]??String(_0x3e33a2['userId']),'nickname':_0x3e33a2[_0x34eafd(0x154)],'matchedBy':_0x34eafd(0x141)};}export const UPDATE_USER_LIST_PATH=a158_0x5842ea(0x171);function userIdsOf(_0xba0bc7){const _0x27f756=a158_0x5842ea;return(_0xba0bc7?.[_0x27f756(0x157)]??[])['map'](_0x391d0e=>_0x391d0e[_0x27f756(0x135)]);}export function computeRoleUserMutation(_0x8f638a){const _0xef893b=a158_0x5842ea,{operation:_0x32bd89,appCode:_0x1d734b,roleUsers:_0x68acaa,targetRoleId:_0x4c2f79,user:_0x3c21cd}=_0x8f638a,_0x531578=_0x68acaa[_0xef893b(0x15c)](_0xace78d=>_0xace78d['id']===_0x4c2f79);if(!_0x531578)throw CliErrors[_0xef893b(0x160)](_0xef893b(0x13b)+_0x4c2f79+_0xef893b(0x134),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x343872=userIdsOf(_0x531578),_0x1e5288=[];if(_0x8f638a[_0xef893b(0x148)]!==undefined&&_0x8f638a[_0xef893b(0x148)]!==_0x343872['length'])throw CliErrors[_0xef893b(0x160)]('Anti-drift\x20check\x20failed:\x20expected\x20'+_0x8f638a[_0xef893b(0x148)]+_0xef893b(0x13a)+_0x343872[_0xef893b(0x150)]+'.',_0xef893b(0x15b));const _0xf1cbe2=_0x343872['includes'](_0x3c21cd['userId']);let _0x27e1c3=![];const _0x369e3c=[..._0x531578[_0xef893b(0x157)]];if(_0x32bd89===_0xef893b(0x142))_0xf1cbe2?_0x1e5288[_0xef893b(0x15d)]('User\x20'+_0x3c21cd[_0xef893b(0x135)]+_0xef893b(0x131)+_0x531578[_0xef893b(0x14e)]+';\x20no\x20change.'):(_0x369e3c[_0xef893b(0x15d)]({'userId':_0x3c21cd['userId'],'username':_0x3c21cd['username'],..._0x3c21cd[_0xef893b(0x154)]?{'nickname':_0x3c21cd[_0xef893b(0x154)]}:{}}),_0x27e1c3=!![]);else{if(!_0xf1cbe2)_0x1e5288['push'](_0xef893b(0x14b)+_0x3c21cd[_0xef893b(0x135)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x531578[_0xef893b(0x14e)]+';\x20no\x20change.');else{const _0x525982=_0x369e3c[_0xef893b(0x144)](_0x4d1556=>_0x4d1556[_0xef893b(0x135)]===_0x3c21cd[_0xef893b(0x135)]);if(_0x525982>=0x0)_0x369e3c[_0xef893b(0x136)](_0x525982,0x1);_0x27e1c3=!![];}}const _0x21f1a5=_0x68acaa[_0xef893b(0x14a)](_0x2e39b1=>_0x2e39b1['id']===_0x4c2f79?{..._0x2e39b1,'userList':_0x369e3c}:_0x2e39b1),_0x5994c1=_0x369e3c[_0xef893b(0x14a)](_0x25d2ce=>_0x25d2ce[_0xef893b(0x135)]),_0x266bed={'operation':_0x32bd89,'selector':{'appCode':_0x1d734b,'roleId':_0x4c2f79,'roleName':_0x531578['roleName'],'userId':_0x3c21cd[_0xef893b(0x135)]},'before':{'userIds':_0x343872},'after':{'userIds':_0x5994c1},'dryRun':_0x8f638a[_0xef893b(0x149)],'backend':{'method':_0xef893b(0x147),'path':UPDATE_USER_LIST_PATH},'warnings':_0x1e5288};return{'roleList':_0x21f1a5,'mutation':_0x266bed,'changed':_0x27e1c3};}export async function loadRoleUsers(_0x246eec){return listRoleUsers(_0x246eec);}export function readRoleRef(_0x16c7b7){const _0x2061b1=a158_0x5842ea,_0x1089c9=_0x16c7b7[_0x2061b1(0x16a)](_0x2061b1(0x16b))[_0x2061b1(0x158)]();if(!_0x1089c9)throw CliErrors[_0x2061b1(0x139)](_0x2061b1(0x16b),_0x2061b1(0x15f));return _0x1089c9;}export async function prepareUserMutation(_0x1f8704,_0x269fbc,_0x171eba){const _0x2f6ecc=a158_0x5842ea,_0x54a0eb=readRoleRef(_0x1f8704),_0x32af4a=_0x1f8704['str'](_0x2f6ecc(0x140))[_0x2f6ecc(0x158)]();if(!_0x32af4a)throw CliErrors[_0x2f6ecc(0x139)](_0x2f6ecc(0x140),_0x2f6ecc(0x12e));const _0x4c71a3=_0x1f8704[_0x2f6ecc(0x176)](_0x2f6ecc(0x164)),_0x41a458=_0x4c71a3===undefined||_0x4c71a3===null?undefined:Number(_0x4c71a3),_0x39937a=await resolveRoleRef(_0x1f8704[_0x2f6ecc(0x151)],_0x54a0eb),_0x480dd9=await resolveUserRef(_0x32af4a),_0x3ab1ba=await loadRoleUsers(_0x1f8704[_0x2f6ecc(0x151)]);return computeRoleUserMutation({'operation':_0x269fbc,'appCode':_0x1f8704[_0x2f6ecc(0x151)],'roleUsers':_0x3ab1ba,'targetRoleId':_0x39937a['id'],'user':{'userId':_0x480dd9[_0x2f6ecc(0x135)],'username':_0x480dd9[_0x2f6ecc(0x175)],'nickname':_0x480dd9[_0x2f6ecc(0x154)]},'dryRun':_0x171eba,..._0x41a458!==undefined?{'expectUserCount':_0x41a458}:{}});}
|
|
1
|
+
const a159_0x368088=a159_0x1417;(function(_0xd9d646,_0x43c5cb){const _0x3c48f5=a159_0x1417,_0x134106=_0xd9d646();while(!![]){try{const _0x508a54=-parseInt(_0x3c48f5(0x239))/0x1*(parseInt(_0x3c48f5(0x1f6))/0x2)+parseInt(_0x3c48f5(0x1fa))/0x3+parseInt(_0x3c48f5(0x21c))/0x4+-parseInt(_0x3c48f5(0x20f))/0x5+-parseInt(_0x3c48f5(0x235))/0x6+parseInt(_0x3c48f5(0x22c))/0x7+parseInt(_0x3c48f5(0x22d))/0x8*(parseInt(_0x3c48f5(0x1f0))/0x9);if(_0x508a54===_0x43c5cb)break;else _0x134106['push'](_0x134106['shift']());}catch(_0x45e62f){_0x134106['push'](_0x134106['shift']());}}}(a159_0x3c05,0x818d5));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a159_0x368088(0x21f)};export const ROLE_REF_FLAG={'name':a159_0x368088(0x22a),'type':a159_0x368088(0x21e),'required':!![],'description':a159_0x368088(0x214)};function a159_0x1417(_0x4b2ef8,_0x58e2a6){_0x4b2ef8=_0x4b2ef8-0x1eb;const _0x3c053d=a159_0x3c05();let _0x1417c8=_0x3c053d[_0x4b2ef8];return _0x1417c8;}export const USER_REF_FLAG={'name':a159_0x368088(0x238),'type':a159_0x368088(0x21e),'required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':a159_0x368088(0x1f9),'type':a159_0x368088(0x21e),'required':!![],'description':a159_0x368088(0x1fc)};export const USER_NAME_FLAG={'name':a159_0x368088(0x1f9),'type':a159_0x368088(0x21e),'required':!![],'description':a159_0x368088(0x236)};export const REMARK_FLAG={'name':a159_0x368088(0x232),'type':a159_0x368088(0x21e),'required':![],'description':a159_0x368088(0x23a)};export const EXPECT_USER_COUNT_FLAG={'name':a159_0x368088(0x200),'type':a159_0x368088(0x215),'required':![],'description':a159_0x368088(0x221)};export const BUILTIN_ROLE_TYPES=[a159_0x368088(0x1ff),a159_0x368088(0x1f4),a159_0x368088(0x20d)];function a159_0x3c05(){const _0x1ce5d4=['\x22\x20not\x20found\x20in\x20app\x20','userList','8361vCBXkp','Pass\x20--role\x20<id|name>.','No\x20tenant\x20member\x20matches\x20\x22','username','DEV','\x20is\x20already\x20a\x20member\x20of\x20role\x20','1320SRvtMX','/smartapi/permit/user-role/update-user-list','nickname','name','1602201DSEDuX','Cannot\x20','Role\x20name','Role\x20name\x20\x22','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','ADMIN','expect-user-count','\x20member(s)\x20but\x20role\x20has\x20','appCode','roleType','trim','validation','POST','toLowerCase','tenant_code','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','test','\x20not\x20found\x20in\x20app\x20','USER','user-add','2475645OwyqwF','CUSTOM','Role\x20id\x20','Disambiguate\x20with\x20--role\x20<id>.','includes','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','number','tenant','filter','map','flagMissing','str','User\x20','2493956qaKASo','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','string','Role\x20id\x20(from\x20`role\x20list`)','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','dryRun','findIndex','\x22:\x20','Missing\x20user\x20reference.','\x22\x20is\x20ambiguous\x20(ids:\x20','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','flag',';\x20no\x20change.','role','push','5041498nXrBFn','2600nWoItK','expectUserCount','\x20built-in\x20role\x20','length','roleName','remark','Anti-drift\x20check\x20failed:\x20expected\x20','authRequired','5660286iFXErJ','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','user','319pphVfG','Optional\x20role\x20remark/description','userId','Disambiguate\x20with\x20--user\x20<id>.','totalCount','splice'];a159_0x3c05=function(){return _0x1ce5d4;};return a159_0x3c05();}export function isBuiltinRole(_0x59a667){const _0x4cf0c2=a159_0x368088;return BUILTIN_ROLE_TYPES[_0x4cf0c2(0x213)](_0x59a667);}export function assertCustomRole(_0x5f0687,_0x2da087){const _0x64db26=a159_0x368088;if(_0x5f0687[_0x64db26(0x203)]!==_0x64db26(0x210))throw CliErrors['validation'](_0x64db26(0x1fb)+_0x2da087+_0x64db26(0x22f)+_0x5f0687[_0x64db26(0x231)]+'\x20('+_0x5f0687['roleType']+').',_0x64db26(0x209));}export function assertPermConfigurable(_0x395bd9){const _0x559119=a159_0x368088;if(_0x395bd9[_0x559119(0x203)]===_0x559119(0x1f4)||_0x395bd9[_0x559119(0x203)]===_0x559119(0x1ff))throw CliErrors[_0x559119(0x205)](_0x559119(0x227)+_0x395bd9[_0x559119(0x231)]+'\x20('+_0x395bd9[_0x559119(0x203)]+').',_0x559119(0x1fe));}export function projectRole(_0x14212e){const _0x34b171=a159_0x368088;return{'id':_0x14212e['id'],'roleName':_0x14212e[_0x34b171(0x231)],'roleType':_0x14212e[_0x34b171(0x203)],'remark':_0x14212e['remark'],'userCount':_0x14212e['userCount'],'permitCount':_0x14212e['permitCount'],'builtin':isBuiltinRole(_0x14212e[_0x34b171(0x203)])};}export async function resolveRoleRef(_0x151121,_0x148e70){const _0x57bc73=a159_0x368088,_0x4f6a6c=_0x148e70[_0x57bc73(0x204)]();if(!_0x4f6a6c)throw CliErrors[_0x57bc73(0x205)]('Missing\x20role\x20reference.',_0x57bc73(0x1f1));if(/^\d+$/[_0x57bc73(0x20b)](_0x4f6a6c))return getRoleById(_0x151121,Number(_0x4f6a6c));const _0x3247ea=await listAllAppRoles(_0x151121),_0x598de3=_0x3247ea[_0x57bc73(0x217)](_0x189878=>_0x189878[_0x57bc73(0x231)]===_0x4f6a6c);if(_0x598de3[_0x57bc73(0x230)]===0x0)throw CliErrors[_0x57bc73(0x205)]('Role\x20name\x20\x22'+_0x4f6a6c+_0x57bc73(0x1ee)+_0x151121+'.',_0x57bc73(0x220));if(_0x598de3[_0x57bc73(0x230)]>0x1){const _0x188e3e=_0x598de3['map'](_0x458db6=>_0x458db6['id'])['join'](',\x20');throw CliErrors[_0x57bc73(0x205)](_0x57bc73(0x1fd)+_0x4f6a6c+_0x57bc73(0x226)+_0x188e3e+').',_0x57bc73(0x212));}return _0x598de3[0x0];}export async function getRoleById(_0x46c796,_0x1a1a17){const _0x36bd98=a159_0x368088,_0x48b531=await getAppRole(_0x1a1a17);if(!_0x48b531)throw CliErrors['validation'](_0x36bd98(0x211)+_0x1a1a17+_0x36bd98(0x20c)+_0x46c796+'.',_0x36bd98(0x20a));return _0x48b531;}async function listAllAppRoles(_0x4bb37c){const _0x4b6f34=a159_0x368088,_0x101bca=0x64,_0x44e39e=[];for(let _0x5a1812=0x1;;_0x5a1812+=0x1){const {items:_0x2de48d,paging:_0x5ae265}=await listAppRoles(_0x4bb37c,{'currentPage':_0x5a1812,'pageSize':_0x101bca});_0x44e39e['push'](..._0x2de48d);if(_0x2de48d[_0x4b6f34(0x230)]<_0x101bca||_0x5ae265&&_0x44e39e[_0x4b6f34(0x230)]>=_0x5ae265[_0x4b6f34(0x1ec)])return _0x44e39e;}}export async function resolveTenantCode(){const _0xdf02ee=a159_0x368088,_0x1dc1d3=await getSessionUserInfo(),_0x3cf3e7=_0x1dc1d3?.[_0xdf02ee(0x238)]?.[_0xdf02ee(0x216)]?.[_0xdf02ee(0x208)];if(!_0x3cf3e7)throw CliErrors[_0xdf02ee(0x234)](_0xdf02ee(0x237));return _0x3cf3e7;}function matchMember(_0x717537,_0xe5409c){const _0x1d93a9=a159_0x368088,_0x21a3db=_0xe5409c[_0x1d93a9(0x204)]()[_0x1d93a9(0x207)]();return(_0x717537['nickname']??'')['toLowerCase']()===_0x21a3db||(_0x717537[_0x1d93a9(0x1f3)]??'')[_0x1d93a9(0x207)]()===_0x21a3db;}export async function resolveUserRef(_0x27a7d7){const _0x5b7211=a159_0x368088,_0xa32c70=_0x27a7d7['trim']();if(!_0xa32c70)throw CliErrors[_0x5b7211(0x205)](_0x5b7211(0x225),'Pass\x20--user\x20<id|name>.');const _0x8a26ca=await resolveTenantCode(),_0x40d978=await getTenantMembers(_0x8a26ca);if(/^\d+$/[_0x5b7211(0x20b)](_0xa32c70)){const _0x5a59b1=Number(_0xa32c70),_0x5dc9ad=_0x40d978['find'](_0x2c4445=>_0x2c4445[_0x5b7211(0x23b)]===_0x5a59b1);return{'userId':_0x5a59b1,'username':_0x5dc9ad?.[_0x5b7211(0x1f3)]??String(_0x5a59b1),'nickname':_0x5dc9ad?.[_0x5b7211(0x1f8)],'matchedBy':'id'};}const _0x271308=_0x40d978[_0x5b7211(0x217)](_0x24b922=>matchMember(_0x24b922,_0xa32c70));if(_0x271308['length']===0x0)throw CliErrors[_0x5b7211(0x205)](_0x5b7211(0x1f2)+_0xa32c70+'\x22.',_0x5b7211(0x21d));if(_0x271308[_0x5b7211(0x230)]>0x1){const _0x37f9bd=_0x271308['map'](_0x67d9ba=>(_0x67d9ba[_0x5b7211(0x1f8)]??_0x67d9ba[_0x5b7211(0x1f3)]??'?')+'('+_0x67d9ba[_0x5b7211(0x23b)]+')')['join'](',\x20');throw CliErrors[_0x5b7211(0x205)]('Multiple\x20tenant\x20members\x20match\x20\x22'+_0xa32c70+_0x5b7211(0x224)+_0x37f9bd+'.',_0x5b7211(0x1eb));}const _0x514cd0=_0x271308[0x0];return{'userId':_0x514cd0[_0x5b7211(0x23b)],'username':_0x514cd0[_0x5b7211(0x1f3)]??String(_0x514cd0['userId']),'nickname':_0x514cd0[_0x5b7211(0x1f8)],'matchedBy':_0x5b7211(0x1f9)};}export const UPDATE_USER_LIST_PATH=a159_0x368088(0x1f7);function userIdsOf(_0x2430b8){const _0x1c57e9=a159_0x368088;return(_0x2430b8?.[_0x1c57e9(0x1ef)]??[])[_0x1c57e9(0x218)](_0x1417c9=>_0x1417c9[_0x1c57e9(0x23b)]);}export function computeRoleUserMutation(_0xd878fe){const _0x2db412=a159_0x368088,{operation:_0x56914a,appCode:_0x591ba5,roleUsers:_0x2f7ad2,targetRoleId:_0x434862,user:_0x409229}=_0xd878fe,_0x284fcf=_0x2f7ad2['find'](_0x1341be=>_0x1341be['id']===_0x434862);if(!_0x284fcf)throw CliErrors[_0x2db412(0x205)](_0x2db412(0x211)+_0x434862+'\x20not\x20found\x20in\x20the\x20user-role\x20list.',_0x2db412(0x20a));const _0x1decc9=userIdsOf(_0x284fcf),_0x240989=[];if(_0xd878fe[_0x2db412(0x22e)]!==undefined&&_0xd878fe[_0x2db412(0x22e)]!==_0x1decc9[_0x2db412(0x230)])throw CliErrors[_0x2db412(0x205)](_0x2db412(0x233)+_0xd878fe[_0x2db412(0x22e)]+_0x2db412(0x201)+_0x1decc9[_0x2db412(0x230)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x3a4c4d=_0x1decc9['includes'](_0x409229[_0x2db412(0x23b)]);let _0xd385af=![];const _0x2fc8f5=[..._0x284fcf[_0x2db412(0x1ef)]];if(_0x56914a===_0x2db412(0x20e))_0x3a4c4d?_0x240989[_0x2db412(0x22b)]('User\x20'+_0x409229[_0x2db412(0x23b)]+_0x2db412(0x1f5)+_0x284fcf[_0x2db412(0x231)]+_0x2db412(0x229)):(_0x2fc8f5[_0x2db412(0x22b)]({'userId':_0x409229[_0x2db412(0x23b)],'username':_0x409229['username'],..._0x409229[_0x2db412(0x1f8)]?{'nickname':_0x409229['nickname']}:{}}),_0xd385af=!![]);else{if(!_0x3a4c4d)_0x240989[_0x2db412(0x22b)](_0x2db412(0x21b)+_0x409229[_0x2db412(0x23b)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x284fcf[_0x2db412(0x231)]+_0x2db412(0x229));else{const _0x44d0ae=_0x2fc8f5[_0x2db412(0x223)](_0x4e9bca=>_0x4e9bca['userId']===_0x409229[_0x2db412(0x23b)]);if(_0x44d0ae>=0x0)_0x2fc8f5[_0x2db412(0x1ed)](_0x44d0ae,0x1);_0xd385af=!![];}}const _0xb8321b=_0x2f7ad2[_0x2db412(0x218)](_0x2dea43=>_0x2dea43['id']===_0x434862?{..._0x2dea43,'userList':_0x2fc8f5}:_0x2dea43),_0x3f248b=_0x2fc8f5[_0x2db412(0x218)](_0x13e87d=>_0x13e87d[_0x2db412(0x23b)]),_0x1b6783={'operation':_0x56914a,'selector':{'appCode':_0x591ba5,'roleId':_0x434862,'roleName':_0x284fcf[_0x2db412(0x231)],'userId':_0x409229[_0x2db412(0x23b)]},'before':{'userIds':_0x1decc9},'after':{'userIds':_0x3f248b},'dryRun':_0xd878fe[_0x2db412(0x222)],'backend':{'method':_0x2db412(0x206),'path':UPDATE_USER_LIST_PATH},'warnings':_0x240989};return{'roleList':_0xb8321b,'mutation':_0x1b6783,'changed':_0xd385af};}export async function loadRoleUsers(_0x52dfa4){return listRoleUsers(_0x52dfa4);}export function readRoleRef(_0x385f88){const _0x388efc=a159_0x368088,_0x55709d=_0x385f88[_0x388efc(0x21a)]('role')['trim']();if(!_0x55709d)throw CliErrors[_0x388efc(0x219)](_0x388efc(0x22a),_0x388efc(0x1f1));return _0x55709d;}export async function prepareUserMutation(_0x587a44,_0x2facbb,_0xfef0b2){const _0x12b46d=a159_0x368088,_0x257501=readRoleRef(_0x587a44),_0xab5c11=_0x587a44[_0x12b46d(0x21a)](_0x12b46d(0x238))[_0x12b46d(0x204)]();if(!_0xab5c11)throw CliErrors[_0x12b46d(0x219)]('user','Pass\x20--user\x20<id|name>.');const _0x7fcf79=_0x587a44[_0x12b46d(0x228)](_0x12b46d(0x200)),_0x4e7f0d=_0x7fcf79===undefined||_0x7fcf79===null?undefined:Number(_0x7fcf79),_0x680f1a=await resolveRoleRef(_0x587a44[_0x12b46d(0x202)],_0x257501),_0x4ec160=await resolveUserRef(_0xab5c11),_0x37294d=await loadRoleUsers(_0x587a44[_0x12b46d(0x202)]);return computeRoleUserMutation({'operation':_0x2facbb,'appCode':_0x587a44[_0x12b46d(0x202)],'roleUsers':_0x37294d,'targetRoleId':_0x680f1a['id'],'user':{'userId':_0x4ec160[_0x12b46d(0x23b)],'username':_0x4ec160[_0x12b46d(0x1f3)],'nickname':_0x4ec160['nickname']},'dryRun':_0xfef0b2,..._0x4e7f0d!==undefined?{'expectUserCount':_0x4e7f0d}:{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a160_0x3a78ef=a160_0x2c29;function a160_0x2c29(_0x24e28c,_0x467c4f){_0x24e28c=_0x24e28c-0x1c8;const _0x5c7591=a160_0x5c75();let _0x2c29bd=_0x5c7591[_0x24e28c];return _0x2c29bd;}(function(_0x41db52,_0x399910){const _0x21ecf2=a160_0x2c29,_0x107287=_0x41db52();while(!![]){try{const _0x27cd44=parseInt(_0x21ecf2(0x1d5))/0x1*(-parseInt(_0x21ecf2(0x1d2))/0x2)+-parseInt(_0x21ecf2(0x1cb))/0x3+-parseInt(_0x21ecf2(0x1c8))/0x4+-parseInt(_0x21ecf2(0x1df))/0x5+-parseInt(_0x21ecf2(0x1d7))/0x6*(parseInt(_0x21ecf2(0x1ce))/0x7)+parseInt(_0x21ecf2(0x1ca))/0x8+parseInt(_0x21ecf2(0x1cf))/0x9;if(_0x27cd44===_0x399910)break;else _0x107287['push'](_0x107287['shift']());}catch(_0x5de101){_0x107287['push'](_0x107287['shift']());}}}(a160_0x5c75,0xa0c49));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a160_0x5c75(){const _0x36cb5e=['9103hfXybj','update','14172rTOfLD','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','POST','validation','appCode','\x20(id=','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(DEV/ADMIN\x20rejected)','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.','2977925KlPjtT','New\x20role\x20name','1121700owWdgz','roleName','306984peDIQD','2658483ryfBhD','name','num','2387BzyrsP','34506522nMTtmO','role','remark','142QOWjCX','--name\x20cannot\x20be\x20empty.','Updated\x20role\x20'];a160_0x5c75=function(){return _0x36cb5e;};return a160_0x5c75();}import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x3f4683){const _0x1951c6=a160_0x2c29,_0x5e06e8=_0x3f4683['flag']('name'),_0x3f1532=_0x3f4683['flag']('remark'),_0x1afb33={};if(_0x5e06e8!==undefined&&_0x5e06e8!==null){const _0x2eda80=String(_0x5e06e8)['trim']();if(!_0x2eda80)throw CliErrors[_0x1951c6(0x1da)](_0x1951c6(0x1d3));if(_0x2eda80['length']>0x40)throw CliErrors['validation'](_0x1951c6(0x1d8));_0x1afb33['roleName']=_0x2eda80;}_0x3f1532!==undefined&&_0x3f1532!==null&&(_0x1afb33[_0x1951c6(0x1d1)]=String(_0x3f1532));if(_0x1afb33[_0x1951c6(0x1c9)]===undefined&&_0x1afb33['remark']===undefined)throw CliErrors[_0x1951c6(0x1da)]('Nothing\x20to\x20update.',_0x1951c6(0x1de));return _0x1afb33;}export const roleUpdate={'service':a160_0x3a78ef(0x1d0),'command':'update','description':a160_0x3a78ef(0x1dd),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a160_0x3a78ef(0x1cc),'type':'string','required':![],'description':a160_0x3a78ef(0x1e0)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x356f38){readPatch(_0x356f38);},async 'dryRun'(_0x45c90d){const _0x2ec9a4=a160_0x3a78ef,_0x4dc072=_0x45c90d[_0x2ec9a4(0x1cd)]('id'),_0x2661ec=readPatch(_0x45c90d),_0x3ea537=await getRoleById(_0x45c90d[_0x2ec9a4(0x1db)],_0x4dc072);return assertCustomRole(_0x3ea537,'update'),asDryRunResult({'operation':_0x2ec9a4(0x1d6),'selector':{'appCode':_0x45c90d[_0x2ec9a4(0x1db)],'roleId':_0x4dc072,'roleName':_0x3ea537[_0x2ec9a4(0x1c9)]},'before':projectRole(_0x3ea537),'after':projectRole({..._0x3ea537,..._0x2661ec['roleName']!==undefined?{'roleName':_0x2661ec[_0x2ec9a4(0x1c9)]}:{},..._0x2661ec[_0x2ec9a4(0x1d1)]!==undefined?{'remark':_0x2661ec['remark']}:{}}),'dryRun':!![],'backend':{'method':_0x2ec9a4(0x1d9),'path':UPDATE_PATH},'warnings':[]},{'method':_0x2ec9a4(0x1d9),'url':UPDATE_PATH});},async 'execute'(_0x321159){const _0x34ee8f=a160_0x3a78ef,_0x4261ce=_0x321159['num']('id'),_0x28d975=readPatch(_0x321159),_0x4cdf6a=await getRoleById(_0x321159[_0x34ee8f(0x1db)],_0x4261ce);assertCustomRole(_0x4cdf6a,_0x34ee8f(0x1d6)),await updateAppRole({'id':_0x4261ce,'appCode':_0x321159['appCode'],..._0x28d975[_0x34ee8f(0x1c9)]!==undefined?{'roleName':_0x28d975[_0x34ee8f(0x1c9)]}:{},..._0x28d975[_0x34ee8f(0x1d1)]!==undefined?{'remark':_0x28d975[_0x34ee8f(0x1d1)]}:{}});const _0x3d5b3e=await getRoleById(_0x321159['appCode'],_0x4261ce);return{'ok':!![],'data':{'operation':_0x34ee8f(0x1d6),'selector':{'appCode':_0x321159[_0x34ee8f(0x1db)],'roleId':_0x4261ce,'roleName':_0x3d5b3e[_0x34ee8f(0x1c9)]},'before':projectRole(_0x4cdf6a),'after':projectRole(_0x3d5b3e),'dryRun':![],'backend':{'method':_0x34ee8f(0x1d9),'path':UPDATE_PATH},'warnings':[]},'message':_0x34ee8f(0x1d4)+_0x3d5b3e[_0x34ee8f(0x1c9)]+_0x34ee8f(0x1dc)+_0x4261ce+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a161_0x4c0d0a=a161_0x1cbc;(function(_0x574a58,_0x36bde2){const _0x502220=a161_0x1cbc,_0x2d22dc=_0x574a58();while(!![]){try{const _0x24623a=-parseInt(_0x502220(0x154))/0x1*(parseInt(_0x502220(0x148))/0x2)+-parseInt(_0x502220(0x14f))/0x3*(-parseInt(_0x502220(0x142))/0x4)+-parseInt(_0x502220(0x149))/0x5*(-parseInt(_0x502220(0x144))/0x6)+-parseInt(_0x502220(0x153))/0x7*(-parseInt(_0x502220(0x151))/0x8)+-parseInt(_0x502220(0x145))/0x9+parseInt(_0x502220(0x146))/0xa*(parseInt(_0x502220(0x147))/0xb)+-parseInt(_0x502220(0x14a))/0xc;if(_0x24623a===_0x36bde2)break;else _0x2d22dc['push'](_0x2d22dc['shift']());}catch(_0x5a9382){_0x2d22dc['push'](_0x2d22dc['shift']());}}}(a161_0x2c24,0x49387));function a161_0x1cbc(_0x794599,_0x38b871){_0x794599=_0x794599-0x141;const _0x2c2425=a161_0x2c24();let _0x1cbcad=_0x2c2425[_0x794599];return _0x1cbcad;}import{updateRoleUsers}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':'role','command':a161_0x4c0d0a(0x152),'description':a161_0x4c0d0a(0x14c),'risk':'high-risk-write','flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x3d9260){const _0x1decab=a161_0x4c0d0a,{mutation:_0x911b43}=await prepareUserMutation(_0x3d9260,_0x1decab(0x152),!![]);return asDryRunResult(_0x911b43,{'method':_0x1decab(0x14d),'url':UPDATE_USER_LIST_PATH});},async 'execute'(_0xf52a0e){const _0x1d94ab=a161_0x4c0d0a,{roleList:_0x4dfbfb,mutation:_0x337b79,changed:_0x1f4b49}=await prepareUserMutation(_0xf52a0e,_0x1d94ab(0x152),![]);return _0x1f4b49&&await updateRoleUsers(_0xf52a0e[_0x1d94ab(0x150)],_0x4dfbfb),{'ok':!![],'data':_0x337b79,'message':_0x1f4b49?_0x1d94ab(0x143)+_0x337b79['selector']['userId']+_0x1d94ab(0x157)+_0x337b79[_0x1d94ab(0x14b)]['roleName']:_0x1d94ab(0x155)+_0x337b79[_0x1d94ab(0x14b)][_0x1d94ab(0x14e)]+_0x1d94ab(0x156)+_0x337b79[_0x1d94ab(0x14b)][_0x1d94ab(0x141)]};}};function a161_0x2c24(){const _0x4a6691=['57849PvyKKf','37798FerRuk','5ImalKv','1068420xHqePN','selector','Add\x20a\x20user\x20to\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','POST','userId','9RNbsIl','appCode','88WhqSQV','user-add','98623fFYaeZ','16egufez','No\x20change:\x20user\x20','\x20already\x20in\x20role\x20','\x20to\x20role\x20','roleName','104564jNRREb','Added\x20user\x20','628014BfYFUo','843804HOjuJr','850qoXARG'];a161_0x2c24=function(){return _0x4a6691;};return a161_0x2c24();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a162_0x28af7e=a162_0x428d;(function(_0x2e0bca,_0x37f855){const _0x97ca72=a162_0x428d,_0x4ec60a=_0x2e0bca();while(!![]){try{const _0x52a0fd=-parseInt(_0x97ca72(0x15c))/0x1+-parseInt(_0x97ca72(0x15b))/0x2+parseInt(_0x97ca72(0x158))/0x3*(-parseInt(_0x97ca72(0x156))/0x4)+-parseInt(_0x97ca72(0x153))/0x5*(-parseInt(_0x97ca72(0x159))/0x6)+-parseInt(_0x97ca72(0x151))/0x7*(-parseInt(_0x97ca72(0x14a))/0x8)+-parseInt(_0x97ca72(0x157))/0x9*(-parseInt(_0x97ca72(0x154))/0xa)+parseInt(_0x97ca72(0x149))/0xb;if(_0x52a0fd===_0x37f855)break;else _0x4ec60a['push'](_0x4ec60a['shift']());}catch(_0x62b07a){_0x4ec60a['push'](_0x4ec60a['shift']());}}}(a162_0x45ac,0x9d9e9));function a162_0x428d(_0x26ccf8,_0x5a8ac5){_0x26ccf8=_0x26ccf8-0x149;const _0x45ac08=a162_0x45ac();let _0x428d4c=_0x45ac08[_0x26ccf8];return _0x428d4c;}import{updateRoleUsers}from'../../core/api-client.js';function a162_0x45ac(){const _0x37b807=['role','1623288bSJcRm','1249005vAAKPZ','appCode','user-remove','23055142HQGprV','8loWzCe','userId','roleName','\x20not\x20in\x20role\x20','\x20from\x20role\x20','No\x20change:\x20user\x20','Removed\x20user\x20','3455053Esxxow','high-risk-write','12205fnTiGk','222490iKboyS','selector','536yoLKxX','36IDjXZf','1947gzyyxq','282MCIjvv'];a162_0x45ac=function(){return _0x37b807;};return a162_0x45ac();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,prepareUserMutation,ROLE_REF_FLAG,UPDATE_USER_LIST_PATH,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserRemove={'service':a162_0x28af7e(0x15a),'command':a162_0x28af7e(0x15e),'description':'Remove\x20a\x20user\x20from\x20a\x20role\x20(internal\x20merge\x20+\x20anti-drift);\x20requires\x20--yes','risk':a162_0x28af7e(0x152),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x2bfd4d){const _0x4bade7=a162_0x28af7e,{mutation:_0x1efd8b}=await prepareUserMutation(_0x2bfd4d,_0x4bade7(0x15e),!![]);return asDryRunResult(_0x1efd8b,{'method':'POST','url':UPDATE_USER_LIST_PATH});},async 'execute'(_0x2a8002){const _0x5cca92=a162_0x28af7e,{roleList:_0x9bde3b,mutation:_0xda91de,changed:_0x3c7c36}=await prepareUserMutation(_0x2a8002,'user-remove',![]);return _0x3c7c36&&await updateRoleUsers(_0x2a8002[_0x5cca92(0x15d)],_0x9bde3b),{'ok':!![],'data':_0xda91de,'message':_0x3c7c36?_0x5cca92(0x150)+_0xda91de[_0x5cca92(0x155)][_0x5cca92(0x14b)]+_0x5cca92(0x14e)+_0xda91de['selector'][_0x5cca92(0x14c)]:_0x5cca92(0x14f)+_0xda91de[_0x5cca92(0x155)][_0x5cca92(0x14b)]+_0x5cca92(0x14d)+_0xda91de[_0x5cca92(0x155)][_0x5cca92(0x14c)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a163_0x581f23=a163_0x2449;function a163_0x2449(_0x33445a,_0x4f5dd6){_0x33445a=_0x33445a-0x170;const _0x344cc6=a163_0x344c();let _0x2449c5=_0x344cc6[_0x33445a];return _0x2449c5;}(function(_0x1cc47e,_0x532d45){const _0x35e599=a163_0x2449,_0x230ade=_0x1cc47e();while(!![]){try{const _0x2dbdaa=-parseInt(_0x35e599(0x186))/0x1+-parseInt(_0x35e599(0x175))/0x2+-parseInt(_0x35e599(0x173))/0x3*(parseInt(_0x35e599(0x17f))/0x4)+-parseInt(_0x35e599(0x183))/0x5+parseInt(_0x35e599(0x181))/0x6*(-parseInt(_0x35e599(0x170))/0x7)+parseInt(_0x35e599(0x176))/0x8+-parseInt(_0x35e599(0x179))/0x9*(-parseInt(_0x35e599(0x184))/0xa);if(_0x2dbdaa===_0x532d45)break;else _0x230ade['push'](_0x230ade['shift']());}catch(_0x528c04){_0x230ade['push'](_0x230ade['shift']());}}}(a163_0x344c,0x3bc24));import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':a163_0x581f23(0x17b),'description':a163_0x581f23(0x178),'risk':a163_0x581f23(0x17c),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x525b5a){const _0x51440b=a163_0x581f23;if(!_0x525b5a[_0x51440b(0x174)](_0x51440b(0x17a))[_0x51440b(0x182)]())throw CliErrors[_0x51440b(0x171)]('name',_0x51440b(0x17d));},async 'execute'(_0x5a461c){const _0xb6410d=a163_0x581f23,_0x369cfe=_0x5a461c['str']('name')[_0xb6410d(0x182)](),_0x18f282=await resolveUserRef(_0x369cfe);return{'ok':!![],'data':{'user':{'userId':_0x18f282['userId'],'username':_0x18f282[_0xb6410d(0x185)],'nickname':_0x18f282['nickname'],'matchedBy':_0x18f282[_0xb6410d(0x180)]}},'message':_0xb6410d(0x172)+_0x369cfe+_0xb6410d(0x17e)+_0x18f282[_0xb6410d(0x177)]};}};function a163_0x344c(){const _0x29f0d2=['read','Pass\x20--name\x20<nickname|username>.','\x22\x20→\x20userId\x20','1730348CHVCOW','matchedBy','1149180KfSLTr','trim','1663025DBKOkx','11919410DGLlTZ','username','19802zmGgVO','7tFLIBT','flagMissing','Resolved\x20\x22','3sYjtza','str','492530KovoqV','2204960AEUcyK','userId','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','9QgRUga','name','user-resolve'];a163_0x344c=function(){return _0x29f0d2;};return a163_0x344c();}
|