@lovrabet/rabetbase-cli 2.3.11-beta.1 → 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 -1
- 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
|
-
const a152_0x2a75be=a152_0x5453;function a152_0x5453(_0x48c7bb,_0x198f20){_0x48c7bb=_0x48c7bb-0x88;const _0x164be1=a152_0x164b();let _0x5453c2=_0x164be1[_0x48c7bb];return _0x5453c2;}(function(_0x5e6d0a,_0x5245e7){const _0xba902d=a152_0x5453,_0x540b73=_0x5e6d0a();while(!![]){try{const _0x5123a6=-parseInt(_0xba902d(0xac))/0x1*(parseInt(_0xba902d(0xbc))/0x2)+-parseInt(_0xba902d(0x10a))/0x3+parseInt(_0xba902d(0xf0))/0x4+-parseInt(_0xba902d(0x101))/0x5*(-parseInt(_0xba902d(0xdc))/0x6)+-parseInt(_0xba902d(0xb3))/0x7*(parseInt(_0xba902d(0xb4))/0x8)+parseInt(_0xba902d(0xe4))/0x9*(-parseInt(_0xba902d(0xca))/0xa)+-parseInt(_0xba902d(0x9d))/0xb*(-parseInt(_0xba902d(0xa0))/0xc);if(_0x5123a6===_0x5245e7)break;else _0x540b73['push'](_0x540b73['shift']());}catch(_0x26b123){_0x540b73['push'](_0x540b73['shift']());}}}(a152_0x164b,0x59a59));import a152_0x17a978 from'chalk';import a152_0x320e4c 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_0x2a75be(0xa5)](_0x457cb0=>_0x457cb0!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x147fd7){const _0x51a591=a152_0x2a75be,_0x1d0e74=[];for(const _0x31b381 of Object[_0x51a591(0x97)](CORE_IDE_CONFIGS)){if(_0x31b381[_0x51a591(0xa4)])for(const _0x3c79f5 of _0x31b381[_0x51a591(0xa4)]){_0x1d0e74[_0x51a591(0xbd)](resolve(_0x147fd7,_0x3c79f5[_0x51a591(0xc7)]));}}return _0x1d0e74;}function analyse(_0x4ef322){const _0x4b56ea=a152_0x2a75be;let _0x1b1799=null;const _0x1c9246=resolve(_0x4ef322,NEW_CONFIG_NAME),_0x5386a8=existsSync(_0x1c9246);for(const _0x50e467 of LEGACY_CONFIG_NAMES){const _0x3d6933=resolve(_0x4ef322,_0x50e467);if(existsSync(_0x3d6933)){const _0x3090f3=readConfigFile(_0x3d6933),_0x1e4564=Object[_0x4b56ea(0xf9)](_0x3090f3)[_0x4b56ea(0xa5)](_0x33c697=>typeof _0x3090f3[_0x33c697]!=='undefined');_0x1b1799={'oldPath':_0x3d6933,'hasNewConfig':_0x5386a8,'fields':_0x1e4564};break;}}const _0x5bc26d=[],_0x456d89=resolve(_0x4ef322,_0x4b56ea(0x105));if(existsSync(_0x456d89))_0x5bc26d[_0x4b56ea(0xbd)](_0x456d89);const _0x2e0e02=resolve(_0x4ef322,_0x4b56ea(0xe3));if(existsSync(_0x2e0e02))_0x5bc26d['push'](_0x2e0e02);const _0x2ffd44=resolve(_0x4ef322,_0x4b56ea(0xc8));if(existsSync(_0x2ffd44))_0x5bc26d[_0x4b56ea(0xbd)](_0x2ffd44);for(const _0x35cfea of collectIdeSkillFiles(_0x4ef322)){if(existsSync(_0x35cfea))_0x5bc26d[_0x4b56ea(0xbd)](_0x35cfea);}let _0x1e6b41=null;const _0x3914dc=resolve(_0x4ef322,_0x4b56ea(0xbe));if(existsSync(_0x3914dc))try{const _0x5215be=JSON['parse'](readFileSync(_0x3914dc,_0x4b56ea(0x88)));if(_0x5215be?.[_0x4b56ea(0xd2)]&&typeof _0x5215be[_0x4b56ea(0xd2)]===_0x4b56ea(0xa8)){const _0x112ebc=[];for(const [_0x13a575,_0x2ce702]of Object['entries'](_0x5215be[_0x4b56ea(0xd2)])){const _0x2b5a07=_0x2ce702;_0x2b5a07?.[_0x4b56ea(0xd1)]&&Array[_0x4b56ea(0xea)](_0x2b5a07[_0x4b56ea(0xd1)])&&_0x2b5a07['args'][_0x4b56ea(0x89)](_0x3be56c=>typeof _0x3be56c==='string'&&_0x3be56c[_0x4b56ea(0xd6)](_0x4b56ea(0xe2)))&&_0x112ebc[_0x4b56ea(0xbd)](_0x13a575);}_0x112ebc[_0x4b56ea(0xf7)]>0x0&&(_0x1e6b41={'path':_0x3914dc,'keys':_0x112ebc});}}catch{}const _0x828ebb=_0x5bc26d['length']>0x0||_0x1b1799!==null;let _0x1473c7=null;const _0x4bddc2=resolve(_0x4ef322,_0x4b56ea(0xc6));if(existsSync(_0x4bddc2))try{const _0x55e24d=JSON[_0x4b56ea(0x96)](readFileSync(_0x4bddc2,'utf8'));for(const _0x4d9428 of['dependencies',_0x4b56ea(0xa7)]){const _0x4da548=_0x55e24d?.[_0x4d9428]?.['@lovrabet/sdk'];if(typeof _0x4da548===_0x4b56ea(0xae)){_0x4da548!=='latest'&&(_0x1473c7={'pkgPath':_0x4bddc2,'currentVersion':_0x4da548,'field':_0x4d9428});break;}}}catch{}return{'configMigration':_0x1b1799,'oldArtifacts':_0x5bc26d,'oldMcpConfig':_0x1e6b41,'needsSkillSwap':_0x828ebb,'sdkUpgrade':_0x1473c7};}function printReport(_0x22a61b){const _0x44d8bc=a152_0x2a75be,{configMigration:_0x56d556,oldArtifacts:_0x205787,oldMcpConfig:_0x2a7ab9,needsSkillSwap:_0x4462f4}=_0x22a61b;console[_0x44d8bc(0x8b)](''),console['log'](a152_0x17a978[_0x44d8bc(0x8e)](_0x44d8bc(0x8d))),console[_0x44d8bc(0x8b)]('');_0x56d556?(console[_0x44d8bc(0x8b)](a152_0x17a978[_0x44d8bc(0xa1)]('Config\x20file:')+('\x20\x20'+a152_0x17a978[_0x44d8bc(0xc2)](_0x56d556[_0x44d8bc(0xad)]))),console[_0x44d8bc(0x8b)](_0x44d8bc(0xa2)+(_0x56d556[_0x44d8bc(0xe8)]?a152_0x17a978[_0x44d8bc(0xdf)](_0x44d8bc(0xce)):a152_0x17a978['gray'](_0x44d8bc(0x8c)))),console[_0x44d8bc(0x8b)](_0x44d8bc(0x10b)+_0x56d556[_0x44d8bc(0xaa)]['join'](',\x20')),console[_0x44d8bc(0x8b)](_0x44d8bc(0xf6))):console[_0x44d8bc(0x8b)](a152_0x17a978[_0x44d8bc(0xa1)]('Config\x20file:')+'\x20\x20'+a152_0x17a978[_0x44d8bc(0xa9)]('no\x20legacy\x20config\x20found'));console[_0x44d8bc(0x8b)]('');if(_0x205787[_0x44d8bc(0xf7)]>0x0){console[_0x44d8bc(0x8b)](a152_0x17a978[_0x44d8bc(0xa1)](_0x44d8bc(0x92)));for(const _0x1562f6 of _0x205787){console[_0x44d8bc(0x8b)]('\x20\x20'+a152_0x17a978[_0x44d8bc(0xb1)](_0x44d8bc(0xbb))+'\x20\x20'+_0x1562f6);}console[_0x44d8bc(0x8b)](_0x44d8bc(0xeb));}else console['log'](a152_0x17a978[_0x44d8bc(0xa1)]('Legacy\x20artifacts:')+'\x20\x20'+a152_0x17a978[_0x44d8bc(0xa9)](_0x44d8bc(0xd5)));console[_0x44d8bc(0x8b)]('');_0x2a7ab9?(console[_0x44d8bc(0x8b)](a152_0x17a978['cyan'](_0x44d8bc(0xcf))+('\x20\x20'+a152_0x17a978['yellow'](_0x2a7ab9[_0x44d8bc(0xc7)])+_0x44d8bc(0xc1)+_0x2a7ab9[_0x44d8bc(0xf9)][_0x44d8bc(0xaf)](',\x20'))),console[_0x44d8bc(0x8b)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x44d8bc(0x8b)](a152_0x17a978[_0x44d8bc(0xa1)](_0x44d8bc(0xcf))+'\x20\x20'+a152_0x17a978[_0x44d8bc(0xa9)](_0x44d8bc(0xcd)));console[_0x44d8bc(0x8b)](''),console[_0x44d8bc(0x8b)](a152_0x17a978['cyan'](_0x44d8bc(0x9f))+('\x20\x20'+(_0x4462f4?a152_0x17a978['yellow'](_0x44d8bc(0xd7)):a152_0x17a978[_0x44d8bc(0xdf)](_0x44d8bc(0xa3)))));_0x4462f4&&console['log'](_0x44d8bc(0xe6)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x22a61b[_0x44d8bc(0xd0)]){const {currentVersion:_0x3b1c91,field:_0x331e42,pkgPath:_0x56d727}=_0x22a61b[_0x44d8bc(0xd0)];console['log'](a152_0x17a978[_0x44d8bc(0xa1)](_0x44d8bc(0xb7))+('\x20\x20'+a152_0x17a978['yellow'](_0x56d727))),console[_0x44d8bc(0x8b)](_0x44d8bc(0x9b)+_0x331e42+':\x20'+a152_0x17a978[_0x44d8bc(0xc2)](_0x3b1c91)+_0x44d8bc(0xc5)+a152_0x17a978[_0x44d8bc(0xdf)](_0x44d8bc(0x9a))),console[_0x44d8bc(0x8b)](_0x44d8bc(0x106));}else console['log'](a152_0x17a978[_0x44d8bc(0xa1)]('@lovrabet/sdk:')+'\x20\x20'+a152_0x17a978[_0x44d8bc(0xa9)](_0x44d8bc(0x95)));console[_0x44d8bc(0x8b)]('');}function execConfigMigration(_0x16459e,_0xe84415){const _0x5d7c2e=a152_0x2a75be,{configMigration:_0x3ec15f}=_0x16459e;if(!_0x3ec15f?.[_0x5d7c2e(0xad)])return{'step':0x1,'label':_0x5d7c2e(0x93),'ok':!![],'detail':_0x5d7c2e(0xf2)};const _0x46149e=readConfigFile(_0x3ec15f[_0x5d7c2e(0xad)]),_0xcaea2e=resolve(_0xe84415,NEW_CONFIG_NAME),_0x3b537c=_0x3ec15f['hasNewConfig']?readConfigFile(_0xcaea2e):{};for(const [_0x56a350,_0x2f606b]of Object[_0x5d7c2e(0xe7)](_0x46149e)){!(_0x56a350 in _0x3b537c)&&(_0x3b537c[_0x56a350]=_0x2f606b);}writeConfigFile(_0xcaea2e,_0x3b537c);const _0x3ee538=_0x3ec15f['oldPath']+_0x5d7c2e(0xb6);return renameSync(_0x3ec15f[_0x5d7c2e(0xad)],_0x3ee538),{'step':0x1,'label':_0x5d7c2e(0x93),'ok':!![],'detail':_0x3ec15f[_0x5d7c2e(0xad)]+_0x5d7c2e(0xc5)+_0xcaea2e+_0x5d7c2e(0x103)+_0x3ee538+')'};}function execRemoveOldArtifacts(_0x27ee8f){const _0x40b59a=a152_0x2a75be,_0x52390a=[];for(const _0x3e837e of _0x27ee8f){try{if(!existsSync(_0x3e837e))continue;const _0x53b178=tryStat(_0x3e837e);_0x53b178?.[_0x40b59a(0xd8)]()?rmSync(_0x3e837e,{'recursive':!![],'force':!![]}):unlinkSync(_0x3e837e);}catch(_0x44e59a){_0x52390a[_0x40b59a(0xbd)](_0x3e837e+':\x20'+_0x44e59a[_0x40b59a(0x90)]);}}return{'step':0x3,'label':_0x40b59a(0xbf),'ok':_0x52390a[_0x40b59a(0xf7)]===0x0,'detail':_0x52390a[_0x40b59a(0xf7)]>0x0?_0x27ee8f[_0x40b59a(0xf7)]-_0x52390a[_0x40b59a(0xf7)]+'/'+_0x27ee8f[_0x40b59a(0xf7)]+_0x40b59a(0xfa)+_0x52390a[_0x40b59a(0xaf)](';\x20')+')':_0x27ee8f[_0x40b59a(0xf7)]+'\x20removed'};}function execCleanMcp(_0x528fc7){const _0x53832f=a152_0x2a75be;if(!_0x528fc7[_0x53832f(0xd3)])return{'step':0x4,'label':_0x53832f(0xda),'ok':!![],'detail':_0x53832f(0xf4)};try{const _0x443b7d=readFileSync(_0x528fc7[_0x53832f(0xd3)]['path'],'utf8'),_0x17964a=JSON[_0x53832f(0x96)](_0x443b7d);if(_0x17964a?.[_0x53832f(0xd2)]&&typeof _0x17964a[_0x53832f(0xd2)]===_0x53832f(0xa8)){const _0x3718d0=[];for(const [_0x14195d,_0x3cb3d9]of Object[_0x53832f(0xe7)](_0x17964a[_0x53832f(0xd2)])){_0x3cb3d9?.['args']&&Array[_0x53832f(0xea)](_0x3cb3d9[_0x53832f(0xd1)])&&_0x3cb3d9['args'][_0x53832f(0x89)](_0x33d300=>typeof _0x33d300==='string'&&_0x33d300['includes']('@lovrabet/dataset-mcp-server'))&&_0x3718d0[_0x53832f(0xbd)](_0x14195d);}for(const _0x1b5e29 of _0x3718d0){delete _0x17964a['mcpServers'][_0x1b5e29];}return _0x3718d0['length']>0x0&&writeFileSync(_0x528fc7[_0x53832f(0xd3)][_0x53832f(0xc7)],JSON['stringify'](_0x17964a,null,0x2)+'\x0a',_0x53832f(0x88)),{'step':0x4,'label':_0x53832f(0xda),'ok':!![],'detail':_0x53832f(0xcc)+_0x3718d0[_0x53832f(0xaf)](',\x20')+_0x53832f(0xee)+_0x528fc7[_0x53832f(0xd3)][_0x53832f(0xc7)]};}return{'step':0x4,'label':_0x53832f(0xda),'ok':!![],'detail':_0x53832f(0x9e)};}catch(_0x831e77){return{'step':0x4,'label':_0x53832f(0xda),'ok':![],'detail':_0x831e77[_0x53832f(0x90)]};}}function execSkillsRemove(_0x6eef66,_0x33abd9){const _0x583b11=a152_0x2a75be,_0x845faf=runNpxSkillsRemove(_0x6eef66,{'stdio':_0x583b11(0xa6),'yes':_0x33abd9});return{'step':0x5,'label':_0x583b11(0xf3),'ok':_0x845faf['ok'],'detail':_0x845faf['ok']?_0x583b11(0xcb):_0x845faf[_0x583b11(0x104)]??_0x583b11(0xc3)+_0x845faf[_0x583b11(0xc4)]};}function a152_0x164b(){const _0x220a48=['Legacy\x20artifacts:','Config\x20migration','stringify','not\x20found\x20or\x20already\x20at\x20latest','parse','values','Proceed\x20with\x20upgrade?','done','latest','\x20\x20Current\x20version\x20in\x20','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','14269607mVuemH','no\x20matching\x20entry\x20found','Skill\x20swap:','12zZqfpd','cyan','\x20\x20New\x20config\x20(.rabetbase.json):\x20','not\x20needed','files','filter','inherit','devDependencies','object','gray','fields','Upgrade\x20cancelled.','365137hDxyVG','oldPath','string','join','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','red','Upgrade\x20@lovrabet/sdk','14RVONwS','1973672VaPoSU','Step\x205/7:\x20Removing\x20old\x20skill...','.bak','@lovrabet/sdk:','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Upgrade\x20completed\x20successfully!','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','FOUND','2hAFgAZ','push','.cursor/mcp.json','Remove\x20legacy\x20artifacts','yes','\x20→\x20keys:\x20','yellow','exit\x20','status','\x20→\x20','package.json','path','.claude/skills/lovrabet','label','10UHtADd','lovrabet/lovrabet-skill\x20removed','removed\x20','no\x20legacy\x20entry','already\x20exists\x20(will\x20merge)','MCP\x20config:','sdkUpgrade','args','mcpServers','oldMcpConfig','\x20→\x20latest','none\x20found','includes','needed','isDirectory','\x20\x20Step\x20','Clean\x20MCP\x20config','\x20\x20bun\x20install','1412556MQVjSt','Step\x201/7:\x20Migrating\x20config...','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','green','configMigration','failed','@lovrabet/dataset-mcp-server','.cursor/rules/lovrabet_rules.mdc','1583793HEfaqA','succeed','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','entries','hasNewConfig','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','isArray','\x20\x20Action:\x20delete','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20from\x20','fail','1346892VqLBEO','\x20\x20#\x20or','skipped\x20(no\x20legacy\x20config)','Remove\x20old\x20skill','skipped','Remove\x20.lovrabet/','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','length','Step\x204/7:\x20Cleaning\x20MCP\x20config...','keys','\x20removed\x20(','white','lovrabet/rabetbase\x20installed\x20globally','start','detail','FAIL','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','10WZpCyZ','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','\x20(backup:\x20','error','.lovrabet','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Step\x204/7:\x20MCP\x20config\x20—\x20','Install\x20new\x20skill','\x20\x20\x20\x20\x20\x20\x20','2109261vEiEbj','\x20\x20Fields\x20to\x20migrate:\x20','utf8','some','[\x22@lovrabet/sdk\x22]:\x20','log','not\x20found\x20(will\x20create)','===\x20Upgrade\x20Analysis\x20===','bold','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','message','lovrabet/rabetbase'];a152_0x164b=function(){return _0x220a48;};return a152_0x164b();}function execSkillsAdd(_0x1d4082,_0x2f6fe0){const _0x1285c4=a152_0x2a75be,_0x347aac=runNpxSkillsAddGlobal(_0x1d4082,_0x1285c4(0x91),{'stdio':_0x1285c4(0xa6),'yes':_0x2f6fe0});return{'step':0x6,'label':_0x1285c4(0x108),'ok':_0x347aac['ok'],'detail':_0x347aac['ok']?_0x1285c4(0xfc):_0x347aac[_0x1285c4(0x104)]??_0x1285c4(0xc3)+_0x347aac[_0x1285c4(0xc4)]};}function execUpgradeSdk(_0x290b07){const _0x5ce419=a152_0x2a75be;if(!_0x290b07[_0x5ce419(0xd0)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x5ce419(0xed)};const {pkgPath:_0x4436a5,currentVersion:_0x1b1e07,field:_0x56a39f}=_0x290b07[_0x5ce419(0xd0)];try{const _0x5c7d6d=readFileSync(_0x4436a5,_0x5ce419(0x88)),_0x1c6b4e=JSON[_0x5ce419(0x96)](_0x5c7d6d);return _0x1c6b4e[_0x56a39f]['@lovrabet/sdk']=_0x5ce419(0x9a),writeFileSync(_0x4436a5,JSON[_0x5ce419(0x94)](_0x1c6b4e,null,0x2)+'\x0a',_0x5ce419(0x88)),{'step':0x7,'label':_0x5ce419(0xb2),'ok':!![],'detail':_0x56a39f+_0x5ce419(0x8a)+_0x1b1e07+_0x5ce419(0xd4)};}catch(_0x24a07d){return{'step':0x7,'label':_0x5ce419(0xb2),'ok':![],'detail':_0x24a07d['message']};}}function tryStat(_0x599977){try{return statSync(_0x599977);}catch{return undefined;}}function printSummary(_0x4d041c){const _0xe44951=a152_0x2a75be;console[_0xe44951(0x8b)](''),console['log'](a152_0x17a978['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0xe44951(0x8b)]('');for(const _0x10a1ed of _0x4d041c){const _0x224505=_0x10a1ed['ok']?a152_0x17a978[_0xe44951(0xdf)]('OK'):a152_0x17a978['red'](_0xe44951(0xff));console['log']('\x20\x20'+_0x224505+_0xe44951(0xd9)+_0x10a1ed['step']+':\x20'+_0x10a1ed[_0xe44951(0xc9)]);if(_0x10a1ed[_0xe44951(0xfe)])console[_0xe44951(0x8b)](_0xe44951(0x109)+a152_0x17a978[_0xe44951(0xa9)](_0x10a1ed['detail']));}console[_0xe44951(0x8b)]('');}export async function upgradeApp(_0x42c08b,_0xf639a8){const _0x25fab5=a152_0x2a75be,_0x5c0e4a=process['cwd'](),_0x37e21f=analyse(_0x5c0e4a),_0x36a4c3=!_0x37e21f[_0x25fab5(0xe0)]&&_0x37e21f['oldArtifacts'][_0x25fab5(0xf7)]===0x0&&!_0x37e21f['oldMcpConfig']&&!_0x37e21f['needsSkillSwap']&&!_0x37e21f[_0x25fab5(0xd0)];if(_0x36a4c3){console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xdf)](_0x25fab5(0x8f)));return;}printReport(_0x37e21f);const _0x1af576=!!(_0xf639a8[_0x25fab5(0xc0)]||_0xf639a8['Y']||_0x42c08b);if(!_0x1af576)try{const _0x548829=await askConfirm(_0x25fab5(0x98));if(!_0x548829){console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xa9)](_0x25fab5(0xab)));return;}}catch(_0x41ed2d){if(_0x41ed2d?.['message']==='CANCEL'){console[_0x25fab5(0x8b)](a152_0x17a978['gray'](_0x25fab5(0xab)));return;}throw _0x41ed2d;}const _0x4df3a0=[],_0x640752=a152_0x320e4c({'text':_0x25fab5(0xdd),'color':_0x25fab5(0xa1)})[_0x25fab5(0xfd)](),_0x1c5666=execConfigMigration(_0x37e21f,_0x5c0e4a);_0x4df3a0[_0x25fab5(0xbd)](_0x1c5666),_0x640752[_0x1c5666['ok']?'succeed':_0x25fab5(0xef)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0x1c5666[_0x25fab5(0xfe)]??(_0x1c5666['ok']?'done':_0x25fab5(0xe1))));const _0x503f03=resolve(_0x5c0e4a,_0x25fab5(0x105)),_0x587ca1=a152_0x320e4c({'text':_0x25fab5(0xe9),'color':_0x25fab5(0xa1)})['start']();if(existsSync(_0x503f03))try{rmSync(_0x503f03,{'recursive':!![],'force':!![]}),_0x587ca1[_0x25fab5(0xe5)](_0x25fab5(0x100)),_0x4df3a0['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x5e6627){_0x587ca1['fail']('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x5e6627[_0x25fab5(0x90)]),_0x4df3a0[_0x25fab5(0xbd)]({'step':0x2,'label':_0x25fab5(0xf5),'ok':![],'detail':_0x5e6627['message']});}else _0x587ca1['info'](_0x25fab5(0xb0)),_0x4df3a0[_0x25fab5(0xbd)]({'step':0x2,'label':_0x25fab5(0xf5),'ok':!![],'detail':'skipped'});const _0x2694d9=a152_0x320e4c({'text':'Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','color':_0x25fab5(0xa1)})[_0x25fab5(0xfd)](),_0x432282=execRemoveOldArtifacts(_0x37e21f['oldArtifacts']);_0x4df3a0[_0x25fab5(0xbd)](_0x432282),_0x2694d9[_0x432282['ok']?_0x25fab5(0xe5):_0x25fab5(0xef)](_0x25fab5(0xb8)+(_0x432282[_0x25fab5(0xfe)]??(_0x432282['ok']?'done':'failed')));const _0x2715ed=a152_0x320e4c({'text':_0x25fab5(0xf8),'color':_0x25fab5(0xa1)})['start'](),_0x2a7da1=execCleanMcp(_0x37e21f);_0x4df3a0[_0x25fab5(0xbd)](_0x2a7da1),_0x2715ed[_0x2a7da1['ok']?_0x25fab5(0xe5):_0x25fab5(0xef)](_0x25fab5(0x107)+(_0x2a7da1[_0x25fab5(0xfe)]??(_0x2a7da1['ok']?_0x25fab5(0x99):_0x25fab5(0xe1))));const _0x2e7da2=a152_0x320e4c({'text':_0x25fab5(0xb5),'color':_0x25fab5(0xa1)})[_0x25fab5(0xfd)](),_0x13bfdd=execSkillsRemove(_0x5c0e4a,_0x1af576);_0x4df3a0[_0x25fab5(0xbd)](_0x13bfdd),_0x2e7da2[_0x13bfdd['ok']?_0x25fab5(0xe5):_0x25fab5(0xef)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x13bfdd[_0x25fab5(0xfe)]??(_0x13bfdd['ok']?_0x25fab5(0x99):_0x25fab5(0xe1))));const _0x4e77c2=a152_0x320e4c({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':'cyan'})[_0x25fab5(0xfd)](),_0xc003b8=execSkillsAdd(_0x5c0e4a,_0x1af576);_0x4df3a0[_0x25fab5(0xbd)](_0xc003b8),_0x4e77c2[_0xc003b8['ok']?_0x25fab5(0xe5):_0x25fab5(0xef)]('Step\x206/7:\x20Install\x20new\x20skill\x20—\x20'+(_0xc003b8[_0x25fab5(0xfe)]??(_0xc003b8['ok']?_0x25fab5(0x99):_0x25fab5(0xe1))));const _0x5a6f26=a152_0x320e4c({'text':_0x25fab5(0xba),'color':_0x25fab5(0xa1)})['start'](),_0x416a77=execUpgradeSdk(_0x37e21f);_0x4df3a0['push'](_0x416a77),_0x5a6f26[_0x416a77['ok']?_0x25fab5(0xe5):_0x25fab5(0xef)](_0x25fab5(0xde)+(_0x416a77[_0x25fab5(0xfe)]??(_0x416a77['ok']?_0x25fab5(0x99):_0x25fab5(0xe1)))),printSummary(_0x4df3a0);const _0x38bf01=_0x4df3a0[_0x25fab5(0x89)](_0x188430=>!_0x188430['ok']);_0x38bf01?console['log'](a152_0x17a978[_0x25fab5(0xc2)](_0x25fab5(0x102))):console[_0x25fab5(0x8b)](a152_0x17a978['green'](_0x25fab5(0xb9))),_0x416a77['ok']&&_0x37e21f[_0x25fab5(0xd0)]&&(console['log'](''),console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0x8e)]['cyan'](_0x25fab5(0x9c))),console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xa1)](_0x25fab5(0xec))),console[_0x25fab5(0x8b)](''),console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xfb)]('\x20\x20npm\x20install')),console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xfb)](_0x25fab5(0xf1))),console[_0x25fab5(0x8b)](a152_0x17a978[_0x25fab5(0xfb)](_0x25fab5(0xdb))),console[_0x25fab5(0x8b)](''));}
|
|
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 a159_0x586e31=a159_0x211b;(function(_0x36b2a3,_0x1cbcd4){const _0x4ef080=a159_0x211b,_0x472658=_0x36b2a3();while(!![]){try{const _0x1f1798=-parseInt(_0x4ef080(0x16c))/0x1*(parseInt(_0x4ef080(0x13f))/0x2)+parseInt(_0x4ef080(0x159))/0x3*(parseInt(_0x4ef080(0x175))/0x4)+parseInt(_0x4ef080(0x153))/0x5*(parseInt(_0x4ef080(0x16d))/0x6)+parseInt(_0x4ef080(0x147))/0x7*(-parseInt(_0x4ef080(0x15e))/0x8)+-parseInt(_0x4ef080(0x137))/0x9+-parseInt(_0x4ef080(0x132))/0xa*(parseInt(_0x4ef080(0x173))/0xb)+-parseInt(_0x4ef080(0x165))/0xc*(-parseInt(_0x4ef080(0x146))/0xd);if(_0x1f1798===_0x1cbcd4)break;else _0x472658['push'](_0x472658['shift']());}catch(_0x1e6450){_0x472658['push'](_0x472658['shift']());}}}(a159_0x4d4f,0xb1cc3));import{getAppRole,getTenantMembers,listAppRoles,listRoleUsers}from'../../core/api-client.js';function a159_0x4d4f(){const _0x7ec97c=['appCode',';\x20no\x20change.','Optional\x20role\x20remark/description','808LhwcGe','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','Disambiguate\x20with\x20--role\x20<id>.','Check\x20the\x20nickname/username,\x20or\x20pass\x20--user\x20<id>.','userId','find','DEV','18836616QNKzIH','User\x20','DEV\x20/\x20ADMIN\x20keep\x20full\x20access\x20by\x20design;\x20configure\x20a\x20CUSTOM\x20role\x20instead.','Role\x20name','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','includes','string','401867GUlgmW','66606OuvlEi','\x20not\x20found\x20in\x20the\x20user-role\x20list.','Role\x20id\x20(from\x20`role\x20list`)','Cannot\x20change\x20the\x20permission\x20matrix\x20of\x20built-in\x20role\x20','number','dryRun','1936066PNSknl','length','4fqoSlB','Role\x20id\x20','Missing\x20user\x20reference.','Multiple\x20tenant\x20members\x20match\x20\x22','flag','Disambiguate\x20with\x20--user\x20<id>.','userList','No\x20tenant\x20member\x20matches\x20\x22','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','validation','expectUserCount','roleType','role','filter','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','10HyKTQV','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','username','userCount','Anti-drift\x20check\x20failed:\x20expected\x20','7784082nmTsDM','expect-user-count','Role\x20id\x20or\x20role\x20name\x20(CUSTOM\x20roles\x20may\x20be\x20referenced\x20by\x20name)','nickname','Pass\x20--role\x20<id|name>.','push','trim','test','2EYHXUs','/smartapi/permit/user-role/update-user-list','tenant','splice','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','roleName','toLowerCase','13kFjMPA','75019rzaKzK','USER','permitCount','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.','\x20member(s)\x20but\x20role\x20has\x20','remark','map','Cannot\x20','name','str','user','\x20is\x20already\x20a\x20member\x20of\x20role\x20','510pWRErg','\x20built-in\x20role\x20','tenant_code','\x22\x20is\x20ambiguous\x20(ids:\x20','Pass\x20--user\x20<id|name>.','flagMissing','1654281LsPAJF','\x22\x20not\x20found\x20in\x20app\x20'];a159_0x4d4f=function(){return _0x7ec97c;};return a159_0x4d4f();}function a159_0x211b(_0x3ec6ac,_0x5c651e){_0x3ec6ac=_0x3ec6ac-0x125;const _0x4d4ffc=a159_0x4d4f();let _0x211b23=_0x4d4ffc[_0x3ec6ac];return _0x211b23;}import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a159_0x586e31(0x171),'required':!![],'description':a159_0x586e31(0x16f)};export const ROLE_REF_FLAG={'name':a159_0x586e31(0x12f),'type':a159_0x586e31(0x16b),'required':!![],'description':a159_0x586e31(0x139)};export const USER_REF_FLAG={'name':'user','type':'string','required':!![],'description':a159_0x586e31(0x133)};export const NAME_FLAG={'name':a159_0x586e31(0x14f),'type':a159_0x586e31(0x16b),'required':!![],'description':a159_0x586e31(0x168)};export const USER_NAME_FLAG={'name':a159_0x586e31(0x14f),'type':a159_0x586e31(0x16b),'required':!![],'description':a159_0x586e31(0x143)};export const REMARK_FLAG={'name':'remark','type':'string','required':![],'description':a159_0x586e31(0x15d)};export const EXPECT_USER_COUNT_FLAG={'name':a159_0x586e31(0x138),'type':a159_0x586e31(0x171),'required':![],'description':'Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs'};export const BUILTIN_ROLE_TYPES=['ADMIN',a159_0x586e31(0x164),a159_0x586e31(0x148)];export function isBuiltinRole(_0xd6a555){const _0x40ef89=a159_0x586e31;return BUILTIN_ROLE_TYPES[_0x40ef89(0x16a)](_0xd6a555);}export function assertCustomRole(_0x3b1a3c,_0x331f0b){const _0x54b6a2=a159_0x586e31;if(_0x3b1a3c[_0x54b6a2(0x12e)]!=='CUSTOM')throw CliErrors['validation'](_0x54b6a2(0x14e)+_0x331f0b+_0x54b6a2(0x154)+_0x3b1a3c[_0x54b6a2(0x144)]+'\x20('+_0x3b1a3c[_0x54b6a2(0x12e)]+').',_0x54b6a2(0x169));}export function assertPermConfigurable(_0x59bb2d){const _0x35e77a=a159_0x586e31;if(_0x59bb2d[_0x35e77a(0x12e)]===_0x35e77a(0x164)||_0x59bb2d[_0x35e77a(0x12e)]==='ADMIN')throw CliErrors[_0x35e77a(0x12c)](_0x35e77a(0x170)+_0x59bb2d[_0x35e77a(0x144)]+'\x20('+_0x59bb2d['roleType']+').',_0x35e77a(0x167));}export function projectRole(_0x29e3d2){const _0x311e02=a159_0x586e31;return{'id':_0x29e3d2['id'],'roleName':_0x29e3d2[_0x311e02(0x144)],'roleType':_0x29e3d2[_0x311e02(0x12e)],'remark':_0x29e3d2[_0x311e02(0x14c)],'userCount':_0x29e3d2[_0x311e02(0x135)],'permitCount':_0x29e3d2[_0x311e02(0x149)],'builtin':isBuiltinRole(_0x29e3d2['roleType'])};}export async function resolveRoleRef(_0x1f9be1,_0x143ed2){const _0x24cf14=a159_0x586e31,_0x339f9d=_0x143ed2[_0x24cf14(0x13d)]();if(!_0x339f9d)throw CliErrors[_0x24cf14(0x12c)]('Missing\x20role\x20reference.',_0x24cf14(0x13b));if(/^\d+$/[_0x24cf14(0x13e)](_0x339f9d))return getRoleById(_0x1f9be1,Number(_0x339f9d));const _0x549736=await listAllAppRoles(_0x1f9be1),_0x34ca29=_0x549736[_0x24cf14(0x130)](_0x54704e=>_0x54704e[_0x24cf14(0x144)]===_0x339f9d);if(_0x34ca29['length']===0x0)throw CliErrors[_0x24cf14(0x12c)]('Role\x20name\x20\x22'+_0x339f9d+_0x24cf14(0x15a)+_0x1f9be1+'.',_0x24cf14(0x12b));if(_0x34ca29[_0x24cf14(0x174)]>0x1){const _0x969e2a=_0x34ca29[_0x24cf14(0x14d)](_0x18fc8e=>_0x18fc8e['id'])['join'](',\x20');throw CliErrors[_0x24cf14(0x12c)]('Role\x20name\x20\x22'+_0x339f9d+_0x24cf14(0x156)+_0x969e2a+').',_0x24cf14(0x160));}return _0x34ca29[0x0];}export async function getRoleById(_0x3a59e5,_0x240fa0){const _0x4e1d07=a159_0x586e31,_0x50323b=await getAppRole(_0x240fa0);if(!_0x50323b)throw CliErrors[_0x4e1d07(0x12c)](_0x4e1d07(0x176)+_0x240fa0+'\x20not\x20found\x20in\x20app\x20'+_0x3a59e5+'.',_0x4e1d07(0x14a));return _0x50323b;}async function listAllAppRoles(_0x5b95a5){const _0x222a64=a159_0x586e31,_0x49ed6a=0x64,_0x3ca275=[];for(let _0x44272b=0x1;;_0x44272b+=0x1){const {items:_0x5047a4,paging:_0x3abbdb}=await listAppRoles(_0x5b95a5,{'currentPage':_0x44272b,'pageSize':_0x49ed6a});_0x3ca275['push'](..._0x5047a4);if(_0x5047a4[_0x222a64(0x174)]<_0x49ed6a||_0x3abbdb&&_0x3ca275[_0x222a64(0x174)]>=_0x3abbdb['totalCount'])return _0x3ca275;}}export async function resolveTenantCode(){const _0xc278c5=a159_0x586e31,_0x13fa28=await getSessionUserInfo(),_0x2335e5=_0x13fa28?.['user']?.[_0xc278c5(0x141)]?.[_0xc278c5(0x155)];if(!_0x2335e5)throw CliErrors['authRequired'](_0xc278c5(0x15f));return _0x2335e5;}function matchMember(_0x5e9ed9,_0x19d861){const _0x590a2d=a159_0x586e31,_0x46359c=_0x19d861[_0x590a2d(0x13d)]()[_0x590a2d(0x145)]();return(_0x5e9ed9[_0x590a2d(0x13a)]??'')['toLowerCase']()===_0x46359c||(_0x5e9ed9['username']??'')[_0x590a2d(0x145)]()===_0x46359c;}export async function resolveUserRef(_0x3d929a){const _0x32dc77=a159_0x586e31,_0x5efa65=_0x3d929a['trim']();if(!_0x5efa65)throw CliErrors['validation'](_0x32dc77(0x125),_0x32dc77(0x157));const _0x4378e9=await resolveTenantCode(),_0x403e66=await getTenantMembers(_0x4378e9);if(/^\d+$/['test'](_0x5efa65)){const _0x4660e0=Number(_0x5efa65),_0x133a19=_0x403e66[_0x32dc77(0x163)](_0x5e9f61=>_0x5e9f61['userId']===_0x4660e0);return{'userId':_0x4660e0,'username':_0x133a19?.[_0x32dc77(0x134)]??String(_0x4660e0),'nickname':_0x133a19?.[_0x32dc77(0x13a)],'matchedBy':'id'};}const _0x42712d=_0x403e66['filter'](_0x5a4519=>matchMember(_0x5a4519,_0x5efa65));if(_0x42712d[_0x32dc77(0x174)]===0x0)throw CliErrors[_0x32dc77(0x12c)](_0x32dc77(0x12a)+_0x5efa65+'\x22.',_0x32dc77(0x161));if(_0x42712d['length']>0x1){const _0x4a35e9=_0x42712d[_0x32dc77(0x14d)](_0x244bc2=>(_0x244bc2['nickname']??_0x244bc2['username']??'?')+'('+_0x244bc2[_0x32dc77(0x162)]+')')['join'](',\x20');throw CliErrors[_0x32dc77(0x12c)](_0x32dc77(0x126)+_0x5efa65+'\x22:\x20'+_0x4a35e9+'.',_0x32dc77(0x128));}const _0x585132=_0x42712d[0x0];return{'userId':_0x585132[_0x32dc77(0x162)],'username':_0x585132[_0x32dc77(0x134)]??String(_0x585132[_0x32dc77(0x162)]),'nickname':_0x585132[_0x32dc77(0x13a)],'matchedBy':_0x32dc77(0x14f)};}export const UPDATE_USER_LIST_PATH=a159_0x586e31(0x140);function userIdsOf(_0x54ecee){const _0x5603d7=a159_0x586e31;return(_0x54ecee?.['userList']??[])['map'](_0x14283c=>_0x14283c[_0x5603d7(0x162)]);}export function computeRoleUserMutation(_0x5c7eaf){const _0x24c540=a159_0x586e31,{operation:_0x40cfe3,appCode:_0x272af6,roleUsers:_0x8cbcb4,targetRoleId:_0x36669d,user:_0x1877a9}=_0x5c7eaf,_0x1e5254=_0x8cbcb4[_0x24c540(0x163)](_0x571c3f=>_0x571c3f['id']===_0x36669d);if(!_0x1e5254)throw CliErrors[_0x24c540(0x12c)](_0x24c540(0x176)+_0x36669d+_0x24c540(0x16e),'Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');const _0x43d859=userIdsOf(_0x1e5254),_0x2eb6bb=[];if(_0x5c7eaf[_0x24c540(0x12d)]!==undefined&&_0x5c7eaf[_0x24c540(0x12d)]!==_0x43d859[_0x24c540(0x174)])throw CliErrors[_0x24c540(0x12c)](_0x24c540(0x136)+_0x5c7eaf['expectUserCount']+_0x24c540(0x14b)+_0x43d859[_0x24c540(0x174)]+'.',_0x24c540(0x131));const _0x5c39bd=_0x43d859['includes'](_0x1877a9[_0x24c540(0x162)]);let _0x462d37=![];const _0x4440a6=[..._0x1e5254[_0x24c540(0x129)]];if(_0x40cfe3==='user-add')_0x5c39bd?_0x2eb6bb[_0x24c540(0x13c)](_0x24c540(0x166)+_0x1877a9['userId']+_0x24c540(0x152)+_0x1e5254['roleName']+_0x24c540(0x15c)):(_0x4440a6[_0x24c540(0x13c)]({'userId':_0x1877a9[_0x24c540(0x162)],'username':_0x1877a9[_0x24c540(0x134)],..._0x1877a9[_0x24c540(0x13a)]?{'nickname':_0x1877a9[_0x24c540(0x13a)]}:{}}),_0x462d37=!![]);else{if(!_0x5c39bd)_0x2eb6bb[_0x24c540(0x13c)](_0x24c540(0x166)+_0x1877a9[_0x24c540(0x162)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0x1e5254[_0x24c540(0x144)]+';\x20no\x20change.');else{const _0x1d7b9e=_0x4440a6['findIndex'](_0x2f2fd9=>_0x2f2fd9['userId']===_0x1877a9['userId']);if(_0x1d7b9e>=0x0)_0x4440a6[_0x24c540(0x142)](_0x1d7b9e,0x1);_0x462d37=!![];}}const _0x365258=_0x8cbcb4[_0x24c540(0x14d)](_0x4a8607=>_0x4a8607['id']===_0x36669d?{..._0x4a8607,'userList':_0x4440a6}:_0x4a8607),_0x46d794=_0x4440a6[_0x24c540(0x14d)](_0x129c6b=>_0x129c6b[_0x24c540(0x162)]),_0x21181f={'operation':_0x40cfe3,'selector':{'appCode':_0x272af6,'roleId':_0x36669d,'roleName':_0x1e5254[_0x24c540(0x144)],'userId':_0x1877a9[_0x24c540(0x162)]},'before':{'userIds':_0x43d859},'after':{'userIds':_0x46d794},'dryRun':_0x5c7eaf[_0x24c540(0x172)],'backend':{'method':'POST','path':UPDATE_USER_LIST_PATH},'warnings':_0x2eb6bb};return{'roleList':_0x365258,'mutation':_0x21181f,'changed':_0x462d37};}export async function loadRoleUsers(_0x8ffac8){return listRoleUsers(_0x8ffac8);}export function readRoleRef(_0x4923ff){const _0x4c2f2e=a159_0x586e31,_0xafc39=_0x4923ff['str']('role')[_0x4c2f2e(0x13d)]();if(!_0xafc39)throw CliErrors[_0x4c2f2e(0x158)]('role',_0x4c2f2e(0x13b));return _0xafc39;}export async function prepareUserMutation(_0x2ffc85,_0x517240,_0x5856f0){const _0x2d42e7=a159_0x586e31,_0x1925c4=readRoleRef(_0x2ffc85),_0x3cf92d=_0x2ffc85[_0x2d42e7(0x150)](_0x2d42e7(0x151))[_0x2d42e7(0x13d)]();if(!_0x3cf92d)throw CliErrors[_0x2d42e7(0x158)](_0x2d42e7(0x151),_0x2d42e7(0x157));const _0x35c592=_0x2ffc85[_0x2d42e7(0x127)]('expect-user-count'),_0x309dcd=_0x35c592===undefined||_0x35c592===null?undefined:Number(_0x35c592),_0x1b00b1=await resolveRoleRef(_0x2ffc85[_0x2d42e7(0x15b)],_0x1925c4),_0x3db354=await resolveUserRef(_0x3cf92d),_0x303071=await loadRoleUsers(_0x2ffc85[_0x2d42e7(0x15b)]);return computeRoleUserMutation({'operation':_0x517240,'appCode':_0x2ffc85[_0x2d42e7(0x15b)],'roleUsers':_0x303071,'targetRoleId':_0x1b00b1['id'],'user':{'userId':_0x3db354[_0x2d42e7(0x162)],'username':_0x3db354[_0x2d42e7(0x134)],'nickname':_0x3db354[_0x2d42e7(0x13a)]},'dryRun':_0x5856f0,..._0x309dcd!==undefined?{'expectUserCount':_0x309dcd}:{}});}
|
|
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();}
|