@lovrabet/rabetbase-cli 2.4.4 → 2.4.5-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.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.d.ts +1 -0
- 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/{permit/index.d.ts → dataset/business-groups.d.ts} +1 -1
- package/lib/commands/dataset/business-groups.js +1 -0
- 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-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.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.d.ts +15 -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/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.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/external-link-update.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/rename.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/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/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/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.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/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/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.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/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +15 -17
- 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/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/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.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.d.ts +70 -79
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.d.ts +1 -0
- 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.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.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/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
- package/skills/rabetbase/SKILL.md +18 -24
- package/skills/rabetbase/guides/database-connection-workflow.md +6 -2
- package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +28 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +7 -5
- package/skills/rabetbase/references/rabetbase-dataset-list.md +6 -6
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +5 -5
- package/skills/rabetbase/references/rabetbase-db-create.md +3 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +10 -2
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +3 -2
- package/skills/rabetbase/references/rabetbase-db-update.md +4 -2
- package/skills/rabetbase/references/rabetbase-role-list.md +9 -17
- package/skills/rabetbase/references/rabetbase-role-user-add.md +44 -16
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase.manifest.json +4 -7
- package/lib/commands/permit/index.js +0 -1
- package/lib/commands/permit/page-get.d.ts +0 -2
- package/lib/commands/permit/page-get.js +0 -1
- package/lib/commands/permit/page-set.d.ts +0 -2
- package/lib/commands/permit/page-set.js +0 -1
- package/lib/commands/permit/role-apis-set.d.ts +0 -2
- package/lib/commands/permit/role-apis-set.js +0 -1
- package/lib/commands/permit/role-menus-set.d.ts +0 -2
- package/lib/commands/permit/role-menus-set.js +0 -1
- package/lib/commands/permit/role-menus.d.ts +0 -2
- package/lib/commands/permit/role-menus.js +0 -1
- package/lib/commands/permit/shared.d.ts +0 -74
- package/lib/commands/permit/shared.js +0 -1
- package/lib/commands/role/create.d.ts +0 -2
- package/lib/commands/role/create.js +0 -1
- package/skills/rabetbase/guides/role-permit-workflow.md +0 -127
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +0 -69
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +0 -53
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +0 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x15eeb6,_0x4dd7d3){const _0x1a0cac=a165_0x1fbc,_0x18317c=_0x15eeb6();while(!![]){try{const _0x2e8141=parseInt(_0x1a0cac(0x161))/0x1+parseInt(_0x1a0cac(0x150))/0x2*(parseInt(_0x1a0cac(0x154))/0x3)+-parseInt(_0x1a0cac(0x14c))/0x4+-parseInt(_0x1a0cac(0x141))/0x5+-parseInt(_0x1a0cac(0x156))/0x6+-parseInt(_0x1a0cac(0x13e))/0x7+-parseInt(_0x1a0cac(0x155))/0x8*(-parseInt(_0x1a0cac(0x15c))/0x9);if(_0x2e8141===_0x4dd7d3)break;else _0x18317c['push'](_0x18317c['shift']());}catch(_0x1b21b8){_0x18317c['push'](_0x18317c['shift']());}}}(a165_0x2529,0x86284));import{createWriteStream}from'node:fs';import a165_0x118f06 from'node:fs/promises';function a165_0x2529(){const _0x5a199e=['27322iidnXU','endsWith','readEntry','uncompressedSize','141uVZAXQ','16271336BFOQTb','4292670XWwAEL','Case-conflicting\x20ZIP\x20entry\x20path:\x20','join','split','test','fileName','9HpqZxU','isEncrypted','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20','get','sep','179394aZXJsg','en-US','open','openReadStream','startsWith','1699187EASNgg','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','end','2866625zZZgoJ','add','dirname','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','toLocaleLowerCase','entry','mkdir','error','externalFileAttributes','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','has','3097436xLRupM','catch','Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20','\x20entries.'];a165_0x2529=function(){return _0x5a199e;};return a165_0x2529();}function a165_0x1fbc(_0x2d8a62,_0x2be1aa){_0x2d8a62=_0x2d8a62-0x13e;const _0x2529fc=a165_0x2529();let _0x1fbc8e=_0x2529fc[_0x2d8a62];return _0x1fbc8e;}import a165_0x3ecd4d from'node:path';import{pipeline}from'node:stream/promises';import a165_0x223c4b from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x45c898){return new Promise((_0x140911,_0x44a3ac)=>{const _0x484c43=a165_0x1fbc;a165_0x223c4b[_0x484c43(0x163)](_0x45c898,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x2779b0,_0x48e314)=>{if(_0x2779b0||!_0x48e314){_0x44a3ac(_0x2779b0||new Error('Unable\x20to\x20open\x20project\x20template\x20archive.'));return;}_0x140911(_0x48e314);});});}function openEntryStream(_0x37af53,_0x596799){return new Promise((_0x42b3b8,_0x213ac5)=>{const _0x3438f6=a165_0x1fbc;_0x37af53[_0x3438f6(0x164)](_0x596799,(_0x1508e2,_0x131ee3)=>{if(_0x1508e2||!_0x131ee3){_0x213ac5(_0x1508e2||new Error('Unable\x20to\x20read\x20ZIP\x20entry:\x20'+_0x596799['fileName']));return;}_0x42b3b8(_0x131ee3);});});}function validateEntryPath(_0x143d42){const _0xf0041c=a165_0x1fbc,_0x43471f=_0x143d42['replace'](/\\/g,'/'),_0x4b90d8=_0x43471f['endsWith']('/'),_0x5f2bbb=_0x4b90d8?_0x43471f['slice'](0x0,-0x1):_0x43471f;if(!_0x5f2bbb||_0x43471f[_0xf0041c(0x165)]('/')||/^[A-Za-z]:\//[_0xf0041c(0x15a)](_0x43471f))throw new Error(_0xf0041c(0x15e)+_0x143d42);const _0x522de9=_0x5f2bbb[_0xf0041c(0x159)]('/');for(const _0x502f3b of _0x522de9){if(!_0x502f3b||_0x502f3b==='.'||_0x502f3b==='..'||_0x502f3b[_0xf0041c(0x151)]('.')||_0x502f3b[_0xf0041c(0x151)]('\x20')||WINDOWS_INVALID_CHAR['test'](_0x502f3b)||WINDOWS_RESERVED_NAME[_0xf0041c(0x15a)](_0x502f3b))throw new Error(_0xf0041c(0x13f)+_0x143d42);}return{'relativePath':_0x522de9[_0xf0041c(0x158)](a165_0x3ecd4d[_0xf0041c(0x160)]),'directory':_0x4b90d8};}function isSymbolicLink(_0x279d56){const _0x228f19=a165_0x1fbc,_0x4c4744=_0x279d56[_0x228f19(0x149)]>>>0x10&0xffff;return(_0x4c4744&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x3e364a,_0x16d688){const _0x8fa384=a165_0x1fbc,_0x3d2e59=await openZip(_0x3e364a),_0x1e0c18=a165_0x3ecd4d['resolve'](_0x16d688),_0x22c6bd=new Set(),_0x422f60=new Map();let _0x4452a4=0x0,_0x5ac555=0x0;await a165_0x118f06[_0x8fa384(0x147)](_0x1e0c18,{'recursive':!![]}),await new Promise((_0x3bdad9,_0x2180e1)=>{const _0x2a710d=_0x8fa384;let _0x522992=![];const _0x17c963=_0x2f49b3=>{if(_0x522992)return;_0x522992=!![],_0x3d2e59['close'](),_0x2180e1(_0x2f49b3 instanceof Error?_0x2f49b3:new Error(String(_0x2f49b3)));};_0x3d2e59['once'](_0x2a710d(0x148),_0x17c963),_0x3d2e59['once'](_0x2a710d(0x140),()=>{if(_0x522992)return;_0x522992=!![],_0x3bdad9();}),_0x3d2e59['on'](_0x2a710d(0x146),_0x169f08=>{const _0x221d07=_0x2a710d;void(async()=>{const _0x4002f3=a165_0x1fbc;_0x4452a4+=0x1,_0x5ac555+=_0x169f08[_0x4002f3(0x153)];if(_0x4452a4>MAX_ENTRY_COUNT)throw new Error('Project\x20template\x20ZIP\x20exceeds\x20'+MAX_ENTRY_COUNT+_0x4002f3(0x14f));if(_0x5ac555>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x4002f3(0x14a));if(_0x169f08[_0x4002f3(0x15d)]())throw new Error(_0x4002f3(0x14e)+_0x169f08[_0x4002f3(0x15b)]);if(isSymbolicLink(_0x169f08))throw new Error('Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20'+_0x169f08[_0x4002f3(0x15b)]);const {relativePath:_0x51ecc7,directory:_0x1fdc1e}=validateEntryPath(_0x169f08[_0x4002f3(0x15b)]),_0x26f957=_0x51ecc7[_0x4002f3(0x159)](a165_0x3ecd4d[_0x4002f3(0x160)]);for(let _0x905046=0x1;_0x905046<=_0x26f957['length'];_0x905046+=0x1){const _0x30a049=_0x26f957['slice'](0x0,_0x905046)[_0x4002f3(0x158)](a165_0x3ecd4d[_0x4002f3(0x160)]),_0x4cc7b2=_0x30a049[_0x4002f3(0x145)]('en-US'),_0x1e0853=_0x422f60[_0x4002f3(0x15f)](_0x4cc7b2);if(_0x1e0853&&_0x1e0853!==_0x30a049)throw new Error(_0x4002f3(0x157)+_0x169f08[_0x4002f3(0x15b)]);_0x422f60['set'](_0x4cc7b2,_0x30a049);}const _0x45a69c=_0x51ecc7[_0x4002f3(0x145)](_0x4002f3(0x162));if(_0x22c6bd[_0x4002f3(0x14b)](_0x45a69c))throw new Error('Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20'+_0x169f08[_0x4002f3(0x15b)]);_0x22c6bd[_0x4002f3(0x142)](_0x45a69c);const _0x67f745=a165_0x3ecd4d['resolve'](_0x1e0c18,_0x51ecc7);if(_0x67f745!==_0x1e0c18&&!_0x67f745[_0x4002f3(0x165)](''+_0x1e0c18+a165_0x3ecd4d[_0x4002f3(0x160)]))throw new Error(_0x4002f3(0x144)+_0x169f08['fileName']);if(_0x1fdc1e)await a165_0x118f06[_0x4002f3(0x147)](_0x67f745,{'recursive':!![]});else{await a165_0x118f06['mkdir'](a165_0x3ecd4d[_0x4002f3(0x143)](_0x67f745),{'recursive':!![]});const _0x29f5c0=await openEntryStream(_0x3d2e59,_0x169f08);await pipeline(_0x29f5c0,createWriteStream(_0x67f745,{'flags':'wx','mode':0x1a4}));}_0x3d2e59[_0x4002f3(0x152)]();})()[_0x221d07(0x14d)](_0x17c963);}),_0x3d2e59[_0x2a710d(0x152)]();});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a166_0xe77d(_0x3f7b0e,_0xc032cb){_0x3f7b0e=_0x3f7b0e-0x74;const _0xf44c75=a166_0xf44c();let _0xe77d31=_0xf44c75[_0x3f7b0e];return _0xe77d31;}(function(_0x1a8eb1,_0x3a05b3){const _0x3b9864=a166_0xe77d,_0x4d3c25=_0x1a8eb1();while(!![]){try{const _0x275716=-parseInt(_0x3b9864(0x7d))/0x1+-parseInt(_0x3b9864(0x76))/0x2*(-parseInt(_0x3b9864(0x7c))/0x3)+parseInt(_0x3b9864(0x77))/0x4+parseInt(_0x3b9864(0x7b))/0x5+-parseInt(_0x3b9864(0x75))/0x6+-parseInt(_0x3b9864(0x7e))/0x7*(-parseInt(_0x3b9864(0x74))/0x8)+-parseInt(_0x3b9864(0x7a))/0x9*(parseInt(_0x3b9864(0x78))/0xa);if(_0x275716===_0x3a05b3)break;else _0x4d3c25['push'](_0x4d3c25['shift']());}catch(_0x3fe758){_0x4d3c25['push'](_0x4d3c25['shift']());}}}(a166_0xf44c,0x27f1d));import a166_0x56fb2f from'node:path';import{fileURLToPath}from'node:url';const __dirname=a166_0x56fb2f['dirname'](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x3e8bc4=a166_0xe77d;return a166_0x56fb2f[_0x3e8bc4(0x79)](__dirname,_0x3e8bc4(0x7f));}function a166_0xf44c(){const _0x14c572=['837QKjSZa','170234euAhOs','754439dLHMLr','../../../../','16ivSuMA','1296324yCZoDJ','1914bNYzmb','485784qmZGIO','430vRGECh','resolve','30240MMCYGU','451890FmCIsd'];a166_0xf44c=function(){return _0x14c572;};return a166_0xf44c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x214204,_0x26902c){const _0x12d2d6=a167_0x5bb3,_0x3849e2=_0x214204();while(!![]){try{const _0x32f8af=-parseInt(_0x12d2d6(0x1b3))/0x1+parseInt(_0x12d2d6(0x1b7))/0x2*(-parseInt(_0x12d2d6(0x1bb))/0x3)+-parseInt(_0x12d2d6(0x1c1))/0x4*(parseInt(_0x12d2d6(0x1c2))/0x5)+-parseInt(_0x12d2d6(0x1b0))/0x6*(parseInt(_0x12d2d6(0x1b8))/0x7)+-parseInt(_0x12d2d6(0x1b6))/0x8*(parseInt(_0x12d2d6(0x1ae))/0x9)+-parseInt(_0x12d2d6(0x1bf))/0xa*(-parseInt(_0x12d2d6(0x1ad))/0xb)+-parseInt(_0x12d2d6(0x1ab))/0xc*(-parseInt(_0x12d2d6(0x1b1))/0xd);if(_0x32f8af===_0x26902c)break;else _0x3849e2['push'](_0x3849e2['shift']());}catch(_0x11afc9){_0x3849e2['push'](_0x3849e2['shift']());}}}(a167_0x4073,0x83491));function a167_0x5bb3(_0x5558f9,_0x3fc4f7){_0x5558f9=_0x5558f9-0x1ab;const _0x4073cf=a167_0x4073();let _0x5bb3ff=_0x4073cf[_0x5558f9];return _0x5bb3ff;}import a167_0x416b7b from'node:path';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';export async function copyProjectTemplate(_0x55b70b,_0x3f02ec){const _0x5d944b=a167_0x5bb3,_0x40f9ca=Date['now'](),_0x40c00d=a167_0x416b7b[_0x5d944b(0x1c3)](process[_0x5d944b(0x1b5)](),_0x55b70b);try{logger[_0x5d944b(0x1bd)](_0x5d944b(0x1bc),'开始创建项目模板',{'projectCode':_0x55b70b});const _0x1bfd82=await materializeProjectTemplate(_0x40c00d,_0x3f02ec),_0x2ebd47=Date[_0x5d944b(0x1b2)]()-_0x40f9ca;logger[_0x5d944b(0x1ac)]('copy',_0x5d944b(0x1b9),_0x2ebd47,{'projectCode':_0x55b70b,'templateSource':_0x1bfd82[_0x5d944b(0x1ba)],'templateVersion':_0x1bfd82[_0x5d944b(0x1be)]});}catch(_0x8787c8){const _0x11a428=Date[_0x5d944b(0x1b2)]()-_0x40f9ca;logger[_0x5d944b(0x1af)]('copy',_0x5d944b(0x1c0),{'projectCode':_0x55b70b,'error':_0x8787c8 instanceof Error?_0x8787c8[_0x5d944b(0x1b4)]:String(_0x8787c8),'duration':_0x11a428});throw _0x8787c8;}return formatElapsed(_0x40f9ca);}function a167_0x4073(){const _0x5ef565=['项目模板创建完成','source','156366QackSs','copy','info','version','5580DUpWrv','项目模板复制失败','5044xckVHz','3270aAxbEt','resolve','12QJNkhu','success','5709AjSqfL','8748981sQczWB','error','3633102syVWZt','43063787tKOGQg','now','193038VWcMeX','message','cwd','8mGEZbl','18HzGbeq','7tUIsnD'];a167_0x4073=function(){return _0x5ef565;};return a167_0x4073();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x22eb50,_0x40a07f){const _0x1899d5=a168_0x41ee,_0x2d8838=_0x22eb50();while(!![]){try{const _0x584cb3=parseInt(_0x1899d5(0x148))/0x1+-parseInt(_0x1899d5(0x13f))/0x2*(-parseInt(_0x1899d5(0x13a))/0x3)+-parseInt(_0x1899d5(0x138))/0x4*(-parseInt(_0x1899d5(0x140))/0x5)+parseInt(_0x1899d5(0x146))/0x6+-parseInt(_0x1899d5(0x13e))/0x7*(parseInt(_0x1899d5(0x147))/0x8)+parseInt(_0x1899d5(0x142))/0x9*(-parseInt(_0x1899d5(0x139))/0xa)+-parseInt(_0x1899d5(0x149))/0xb;if(_0x584cb3===_0x40a07f)break;else _0x2d8838['push'](_0x2d8838['shift']());}catch(_0x30a795){_0x2d8838['push'](_0x2d8838['shift']());}}}(a168_0x562e,0xa32ff));import a168_0x398006 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a168_0x41ee(_0x307cf4,_0x31320e){_0x307cf4=_0x307cf4-0x135;const _0x562ee1=a168_0x562e();let _0x41eea8=_0x562ee1[_0x307cf4];return _0x41eea8;}function a168_0x562e(){const _0x31d93b=['--write','54HcPOio','npx','info','cwd','5153268JXvSxs','1998488teptth','1308247aPSnFC','21431190dFncIx','format','message','error','代码格式化完成','代码格式化失败','开始格式化代码','1220iGFqTR','1398730nwKmJG','289329HZvhkz','resolve','now','prettier','7ehSuDm','26xVSeDX','4670oKKgRQ'];a168_0x562e=function(){return _0x31d93b;};return a168_0x562e();}import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function formatProjectCode(_0x4e3d3d){const _0x2872bd=a168_0x41ee,_0x23f49f=Date[_0x2872bd(0x13c)](),_0x5a6479=a168_0x398006[_0x2872bd(0x13b)](process[_0x2872bd(0x145)](),_0x4e3d3d);try{logger[_0x2872bd(0x144)](_0x2872bd(0x14a),_0x2872bd(0x137),{'projectCode':_0x4e3d3d}),await execa(resolveNpmBin(_0x2872bd(0x143)),[_0x2872bd(0x13d),_0x2872bd(0x141),'.'],{'cwd':_0x5a6479});const _0x40a475=Date[_0x2872bd(0x13c)]()-_0x23f49f;logger['success']('format',_0x2872bd(0x135),_0x40a475,{'projectCode':_0x4e3d3d});}catch(_0xaf4660){const _0x4ee959=Date['now']()-_0x23f49f;logger[_0x2872bd(0x14c)](_0x2872bd(0x14a),_0x2872bd(0x136),{'projectCode':_0x4e3d3d,'error':_0xaf4660 instanceof Error?_0xaf4660[_0x2872bd(0x14b)]:String(_0xaf4660),'duration':_0x4ee959});throw _0xaf4660;}return formatElapsed(_0x23f49f);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x34e6ec,_0x8911a1){const _0x2275bb=a169_0x2f5c,_0x585b4a=_0x34e6ec();while(!![]){try{const _0x111240=parseInt(_0x2275bb(0x167))/0x1*(parseInt(_0x2275bb(0x15d))/0x2)+-parseInt(_0x2275bb(0x158))/0x3+parseInt(_0x2275bb(0x15b))/0x4+-parseInt(_0x2275bb(0x164))/0x5+parseInt(_0x2275bb(0x163))/0x6*(-parseInt(_0x2275bb(0x15c))/0x7)+-parseInt(_0x2275bb(0x155))/0x8+parseInt(_0x2275bb(0x166))/0x9;if(_0x111240===_0x8911a1)break;else _0x585b4a['push'](_0x585b4a['shift']());}catch(_0x290c6b){_0x585b4a['push'](_0x585b4a['shift']());}}}(a169_0x4856,0xc76a4));import a169_0x5ce064 from'node:path';import{execa}from'execa';function a169_0x4856(){const _0x42222c=['info','cwd','--registry','npm','18EJpbEX','7669850dXWMJo','https://registry.npmmirror.com','30563532ldSWPN','22rBNgED','message','441152dwEtOJ','resolve','install','3724326SZCLtz','error','success','1043276osvWNb','3368267vybkEd','130376czqkCj','now'];a169_0x4856=function(){return _0x42222c;};return a169_0x4856();}function a169_0x2f5c(_0x28de08,_0x1d8a6d){_0x28de08=_0x28de08-0x155;const _0x485653=a169_0x4856();let _0x2f5c01=_0x485653[_0x28de08];return _0x2f5c01;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x976dca){const _0x78ec4f=a169_0x2f5c,_0x9a5289=Date[_0x78ec4f(0x15e)](),_0x39958b=a169_0x5ce064[_0x78ec4f(0x156)](process[_0x78ec4f(0x160)](),_0x976dca);try{logger[_0x78ec4f(0x15f)](_0x78ec4f(0x157),'开始安装依赖',{'projectCode':_0x976dca,'registry':_0x78ec4f(0x165)}),await execa(resolveNpmBin(_0x78ec4f(0x162)),[_0x78ec4f(0x157),_0x78ec4f(0x161),_0x78ec4f(0x165)],{'cwd':_0x39958b});const _0x369b24=Date[_0x78ec4f(0x15e)]()-_0x9a5289;logger[_0x78ec4f(0x15a)]('install','依赖安装完成',_0x369b24,{'projectCode':_0x976dca});}catch(_0x482839){const _0x25031b=Date[_0x78ec4f(0x15e)]()-_0x9a5289;logger[_0x78ec4f(0x159)](_0x78ec4f(0x157),'依赖安装失败',{'projectCode':_0x976dca,'error':_0x482839 instanceof Error?_0x482839[_0x78ec4f(0x168)]:String(_0x482839),'duration':_0x25031b});throw _0x482839;}return formatElapsed(_0x9a5289);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a170_0x58deaf=a170_0x7531;(function(_0x1ea2f8,_0x5394c2){const _0x344599=a170_0x7531,_0x57782c=_0x1ea2f8();while(!![]){try{const _0x137054=-parseInt(_0x344599(0xc0))/0x1*(parseInt(_0x344599(0xb7))/0x2)+parseInt(_0x344599(0xb8))/0x3+-parseInt(_0x344599(0xc4))/0x4+-parseInt(_0x344599(0xbc))/0x5+-parseInt(_0x344599(0xbe))/0x6+-parseInt(_0x344599(0xbb))/0x7*(-parseInt(_0x344599(0xbd))/0x8)+parseInt(_0x344599(0xad))/0x9;if(_0x137054===_0x5394c2)break;else _0x57782c['push'](_0x57782c['shift']());}catch(_0x284348){_0x57782c['push'](_0x57782c['shift']());}}}(a170_0x3d41,0xc3621));import{CliErrors}from'../../errors.js';function a170_0x7531(_0x5a5093,_0x48bc9f){_0x5a5093=_0x5a5093-0xa5;const _0x3d4175=a170_0x3d41();let _0x7531e2=_0x3d4175[_0x5a5093];return _0x7531e2;}import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';const createFlags=[{'name':a170_0x58deaf(0xc1),'type':a170_0x58deaf(0xa6),'description':'Project\x20name'},{'name':'env','type':a170_0x58deaf(0xa6),'description':'Target\x20environment'},{'name':a170_0x58deaf(0xb1),'type':a170_0x58deaf(0xa6),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'}],upgradeFlags=[{'name':a170_0x58deaf(0xab),'type':'boolean','description':a170_0x58deaf(0xb4),'default':![]}];export const projectDefinitions=[{'service':a170_0x58deaf(0xae),'command':a170_0x58deaf(0xbf),'description':a170_0x58deaf(0xb6),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a170_0x58deaf(0xb0),'description':'Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','required':![]}],'flags':createFlags,async 'execute'(_0x39b961){const _0x4aed34=a170_0x58deaf,{createApp:_0x51b82a}=await import(_0x4aed34(0xc3)),_0x1e61e0=_0x39b961['str']('name')[_0x4aed34(0xb9)]()||_0x39b961['args'][0x0]?.[_0x4aed34(0xb9)](),_0xe47bc4=_0x39b961[_0x4aed34(0xa9)](_0x4aed34(0xa8))||undefined,_0x524e14=_0x39b961[_0x4aed34(0xa9)](_0x4aed34(0xb1))||undefined;if(_0x39b961[_0x4aed34(0xac)]){if(!_0x1e61e0)throw CliErrors[_0x4aed34(0xa5)](_0x4aed34(0xaf),_0x4aed34(0xa7)+CLI_BIN_NAME+_0x4aed34(0xc2));await _0x51b82a({'projectCode':_0x1e61e0,'appCode':_0x524e14,'env':_0xe47bc4,'cookie':_0x39b961[_0x4aed34(0xb5)],'nonInteractive':!![]});}else await _0x51b82a({'projectCode':_0x1e61e0,'appCode':_0x524e14,'env':_0xe47bc4,'cookie':_0x39b961[_0x4aed34(0xb5)]});return{'ok':!![]};}},{'service':a170_0x58deaf(0xae),'command':a170_0x58deaf(0xaa),'description':a170_0x58deaf(0xb3),'risk':a170_0x58deaf(0xba),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x1c4075){const _0xfd6eb1=a170_0x58deaf;return await upgradeApp(_0x1c4075['nonInteractive'],{'yes':_0x1c4075[_0xfd6eb1(0xb2)](_0xfd6eb1(0xab))}),{'ok':!![]};}}];function a170_0x3d41(){const _0x5224b9=['bool','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','Skip\x20confirmation\x20prompt','cookie','Create\x20a\x20new\x20project','1038lpXGVe','4360530JNTVhx','trim','write','10010wsTPqk','80930XYPsjK','2568iezKzI','4025430AKQaSK','create','1639XaqSGm','name','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]','../../commands/project/create/main.js','2141096GqsniV','validation','string','Usage:\x20','env','str','upgrade','yes','nonInteractive','8646795GOEkju','project','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','project-name','appcode'];a170_0x3d41=function(){return _0x5224b9;};return a170_0x3d41();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a177_0x210f1e=a177_0x294f;(function(_0x2a7220,_0x49114c){const _0x182b27=a177_0x294f,_0x41d8f9=_0x2a7220();while(!![]){try{const _0x55229e=-parseInt(_0x182b27(0x104))/0x1+parseInt(_0x182b27(0xc8))/0x2*(-parseInt(_0x182b27(0xab))/0x3)+-parseInt(_0x182b27(0xea))/0x4*(-parseInt(_0x182b27(0xf1))/0x5)+parseInt(_0x182b27(0xd0))/0x6+parseInt(_0x182b27(0xdb))/0x7+parseInt(_0x182b27(0xe8))/0x8+parseInt(_0x182b27(0xed))/0x9*(-parseInt(_0x182b27(0x123))/0xa);if(_0x55229e===_0x49114c)break;else _0x41d8f9['push'](_0x41d8f9['shift']());}catch(_0x31a680){_0x41d8f9['push'](_0x41d8f9['shift']());}}}(a177_0x5506,0x25728));import a177_0x1cf5f8 from'chalk';import a177_0xcdf33e 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';function a177_0x5506(){const _0x132d7c=['Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','utf8','1840336IXrWpN','Step\x204/7:\x20Cleaning\x20MCP\x20config...','883944vflsca','Config\x20migration','package.json','50616pqvpli','lovrabet/rabetbase\x20installed\x20globally','Step\x201/7:\x20Migrating\x20config...','Step\x204/7:\x20MCP\x20config\x20—\x20','5LAvWar','fail','status','\x20→\x20keys:\x20','\x20removed\x20(','join','dependencies','FAIL','Legacy\x20artifacts:','mcpServers','needsSkillSwap','oldMcpConfig','@lovrabet/dataset-mcp-server','hasNewConfig','Proceed\x20with\x20upgrade?','gray','removed\x20','Install\x20new\x20skill','keys','235086fIDgeu','===\x20Upgrade\x20Summary\x20===','isArray','.claude/skills/lovrabet','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','@lovrabet/sdk:','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','exit\x20','log','\x20(backup:\x20','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','filter','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','Remove\x20old\x20skill','latest','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','no\x20matching\x20entry\x20found','message','parse','yes','\x20removed','undefined','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','Remove\x20legacy\x20artifacts','configMigration','bold','.bak','oldPath','label','260eJDurc','entries','detail','yellow','sdkUpgrade','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/sdk','12zeLeoL','MCP\x20config:','\x20from\x20','Clean\x20MCP\x20config','Upgrade\x20@lovrabet/sdk','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','path','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20\x20Current\x20version\x20in\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','.cursor/mcp.json','cyan','length','error','Upgrade\x20completed\x20successfully!','skipped','Config\x20file:','skipped\x20(no\x20legacy\x20config)','devDependencies','includes','not\x20needed','green','Step\x205/7:\x20Removing\x20old\x20skill...','start','step','failed','\x20\x20Fields\x20to\x20migrate:\x20','no\x20legacy\x20config\x20found','red','97222zAIATH','.lovrabet','Remove\x20.lovrabet/','\x20\x20\x20\x20\x20\x20\x20','values','some','Upgrade\x20cancelled.','stringify','146280ytNhBO','\x20\x20Step\x20','done','CANCEL','fields','inherit','no\x20legacy\x20entry','succeed','FOUND','\x20\x20npm\x20install','args','1776110XqDvBQ','\x20→\x20latest','string','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','.cursor/rules/lovrabet_rules.mdc','\x20\x20#\x20or','\x20→\x20','white','lovrabet/rabetbase','push'];a177_0x5506=function(){return _0x132d7c;};return a177_0x5506();}import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';function a177_0x294f(_0x4496ea,_0x17b7a4){_0x4496ea=_0x4496ea-0xa6;const _0x550696=a177_0x5506();let _0x294f94=_0x550696[_0x4496ea];return _0x294f94;}import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=CONFIG_NAMES[a177_0x210f1e(0x10f)](_0x490c1d=>_0x490c1d!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x323e3a){const _0x2785e8=a177_0x210f1e,_0x36d041=[];for(const _0x178d52 of Object[_0x2785e8(0xcc)](CORE_IDE_CONFIGS)){if(_0x178d52['files'])for(const _0x3c53d8 of _0x178d52['files']){_0x36d041['push'](resolve(_0x323e3a,_0x3c53d8[_0x2785e8(0xb1)]));}}return _0x36d041;}function analyse(_0x3fe793){const _0x4182ee=a177_0x210f1e;let _0x5c3d27=null;const _0x2ed53a=resolve(_0x3fe793,NEW_CONFIG_NAME),_0x538721=existsSync(_0x2ed53a);for(const _0x179005 of LEGACY_CONFIG_NAMES){const _0x3a30c0=resolve(_0x3fe793,_0x179005);if(existsSync(_0x3a30c0)){const _0x588489=readConfigFile(_0x3a30c0),_0x92a2c=Object[_0x4182ee(0x103)](_0x588489)['filter'](_0x536f17=>typeof _0x588489[_0x536f17]!==_0x4182ee(0x11b));_0x5c3d27={'oldPath':_0x3a30c0,'hasNewConfig':_0x538721,'fields':_0x92a2c};break;}}const _0x16fe14=[],_0x3a1690=resolve(_0x3fe793,_0x4182ee(0xc9));if(existsSync(_0x3a1690))_0x16fe14[_0x4182ee(0xe5)](_0x3a1690);const _0x28435a=resolve(_0x3fe793,_0x4182ee(0xe0));if(existsSync(_0x28435a))_0x16fe14['push'](_0x28435a);const _0x33cd25=resolve(_0x3fe793,_0x4182ee(0x107));if(existsSync(_0x33cd25))_0x16fe14[_0x4182ee(0xe5)](_0x33cd25);for(const _0x2c7a8f of collectIdeSkillFiles(_0x3fe793)){if(existsSync(_0x2c7a8f))_0x16fe14['push'](_0x2c7a8f);}let _0x2ebd54=null;const _0xf55190=resolve(_0x3fe793,_0x4182ee(0xb5));if(existsSync(_0xf55190))try{const _0x22e2ef=JSON[_0x4182ee(0x118)](readFileSync(_0xf55190,_0x4182ee(0xe7)));if(_0x22e2ef?.[_0x4182ee(0xfa)]&&typeof _0x22e2ef['mcpServers']==='object'){const _0x49ccec=[];for(const [_0x326fc2,_0x2f195]of Object[_0x4182ee(0x124)](_0x22e2ef[_0x4182ee(0xfa)])){const _0x5dbca8=_0x2f195;_0x5dbca8?.[_0x4182ee(0xda)]&&Array[_0x4182ee(0x106)](_0x5dbca8['args'])&&_0x5dbca8[_0x4182ee(0xda)][_0x4182ee(0xcd)](_0x4f3d54=>typeof _0x4f3d54===_0x4182ee(0xdd)&&_0x4f3d54[_0x4182ee(0xbe)](_0x4182ee(0xfd)))&&_0x49ccec[_0x4182ee(0xe5)](_0x326fc2);}_0x49ccec[_0x4182ee(0xb7)]>0x0&&(_0x2ebd54={'path':_0xf55190,'keys':_0x49ccec});}}catch{}const _0x1854eb=_0x16fe14['length']>0x0||_0x5c3d27!==null;let _0x58f084=null;const _0x46c53e=resolve(_0x3fe793,_0x4182ee(0xec));if(existsSync(_0x46c53e))try{const _0x4cd2b1=JSON['parse'](readFileSync(_0x46c53e,_0x4182ee(0xe7)));for(const _0x2c5680 of[_0x4182ee(0xf7),_0x4182ee(0xbd)]){const _0x5e6ac0=_0x4cd2b1?.[_0x2c5680]?.[_0x4182ee(0xaa)];if(typeof _0x5e6ac0===_0x4182ee(0xdd)){_0x5e6ac0!==_0x4182ee(0x114)&&(_0x58f084={'pkgPath':_0x46c53e,'currentVersion':_0x5e6ac0,'field':_0x2c5680});break;}}}catch{}return{'configMigration':_0x5c3d27,'oldArtifacts':_0x16fe14,'oldMcpConfig':_0x2ebd54,'needsSkillSwap':_0x1854eb,'sdkUpgrade':_0x58f084};}function printReport(_0x17ea35){const _0x4365d5=a177_0x210f1e,{configMigration:_0x4c5083,oldArtifacts:_0x594053,oldMcpConfig:_0x3516db,needsSkillSwap:_0x21af25}=_0x17ea35;console[_0x4365d5(0x10c)](''),console[_0x4365d5(0x10c)](a177_0x1cf5f8['bold']('===\x20Upgrade\x20Analysis\x20===')),console[_0x4365d5(0x10c)]('');_0x4c5083?(console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xbb))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x4c5083[_0x4365d5(0x121)]))),console[_0x4365d5(0x10c)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x4c5083['hasNewConfig']?a177_0x1cf5f8['green']('already\x20exists\x20(will\x20merge)'):a177_0x1cf5f8[_0x4365d5(0x100)]('not\x20found\x20(will\x20create)'))),console[_0x4365d5(0x10c)](_0x4365d5(0xc5)+_0x4c5083[_0x4365d5(0xd4)][_0x4365d5(0xf6)](',\x20')),console[_0x4365d5(0x10c)](_0x4365d5(0x115))):console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xbb))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)](_0x4365d5(0xc6)));console['log']('');if(_0x594053['length']>0x0){console['log'](a177_0x1cf5f8[_0x4365d5(0xb6)]('Legacy\x20artifacts:'));for(const _0x548470 of _0x594053){console['log']('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xc7)](_0x4365d5(0xd8))+'\x20\x20'+_0x548470);}console[_0x4365d5(0x10c)]('\x20\x20Action:\x20delete');}else console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xf9))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)]('none\x20found'));console[_0x4365d5(0x10c)]('');_0x3516db?(console[_0x4365d5(0x10c)](a177_0x1cf5f8['cyan'](_0x4365d5(0xac))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x3516db[_0x4365d5(0xb1)])+_0x4365d5(0xf4)+_0x3516db[_0x4365d5(0x103)][_0x4365d5(0xf6)](',\x20'))),console[_0x4365d5(0x10c)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0xac))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)](_0x4365d5(0xd6)));console[_0x4365d5(0x10c)](''),console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)]('Skill\x20swap:')+('\x20\x20'+(_0x21af25?a177_0x1cf5f8['yellow']('needed'):a177_0x1cf5f8[_0x4365d5(0xc0)](_0x4365d5(0xbf)))));_0x21af25&&console[_0x4365d5(0x10c)](_0x4365d5(0xb0)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x4365d5(0x10c)]('');if(_0x17ea35[_0x4365d5(0xa8)]){const {currentVersion:_0x52f824,field:_0x3be1ef,pkgPath:_0x36c01b}=_0x17ea35[_0x4365d5(0xa8)];console[_0x4365d5(0x10c)](a177_0x1cf5f8[_0x4365d5(0xb6)](_0x4365d5(0x109))+('\x20\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x36c01b))),console['log'](_0x4365d5(0xb3)+_0x3be1ef+':\x20'+a177_0x1cf5f8[_0x4365d5(0xa7)](_0x52f824)+_0x4365d5(0xe2)+a177_0x1cf5f8[_0x4365d5(0xc0)]('latest')),console[_0x4365d5(0x10c)](_0x4365d5(0x10e));}else console[_0x4365d5(0x10c)](a177_0x1cf5f8['cyan'](_0x4365d5(0x109))+'\x20\x20'+a177_0x1cf5f8[_0x4365d5(0x100)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function execConfigMigration(_0x54e5a6,_0xa15095){const _0x19a46e=a177_0x210f1e,{configMigration:_0x1a6453}=_0x54e5a6;if(!_0x1a6453?.[_0x19a46e(0x121)])return{'step':0x1,'label':_0x19a46e(0xeb),'ok':!![],'detail':_0x19a46e(0xbc)};const _0x313169=readConfigFile(_0x1a6453[_0x19a46e(0x121)]),_0x1ac4e2=resolve(_0xa15095,NEW_CONFIG_NAME),_0x15538a=_0x1a6453[_0x19a46e(0xfe)]?readConfigFile(_0x1ac4e2):{};for(const [_0x204aee,_0x2d5eb7]of Object[_0x19a46e(0x124)](_0x313169)){!(_0x204aee in _0x15538a)&&(_0x15538a[_0x204aee]=_0x2d5eb7);}writeConfigFile(_0x1ac4e2,_0x15538a);const _0xb3aaa1=_0x1a6453['oldPath']+_0x19a46e(0x120);return renameSync(_0x1a6453[_0x19a46e(0x121)],_0xb3aaa1),{'step':0x1,'label':_0x19a46e(0xeb),'ok':!![],'detail':_0x1a6453['oldPath']+_0x19a46e(0xe2)+_0x1ac4e2+_0x19a46e(0x10d)+_0xb3aaa1+')'};}function execRemoveOldArtifacts(_0x176672){const _0x30949f=a177_0x210f1e,_0x3dacc7=[];for(const _0x3d214f of _0x176672){try{if(!existsSync(_0x3d214f))continue;const _0x140be6=tryStat(_0x3d214f);_0x140be6?.['isDirectory']()?rmSync(_0x3d214f,{'recursive':!![],'force':!![]}):unlinkSync(_0x3d214f);}catch(_0x32726b){_0x3dacc7[_0x30949f(0xe5)](_0x3d214f+':\x20'+_0x32726b[_0x30949f(0x117)]);}}return{'step':0x3,'label':_0x30949f(0x11d),'ok':_0x3dacc7[_0x30949f(0xb7)]===0x0,'detail':_0x3dacc7['length']>0x0?_0x176672[_0x30949f(0xb7)]-_0x3dacc7[_0x30949f(0xb7)]+'/'+_0x176672[_0x30949f(0xb7)]+_0x30949f(0xf5)+_0x3dacc7[_0x30949f(0xf6)](';\x20')+')':_0x176672[_0x30949f(0xb7)]+_0x30949f(0x11a)};}function execCleanMcp(_0x259f29){const _0x29b27e=a177_0x210f1e;if(!_0x259f29['oldMcpConfig'])return{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0xba)};try{const _0x74cf92=readFileSync(_0x259f29[_0x29b27e(0xfc)]['path'],'utf8'),_0x19a0cf=JSON[_0x29b27e(0x118)](_0x74cf92);if(_0x19a0cf?.['mcpServers']&&typeof _0x19a0cf[_0x29b27e(0xfa)]==='object'){const _0x203e00=[];for(const [_0x490a26,_0x26ab34]of Object[_0x29b27e(0x124)](_0x19a0cf['mcpServers'])){_0x26ab34?.[_0x29b27e(0xda)]&&Array[_0x29b27e(0x106)](_0x26ab34[_0x29b27e(0xda)])&&_0x26ab34[_0x29b27e(0xda)][_0x29b27e(0xcd)](_0x5d89ac=>typeof _0x5d89ac===_0x29b27e(0xdd)&&_0x5d89ac[_0x29b27e(0xbe)](_0x29b27e(0xfd)))&&_0x203e00[_0x29b27e(0xe5)](_0x490a26);}for(const _0x25baf5 of _0x203e00){delete _0x19a0cf['mcpServers'][_0x25baf5];}return _0x203e00[_0x29b27e(0xb7)]>0x0&&writeFileSync(_0x259f29[_0x29b27e(0xfc)][_0x29b27e(0xb1)],JSON[_0x29b27e(0xcf)](_0x19a0cf,null,0x2)+'\x0a',_0x29b27e(0xe7)),{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0x101)+_0x203e00[_0x29b27e(0xf6)](',\x20')+_0x29b27e(0xad)+_0x259f29[_0x29b27e(0xfc)][_0x29b27e(0xb1)]};}return{'step':0x4,'label':_0x29b27e(0xae),'ok':!![],'detail':_0x29b27e(0x116)};}catch(_0x2911e7){return{'step':0x4,'label':_0x29b27e(0xae),'ok':![],'detail':_0x2911e7[_0x29b27e(0x117)]};}}function execSkillsRemove(_0x312b3d,_0x2a866b){const _0xe3c98c=a177_0x210f1e,_0x4ce8b9=runNpxSkillsRemove(_0x312b3d,{'stdio':_0xe3c98c(0xd5),'yes':_0x2a866b});return{'step':0x5,'label':_0xe3c98c(0x113),'ok':_0x4ce8b9['ok'],'detail':_0x4ce8b9['ok']?'lovrabet/lovrabet-skill\x20removed':_0x4ce8b9[_0xe3c98c(0xb8)]??_0xe3c98c(0x10b)+_0x4ce8b9[_0xe3c98c(0xf3)]};}function execSkillsAdd(_0x3a4318,_0xcd4a13){const _0x3b579d=a177_0x210f1e,_0x1787b1=runNpxSkillsAddGlobal(_0x3a4318,_0x3b579d(0xe4),{'stdio':_0x3b579d(0xd5),'yes':_0xcd4a13});return{'step':0x6,'label':_0x3b579d(0x102),'ok':_0x1787b1['ok'],'detail':_0x1787b1['ok']?_0x3b579d(0xee):_0x1787b1[_0x3b579d(0xb8)]??'exit\x20'+_0x1787b1[_0x3b579d(0xf3)]};}function execUpgradeSdk(_0x5a5e76){const _0xb92b5b=a177_0x210f1e;if(!_0x5a5e76['sdkUpgrade'])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x921eef,currentVersion:_0x15188b,field:_0x15aa24}=_0x5a5e76[_0xb92b5b(0xa8)];try{const _0x58fa32=readFileSync(_0x921eef,_0xb92b5b(0xe7)),_0x4b2fed=JSON[_0xb92b5b(0x118)](_0x58fa32);return _0x4b2fed[_0x15aa24]['@lovrabet/sdk']=_0xb92b5b(0x114),writeFileSync(_0x921eef,JSON['stringify'](_0x4b2fed,null,0x2)+'\x0a',_0xb92b5b(0xe7)),{'step':0x7,'label':_0xb92b5b(0xaf),'ok':!![],'detail':_0x15aa24+_0xb92b5b(0xdf)+_0x15188b+_0xb92b5b(0xdc)};}catch(_0x5526fc){return{'step':0x7,'label':_0xb92b5b(0xaf),'ok':![],'detail':_0x5526fc[_0xb92b5b(0x117)]};}}function tryStat(_0x4140b7){try{return statSync(_0x4140b7);}catch{return undefined;}}function printSummary(_0x29083e){const _0x3d9d29=a177_0x210f1e;console[_0x3d9d29(0x10c)](''),console[_0x3d9d29(0x10c)](a177_0x1cf5f8[_0x3d9d29(0x11f)](_0x3d9d29(0x105))),console[_0x3d9d29(0x10c)]('');for(const _0x33a73a of _0x29083e){const _0x4693ca=_0x33a73a['ok']?a177_0x1cf5f8[_0x3d9d29(0xc0)]('OK'):a177_0x1cf5f8[_0x3d9d29(0xc7)](_0x3d9d29(0xf8));console[_0x3d9d29(0x10c)]('\x20\x20'+_0x4693ca+_0x3d9d29(0xd1)+_0x33a73a[_0x3d9d29(0xc3)]+':\x20'+_0x33a73a[_0x3d9d29(0x122)]);if(_0x33a73a[_0x3d9d29(0xa6)])console[_0x3d9d29(0x10c)](_0x3d9d29(0xcb)+a177_0x1cf5f8[_0x3d9d29(0x100)](_0x33a73a[_0x3d9d29(0xa6)]));}console['log']('');}export async function upgradeApp(_0x29a7c3,_0x521604){const _0xbd42ed=a177_0x210f1e,_0x4f16c6=process['cwd'](),_0x1a4a1e=analyse(_0x4f16c6),_0x255c70=!_0x1a4a1e[_0xbd42ed(0x11e)]&&_0x1a4a1e['oldArtifacts'][_0xbd42ed(0xb7)]===0x0&&!_0x1a4a1e[_0xbd42ed(0xfc)]&&!_0x1a4a1e[_0xbd42ed(0xfb)]&&!_0x1a4a1e[_0xbd42ed(0xa8)];if(_0x255c70){console['log'](a177_0x1cf5f8[_0xbd42ed(0xc0)]('No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.'));return;}printReport(_0x1a4a1e);const _0xf142f6=!!(_0x521604[_0xbd42ed(0x119)]||_0x521604['Y']||_0x29a7c3);if(!_0xf142f6)try{const _0x471455=await askConfirm(_0xbd42ed(0xff));if(!_0x471455){console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0x100)]('Upgrade\x20cancelled.'));return;}}catch(_0x18e92d){if(_0x18e92d?.['message']===_0xbd42ed(0xd3)){console[_0xbd42ed(0x10c)](a177_0x1cf5f8['gray'](_0xbd42ed(0xce)));return;}throw _0x18e92d;}const _0x3a01e5=[],_0xa8d3ba=a177_0xcdf33e({'text':_0xbd42ed(0xef),'color':_0xbd42ed(0xb6)})['start'](),_0xfc0893=execConfigMigration(_0x1a4a1e,_0x4f16c6);_0x3a01e5[_0xbd42ed(0xe5)](_0xfc0893),_0xa8d3ba[_0xfc0893['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)]('Step\x201/7:\x20Config\x20migration\x20—\x20'+(_0xfc0893['detail']??(_0xfc0893['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x2f8e23=resolve(_0x4f16c6,'.lovrabet'),_0x5c8279=a177_0xcdf33e({'text':_0xbd42ed(0x11c),'color':'cyan'})[_0xbd42ed(0xc2)]();if(existsSync(_0x2f8e23))try{rmSync(_0x2f8e23,{'recursive':!![],'force':!![]}),_0x5c8279[_0xbd42ed(0xd7)](_0xbd42ed(0x112)),_0x3a01e5['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0x2fd8e3){_0x5c8279['fail'](_0xbd42ed(0x108)+_0x2fd8e3['message']),_0x3a01e5[_0xbd42ed(0xe5)]({'step':0x2,'label':_0xbd42ed(0xca),'ok':![],'detail':_0x2fd8e3[_0xbd42ed(0x117)]});}else _0x5c8279['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x3a01e5[_0xbd42ed(0xe5)]({'step':0x2,'label':_0xbd42ed(0xca),'ok':!![],'detail':_0xbd42ed(0xba)});const _0x4059aa=a177_0xcdf33e({'text':_0xbd42ed(0xe6),'color':'cyan'})[_0xbd42ed(0xc2)](),_0xa657b8=execRemoveOldArtifacts(_0x1a4a1e['oldArtifacts']);_0x3a01e5[_0xbd42ed(0xe5)](_0xa657b8),_0x4059aa[_0xa657b8['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0xde)+(_0xa657b8['detail']??(_0xa657b8['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x16051a=a177_0xcdf33e({'text':_0xbd42ed(0xe9),'color':'cyan'})[_0xbd42ed(0xc2)](),_0x1b3e10=execCleanMcp(_0x1a4a1e);_0x3a01e5[_0xbd42ed(0xe5)](_0x1b3e10),_0x16051a[_0x1b3e10['ok']?'succeed':_0xbd42ed(0xf2)](_0xbd42ed(0xf0)+(_0x1b3e10[_0xbd42ed(0xa6)]??(_0x1b3e10['ok']?'done':_0xbd42ed(0xc4))));const _0x515c71=a177_0xcdf33e({'text':_0xbd42ed(0xc1),'color':_0xbd42ed(0xb6)})['start'](),_0x4801d5=execSkillsRemove(_0x4f16c6,_0xf142f6);_0x3a01e5[_0xbd42ed(0xe5)](_0x4801d5),_0x515c71[_0x4801d5['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0x10a)+(_0x4801d5[_0xbd42ed(0xa6)]??(_0x4801d5['ok']?_0xbd42ed(0xd2):_0xbd42ed(0xc4))));const _0x7d375=a177_0xcdf33e({'text':_0xbd42ed(0x111),'color':_0xbd42ed(0xb6)})['start'](),_0x48dfbb=execSkillsAdd(_0x4f16c6,_0xf142f6);_0x3a01e5['push'](_0x48dfbb),_0x7d375[_0x48dfbb['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)](_0xbd42ed(0xb4)+(_0x48dfbb[_0xbd42ed(0xa6)]??(_0x48dfbb['ok']?'done':_0xbd42ed(0xc4))));const _0x23043c=a177_0xcdf33e({'text':_0xbd42ed(0x110),'color':_0xbd42ed(0xb6)})[_0xbd42ed(0xc2)](),_0x35775e=execUpgradeSdk(_0x1a4a1e);_0x3a01e5[_0xbd42ed(0xe5)](_0x35775e),_0x23043c[_0x35775e['ok']?_0xbd42ed(0xd7):_0xbd42ed(0xf2)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x35775e[_0xbd42ed(0xa6)]??(_0x35775e['ok']?'done':_0xbd42ed(0xc4)))),printSummary(_0x3a01e5);const _0x2cc89e=_0x3a01e5[_0xbd42ed(0xcd)](_0x592122=>!_0x592122['ok']);_0x2cc89e?console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xa7)](_0xbd42ed(0xa9))):console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xc0)](_0xbd42ed(0xb9))),_0x35775e['ok']&&_0x1a4a1e[_0xbd42ed(0xa8)]&&(console[_0xbd42ed(0x10c)](''),console['log'](a177_0x1cf5f8[_0xbd42ed(0x11f)][_0xbd42ed(0xb6)](_0xbd42ed(0xb2))),console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xb6)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console['log'](''),console[_0xbd42ed(0x10c)](a177_0x1cf5f8['white'](_0xbd42ed(0xd9))),console['log'](a177_0x1cf5f8['white'](_0xbd42ed(0xe1))),console[_0xbd42ed(0x10c)](a177_0x1cf5f8[_0xbd42ed(0xe3)]('\x20\x20bun\x20install')),console[_0xbd42ed(0x10c)](''));}
|
|
1
|
+
const a171_0x102239=a171_0x59ff;(function(_0x294de6,_0xad713){const _0x31f651=a171_0x59ff,_0x1ca5d3=_0x294de6();while(!![]){try{const _0x95cb6=-parseInt(_0x31f651(0x1d0))/0x1*(parseInt(_0x31f651(0x20c))/0x2)+parseInt(_0x31f651(0x1ed))/0x3*(-parseInt(_0x31f651(0x1dc))/0x4)+parseInt(_0x31f651(0x1d7))/0x5*(-parseInt(_0x31f651(0x1e3))/0x6)+parseInt(_0x31f651(0x205))/0x7+-parseInt(_0x31f651(0x1c0))/0x8*(-parseInt(_0x31f651(0x201))/0x9)+parseInt(_0x31f651(0x1e5))/0xa*(parseInt(_0x31f651(0x1f3))/0xb)+parseInt(_0x31f651(0x1e2))/0xc*(parseInt(_0x31f651(0x20d))/0xd);if(_0x95cb6===_0xad713)break;else _0x1ca5d3['push'](_0x1ca5d3['shift']());}catch(_0x37a2d5){_0x1ca5d3['push'](_0x1ca5d3['shift']());}}}(a171_0x537e,0x205f9));function a171_0x59ff(_0x19e54e,_0x3cb8c4){_0x19e54e=_0x19e54e-0x1bb;const _0x537e6c=a171_0x537e();let _0x59ff1d=_0x537e6c[_0x19e54e];return _0x59ff1d;}import a171_0x5a8535 from'chalk';import a171_0x23dfde 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[a171_0x102239(0x221)](_0x273fb1=>_0x273fb1!==NEW_CONFIG_NAME);function collectIdeSkillFiles(_0x51cd29){const _0x4da779=a171_0x102239,_0x4b9edd=[];for(const _0x624d2c of Object['values'](CORE_IDE_CONFIGS)){if(_0x624d2c[_0x4da779(0x21a)])for(const _0x246302 of _0x624d2c[_0x4da779(0x21a)]){_0x4b9edd[_0x4da779(0x1bb)](resolve(_0x51cd29,_0x246302['path']));}}return _0x4b9edd;}function analyse(_0x23f2ce){const _0x16b718=a171_0x102239;let _0x1e23d7=null;const _0x3e5620=resolve(_0x23f2ce,NEW_CONFIG_NAME),_0x2f30bb=existsSync(_0x3e5620);for(const _0x1a18d0 of LEGACY_CONFIG_NAMES){const _0x1ba240=resolve(_0x23f2ce,_0x1a18d0);if(existsSync(_0x1ba240)){const _0x30bedc=readConfigFile(_0x1ba240),_0x1e2495=Object[_0x16b718(0x1d9)](_0x30bedc)[_0x16b718(0x221)](_0x368679=>typeof _0x30bedc[_0x368679]!==_0x16b718(0x1c7));_0x1e23d7={'oldPath':_0x1ba240,'hasNewConfig':_0x2f30bb,'fields':_0x1e2495};break;}}const _0xe6f0a2=[],_0x271426=resolve(_0x23f2ce,'.lovrabet');if(existsSync(_0x271426))_0xe6f0a2[_0x16b718(0x1bb)](_0x271426);const _0x4b8692=resolve(_0x23f2ce,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x4b8692))_0xe6f0a2[_0x16b718(0x1bb)](_0x4b8692);const _0x1ab39a=resolve(_0x23f2ce,_0x16b718(0x237));if(existsSync(_0x1ab39a))_0xe6f0a2[_0x16b718(0x1bb)](_0x1ab39a);for(const _0x11b4ac of collectIdeSkillFiles(_0x23f2ce)){if(existsSync(_0x11b4ac))_0xe6f0a2[_0x16b718(0x1bb)](_0x11b4ac);}let _0x1638bb=null;const _0x47afc9=resolve(_0x23f2ce,'.cursor/mcp.json');if(existsSync(_0x47afc9))try{const _0x3cd440=JSON[_0x16b718(0x1f6)](readFileSync(_0x47afc9,_0x16b718(0x204)));if(_0x3cd440?.[_0x16b718(0x1ec)]&&typeof _0x3cd440['mcpServers']===_0x16b718(0x227)){const _0x156925=[];for(const [_0x112b7a,_0x30e593]of Object[_0x16b718(0x1d3)](_0x3cd440[_0x16b718(0x1ec)])){const _0x1e4f01=_0x30e593;_0x1e4f01?.['args']&&Array[_0x16b718(0x1f8)](_0x1e4f01['args'])&&_0x1e4f01[_0x16b718(0x1d4)]['some'](_0x2dfe69=>typeof _0x2dfe69==='string'&&_0x2dfe69[_0x16b718(0x1df)](_0x16b718(0x228)))&&_0x156925[_0x16b718(0x1bb)](_0x112b7a);}_0x156925[_0x16b718(0x1da)]>0x0&&(_0x1638bb={'path':_0x47afc9,'keys':_0x156925});}}catch{}const _0x3c1a10=_0xe6f0a2[_0x16b718(0x1da)]>0x0||_0x1e23d7!==null;let _0x459b11=null;const _0x4c34ab=resolve(_0x23f2ce,_0x16b718(0x1f4));if(existsSync(_0x4c34ab))try{const _0x4609f4=JSON[_0x16b718(0x1f6)](readFileSync(_0x4c34ab,_0x16b718(0x204)));for(const _0xa3537a of[_0x16b718(0x1f9),_0x16b718(0x1c6)]){const _0x5b77f3=_0x4609f4?.[_0xa3537a]?.[_0x16b718(0x22b)];if(typeof _0x5b77f3===_0x16b718(0x1f5)){_0x5b77f3!==_0x16b718(0x1d6)&&(_0x459b11={'pkgPath':_0x4c34ab,'currentVersion':_0x5b77f3,'field':_0xa3537a});break;}}}catch{}return{'configMigration':_0x1e23d7,'oldArtifacts':_0xe6f0a2,'oldMcpConfig':_0x1638bb,'needsSkillSwap':_0x3c1a10,'sdkUpgrade':_0x459b11};}function printReport(_0x5a368e){const _0x4718cd=a171_0x102239,{configMigration:_0x547e28,oldArtifacts:_0x17be14,oldMcpConfig:_0x1c2fd1,needsSkillSwap:_0x220dd1}=_0x5a368e;console[_0x4718cd(0x233)](''),console['log'](a171_0x5a8535[_0x4718cd(0x225)]('===\x20Upgrade\x20Analysis\x20===')),console['log']('');_0x547e28?(console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)](_0x4718cd(0x213))+('\x20\x20'+a171_0x5a8535['yellow'](_0x547e28[_0x4718cd(0x216)]))),console[_0x4718cd(0x233)]('\x20\x20New\x20config\x20(.rabetbase.json):\x20'+(_0x547e28[_0x4718cd(0x220)]?a171_0x5a8535[_0x4718cd(0x1e1)](_0x4718cd(0x209)):a171_0x5a8535['gray'](_0x4718cd(0x231)))),console[_0x4718cd(0x233)](_0x4718cd(0x1c1)+_0x547e28[_0x4718cd(0x1f7)][_0x4718cd(0x1bc)](',\x20')),console[_0x4718cd(0x233)](_0x4718cd(0x1f1))):console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)](_0x4718cd(0x213))+'\x20\x20'+a171_0x5a8535[_0x4718cd(0x1bf)](_0x4718cd(0x239)));console[_0x4718cd(0x233)]('');if(_0x17be14[_0x4718cd(0x1da)]>0x0){console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)]('Legacy\x20artifacts:'));for(const _0x3a0c8b of _0x17be14){console[_0x4718cd(0x233)]('\x20\x20'+a171_0x5a8535[_0x4718cd(0x1e0)](_0x4718cd(0x1de))+'\x20\x20'+_0x3a0c8b);}console[_0x4718cd(0x233)](_0x4718cd(0x1c2));}else console['log'](a171_0x5a8535['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a171_0x5a8535[_0x4718cd(0x1bf)](_0x4718cd(0x22c)));console[_0x4718cd(0x233)]('');_0x1c2fd1?(console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)]('MCP\x20config:')+('\x20\x20'+a171_0x5a8535['yellow'](_0x1c2fd1['path'])+_0x4718cd(0x223)+_0x1c2fd1[_0x4718cd(0x1d9)][_0x4718cd(0x1bc)](',\x20'))),console['log'](_0x4718cd(0x1ce))):console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)](_0x4718cd(0x1d1))+'\x20\x20'+a171_0x5a8535['gray']('no\x20legacy\x20entry'));console[_0x4718cd(0x233)](''),console[_0x4718cd(0x233)](a171_0x5a8535['cyan'](_0x4718cd(0x1c3))+('\x20\x20'+(_0x220dd1?a171_0x5a8535[_0x4718cd(0x215)]('needed'):a171_0x5a8535[_0x4718cd(0x1e1)](_0x4718cd(0x217)))));_0x220dd1&&console[_0x4718cd(0x233)](_0x4718cd(0x202)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console['log']('');if(_0x5a368e[_0x4718cd(0x210)]){const {currentVersion:_0x6a7e6d,field:_0x37fb00,pkgPath:_0x33f395}=_0x5a368e[_0x4718cd(0x210)];console[_0x4718cd(0x233)](a171_0x5a8535[_0x4718cd(0x230)](_0x4718cd(0x212))+('\x20\x20'+a171_0x5a8535[_0x4718cd(0x215)](_0x33f395))),console[_0x4718cd(0x233)](_0x4718cd(0x21d)+_0x37fb00+':\x20'+a171_0x5a8535[_0x4718cd(0x215)](_0x6a7e6d)+'\x20→\x20'+a171_0x5a8535[_0x4718cd(0x1e1)](_0x4718cd(0x1d6))),console[_0x4718cd(0x233)]('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x4718cd(0x233)](a171_0x5a8535['cyan'](_0x4718cd(0x212))+'\x20\x20'+a171_0x5a8535[_0x4718cd(0x1bf)]('not\x20found\x20or\x20already\x20at\x20latest'));console['log']('');}function a171_0x537e(){const _0x53b8bd=['3918ZAbYRy','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','810990hiuyWV','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Remove\x20.lovrabet/','detail','start','Clean\x20MCP\x20config','fail','mcpServers','203769SfzUNQ','oldMcpConfig','Upgrade\x20cancelled.','Step\x201/7:\x20Migrating\x20config...','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x201/7:\x20Config\x20migration\x20—\x20','33ieErEl','package.json','string','parse','fields','isArray','dependencies','Config\x20migration','\x20\x20\x20\x20\x20\x20\x20','removed\x20','Remove\x20legacy\x20artifacts','lovrabet/rabetbase','\x20from\x20','inherit','372195uOffWe','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','done','utf8','44457jaOBFB','stringify','info','step','already\x20exists\x20(will\x20merge)','\x20→\x20latest','failed','1438xiTqyB','2615145DSuqdt','Proceed\x20with\x20upgrade?','Step\x206/7:\x20Installing\x20new\x20skill...','sdkUpgrade','FAIL','@lovrabet/sdk:','Config\x20file:','lovrabet/rabetbase\x20installed\x20globally','yellow','oldPath','not\x20needed','Step\x204/7:\x20MCP\x20config\x20—\x20','[\x22@lovrabet/sdk\x22]:\x20','files','\x20removed','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20\x20Current\x20version\x20in\x20','error','cwd','hasNewConfig','filter','\x20(backup:\x20','\x20→\x20keys:\x20','exit\x20','bold','yes','object','@lovrabet/dataset-mcp-server','\x20→\x20','white','@lovrabet/sdk','none\x20found','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','skipped','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','cyan','not\x20found\x20(will\x20create)','needsSkillSwap','log','isDirectory','Remove\x20old\x20skill','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','.claude/skills/lovrabet','no\x20matching\x20entry\x20found','no\x20legacy\x20config\x20found','push','join','\x20\x20bun\x20install','.bak','gray','24DtbKBo','\x20\x20Fields\x20to\x20migrate:\x20','\x20\x20Action:\x20delete','Skill\x20swap:','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Upgrade\x20@lovrabet/sdk','devDependencies','undefined','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Upgrade\x20completed\x20successfully!','\x20\x20Step\x20','\x20removed\x20(','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','oldArtifacts','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','Step\x204/7:\x20Cleaning\x20MCP\x20config...','62tWZDce','MCP\x20config:','some','entries','args','succeed','latest','2005wzcYlY','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','keys','length','path','8ioDrgO','message','FOUND','includes','red','green','12jcgwwl'];a171_0x537e=function(){return _0x53b8bd;};return a171_0x537e();}function execConfigMigration(_0x32ae5d,_0x13a2cc){const _0x20f13a=a171_0x102239,{configMigration:_0x3f1103}=_0x32ae5d;if(!_0x3f1103?.[_0x20f13a(0x216)])return{'step':0x1,'label':_0x20f13a(0x1fa),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x509ced=readConfigFile(_0x3f1103[_0x20f13a(0x216)]),_0x2bf992=resolve(_0x13a2cc,NEW_CONFIG_NAME),_0x128464=_0x3f1103[_0x20f13a(0x220)]?readConfigFile(_0x2bf992):{};for(const [_0x51f4a7,_0x19df34]of Object['entries'](_0x509ced)){!(_0x51f4a7 in _0x128464)&&(_0x128464[_0x51f4a7]=_0x19df34);}writeConfigFile(_0x2bf992,_0x128464);const _0x3b3e5d=_0x3f1103[_0x20f13a(0x216)]+_0x20f13a(0x1be);return renameSync(_0x3f1103[_0x20f13a(0x216)],_0x3b3e5d),{'step':0x1,'label':_0x20f13a(0x1fa),'ok':!![],'detail':_0x3f1103[_0x20f13a(0x216)]+_0x20f13a(0x229)+_0x2bf992+_0x20f13a(0x222)+_0x3b3e5d+')'};}function execRemoveOldArtifacts(_0x390fa5){const _0x5c6310=a171_0x102239,_0x18fe2e=[];for(const _0x132ee7 of _0x390fa5){try{if(!existsSync(_0x132ee7))continue;const _0x85ffea=tryStat(_0x132ee7);_0x85ffea?.[_0x5c6310(0x234)]()?rmSync(_0x132ee7,{'recursive':!![],'force':!![]}):unlinkSync(_0x132ee7);}catch(_0x16705f){_0x18fe2e['push'](_0x132ee7+':\x20'+_0x16705f[_0x5c6310(0x1dd)]);}}return{'step':0x3,'label':_0x5c6310(0x1fd),'ok':_0x18fe2e[_0x5c6310(0x1da)]===0x0,'detail':_0x18fe2e[_0x5c6310(0x1da)]>0x0?_0x390fa5[_0x5c6310(0x1da)]-_0x18fe2e[_0x5c6310(0x1da)]+'/'+_0x390fa5[_0x5c6310(0x1da)]+_0x5c6310(0x1cb)+_0x18fe2e['join'](';\x20')+')':_0x390fa5[_0x5c6310(0x1da)]+_0x5c6310(0x21b)};}function execCleanMcp(_0x589e62){const _0x37e84f=a171_0x102239;if(!_0x589e62['oldMcpConfig'])return{'step':0x4,'label':_0x37e84f(0x1ea),'ok':!![],'detail':_0x37e84f(0x22e)};try{const _0x27b529=readFileSync(_0x589e62[_0x37e84f(0x1ee)][_0x37e84f(0x1db)],_0x37e84f(0x204)),_0x102d2f=JSON[_0x37e84f(0x1f6)](_0x27b529);if(_0x102d2f?.['mcpServers']&&typeof _0x102d2f[_0x37e84f(0x1ec)]===_0x37e84f(0x227)){const _0x45f571=[];for(const [_0xda3afb,_0x1c8eaf]of Object['entries'](_0x102d2f['mcpServers'])){_0x1c8eaf?.[_0x37e84f(0x1d4)]&&Array[_0x37e84f(0x1f8)](_0x1c8eaf['args'])&&_0x1c8eaf['args'][_0x37e84f(0x1d2)](_0x2628e3=>typeof _0x2628e3===_0x37e84f(0x1f5)&&_0x2628e3[_0x37e84f(0x1df)](_0x37e84f(0x228)))&&_0x45f571[_0x37e84f(0x1bb)](_0xda3afb);}for(const _0x14c525 of _0x45f571){delete _0x102d2f[_0x37e84f(0x1ec)][_0x14c525];}return _0x45f571[_0x37e84f(0x1da)]>0x0&&writeFileSync(_0x589e62['oldMcpConfig'][_0x37e84f(0x1db)],JSON[_0x37e84f(0x206)](_0x102d2f,null,0x2)+'\x0a',_0x37e84f(0x204)),{'step':0x4,'label':_0x37e84f(0x1ea),'ok':!![],'detail':_0x37e84f(0x1fc)+_0x45f571[_0x37e84f(0x1bc)](',\x20')+_0x37e84f(0x1ff)+_0x589e62[_0x37e84f(0x1ee)][_0x37e84f(0x1db)]};}return{'step':0x4,'label':_0x37e84f(0x1ea),'ok':!![],'detail':_0x37e84f(0x238)};}catch(_0x401b82){return{'step':0x4,'label':_0x37e84f(0x1ea),'ok':![],'detail':_0x401b82[_0x37e84f(0x1dd)]};}}function execSkillsRemove(_0x3b0a54,_0x75c7c5){const _0x46e29f=a171_0x102239,_0x217854=runNpxSkillsRemove(_0x3b0a54,{'stdio':_0x46e29f(0x200),'yes':_0x75c7c5});return{'step':0x5,'label':_0x46e29f(0x235),'ok':_0x217854['ok'],'detail':_0x217854['ok']?'lovrabet/lovrabet-skill\x20removed':_0x217854[_0x46e29f(0x21e)]??'exit\x20'+_0x217854['status']};}function execSkillsAdd(_0x3dce44,_0x34ce41){const _0x3a4c53=a171_0x102239,_0x57cda5=runNpxSkillsAddGlobal(_0x3dce44,_0x3a4c53(0x1fe),{'stdio':'inherit','yes':_0x34ce41});return{'step':0x6,'label':'Install\x20new\x20skill','ok':_0x57cda5['ok'],'detail':_0x57cda5['ok']?_0x3a4c53(0x214):_0x57cda5['error']??_0x3a4c53(0x224)+_0x57cda5['status']};}function execUpgradeSdk(_0x588528){const _0x256387=a171_0x102239;if(!_0x588528['sdkUpgrade'])return{'step':0x7,'label':_0x256387(0x1c5),'ok':!![],'detail':_0x256387(0x21c)};const {pkgPath:_0x59e7b3,currentVersion:_0xc8883f,field:_0x4b7143}=_0x588528[_0x256387(0x210)];try{const _0x15f7b6=readFileSync(_0x59e7b3,_0x256387(0x204)),_0x499582=JSON['parse'](_0x15f7b6);return _0x499582[_0x4b7143]['@lovrabet/sdk']=_0x256387(0x1d6),writeFileSync(_0x59e7b3,JSON[_0x256387(0x206)](_0x499582,null,0x2)+'\x0a',_0x256387(0x204)),{'step':0x7,'label':_0x256387(0x1c5),'ok':!![],'detail':_0x4b7143+_0x256387(0x219)+_0xc8883f+_0x256387(0x20a)};}catch(_0x3ec454){return{'step':0x7,'label':_0x256387(0x1c5),'ok':![],'detail':_0x3ec454[_0x256387(0x1dd)]};}}function tryStat(_0x15aba8){try{return statSync(_0x15aba8);}catch{return undefined;}}function printSummary(_0x466179){const _0xa67d53=a171_0x102239;console['log'](''),console[_0xa67d53(0x233)](a171_0x5a8535[_0xa67d53(0x225)]('===\x20Upgrade\x20Summary\x20===')),console['log']('');for(const _0x384720 of _0x466179){const _0x55af8c=_0x384720['ok']?a171_0x5a8535['green']('OK'):a171_0x5a8535['red'](_0xa67d53(0x211));console[_0xa67d53(0x233)]('\x20\x20'+_0x55af8c+_0xa67d53(0x1ca)+_0x384720[_0xa67d53(0x208)]+':\x20'+_0x384720['label']);if(_0x384720[_0xa67d53(0x1e8)])console[_0xa67d53(0x233)](_0xa67d53(0x1fb)+a171_0x5a8535['gray'](_0x384720[_0xa67d53(0x1e8)]));}console[_0xa67d53(0x233)]('');}export async function upgradeApp(_0x324f36,_0x4d5009){const _0x12934b=a171_0x102239,_0x30430e=process[_0x12934b(0x21f)](),_0x28d115=analyse(_0x30430e),_0x123654=!_0x28d115['configMigration']&&_0x28d115[_0x12934b(0x1cd)][_0x12934b(0x1da)]===0x0&&!_0x28d115[_0x12934b(0x1ee)]&&!_0x28d115[_0x12934b(0x232)]&&!_0x28d115[_0x12934b(0x210)];if(_0x123654){console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x1e1)](_0x12934b(0x236)));return;}printReport(_0x28d115);const _0x3bb189=!!(_0x4d5009[_0x12934b(0x226)]||_0x4d5009['Y']||_0x324f36);if(!_0x3bb189)try{const _0x592ca9=await askConfirm(_0x12934b(0x20e));if(!_0x592ca9){console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x1bf)]('Upgrade\x20cancelled.'));return;}}catch(_0x17f73f){if(_0x17f73f?.[_0x12934b(0x1dd)]==='CANCEL'){console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x1bf)](_0x12934b(0x1ef)));return;}throw _0x17f73f;}const _0x145c14=[],_0x2a3183=a171_0x23dfde({'text':_0x12934b(0x1f0),'color':_0x12934b(0x230)})[_0x12934b(0x1e9)](),_0x59d1ca=execConfigMigration(_0x28d115,_0x30430e);_0x145c14['push'](_0x59d1ca),_0x2a3183[_0x59d1ca['ok']?_0x12934b(0x1d5):_0x12934b(0x1eb)](_0x12934b(0x1f2)+(_0x59d1ca['detail']??(_0x59d1ca['ok']?_0x12934b(0x203):_0x12934b(0x20b))));const _0x297b72=resolve(_0x30430e,'.lovrabet'),_0x56da7e=a171_0x23dfde({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':'cyan'})[_0x12934b(0x1e9)]();if(existsSync(_0x297b72))try{rmSync(_0x297b72,{'recursive':!![],'force':!![]}),_0x56da7e[_0x12934b(0x1d5)]('Step\x202/7:\x20.lovrabet/\x20directory\x20removed'),_0x145c14[_0x12934b(0x1bb)]({'step':0x2,'label':_0x12934b(0x1e7),'ok':!![]});}catch(_0x41f3dd){_0x56da7e[_0x12934b(0x1eb)](_0x12934b(0x1e4)+_0x41f3dd[_0x12934b(0x1dd)]),_0x145c14[_0x12934b(0x1bb)]({'step':0x2,'label':_0x12934b(0x1e7),'ok':![],'detail':_0x41f3dd[_0x12934b(0x1dd)]});}else _0x56da7e[_0x12934b(0x207)]('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x145c14[_0x12934b(0x1bb)]({'step':0x2,'label':_0x12934b(0x1e7),'ok':!![],'detail':'skipped'});const _0x5b6872=a171_0x23dfde({'text':_0x12934b(0x1cc),'color':'cyan'})[_0x12934b(0x1e9)](),_0x51e750=execRemoveOldArtifacts(_0x28d115[_0x12934b(0x1cd)]);_0x145c14[_0x12934b(0x1bb)](_0x51e750),_0x5b6872[_0x51e750['ok']?'succeed':_0x12934b(0x1eb)](_0x12934b(0x1e6)+(_0x51e750['detail']??(_0x51e750['ok']?_0x12934b(0x203):_0x12934b(0x20b))));const _0x371ed6=a171_0x23dfde({'text':_0x12934b(0x1cf),'color':_0x12934b(0x230)})[_0x12934b(0x1e9)](),_0x2be15b=execCleanMcp(_0x28d115);_0x145c14[_0x12934b(0x1bb)](_0x2be15b),_0x371ed6[_0x2be15b['ok']?_0x12934b(0x1d5):_0x12934b(0x1eb)](_0x12934b(0x218)+(_0x2be15b['detail']??(_0x2be15b['ok']?_0x12934b(0x203):'failed')));const _0x2c9b27=a171_0x23dfde({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x12934b(0x230)})[_0x12934b(0x1e9)](),_0x33e1a6=execSkillsRemove(_0x30430e,_0x3bb189);_0x145c14[_0x12934b(0x1bb)](_0x33e1a6),_0x2c9b27[_0x33e1a6['ok']?_0x12934b(0x1d5):_0x12934b(0x1eb)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x33e1a6[_0x12934b(0x1e8)]??(_0x33e1a6['ok']?_0x12934b(0x203):_0x12934b(0x20b))));const _0x1fa656=a171_0x23dfde({'text':_0x12934b(0x20f),'color':_0x12934b(0x230)})[_0x12934b(0x1e9)](),_0xafdbea=execSkillsAdd(_0x30430e,_0x3bb189);_0x145c14['push'](_0xafdbea),_0x1fa656[_0xafdbea['ok']?_0x12934b(0x1d5):_0x12934b(0x1eb)](_0x12934b(0x1c4)+(_0xafdbea['detail']??(_0xafdbea['ok']?_0x12934b(0x203):_0x12934b(0x20b))));const _0x2be330=a171_0x23dfde({'text':_0x12934b(0x1c8),'color':_0x12934b(0x230)})['start'](),_0x4edd8a=execUpgradeSdk(_0x28d115);_0x145c14[_0x12934b(0x1bb)](_0x4edd8a),_0x2be330[_0x4edd8a['ok']?_0x12934b(0x1d5):_0x12934b(0x1eb)](_0x12934b(0x22d)+(_0x4edd8a[_0x12934b(0x1e8)]??(_0x4edd8a['ok']?'done':'failed'))),printSummary(_0x145c14);const _0x2c91da=_0x145c14[_0x12934b(0x1d2)](_0x5798d2=>!_0x5798d2['ok']);_0x2c91da?console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x215)]('Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.')):console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x1e1)](_0x12934b(0x1c9))),_0x4edd8a['ok']&&_0x28d115[_0x12934b(0x210)]&&(console['log'](''),console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x225)][_0x12934b(0x230)](_0x12934b(0x22f))),console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x230)](_0x12934b(0x1d8))),console[_0x12934b(0x233)](''),console['log'](a171_0x5a8535['white']('\x20\x20npm\x20install')),console[_0x12934b(0x233)](a171_0x5a8535['white']('\x20\x20#\x20or')),console[_0x12934b(0x233)](a171_0x5a8535[_0x12934b(0x22a)](_0x12934b(0x1bd))),console[_0x12934b(0x233)](''));}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a178_0x54d279=a178_0x567f;(function(_0x3b441f,_0x318c0e){const _0x2b8559=a178_0x567f,_0x1d53b3=_0x3b441f();while(!![]){try{const _0x12671d=-parseInt(_0x2b8559(0x1ae))/0x1*(-parseInt(_0x2b8559(0x1b8))/0x2)+-parseInt(_0x2b8559(0x1b9))/0x3+-parseInt(_0x2b8559(0x1c8))/0x4*(parseInt(_0x2b8559(0x1b0))/0x5)+-parseInt(_0x2b8559(0x1f7))/0x6+-parseInt(_0x2b8559(0x1f4))/0x7*(parseInt(_0x2b8559(0x1d4))/0x8)+-parseInt(_0x2b8559(0x1c7))/0x9+-parseInt(_0x2b8559(0x1fb))/0xa*(-parseInt(_0x2b8559(0x1fd))/0xb);if(_0x12671d===_0x318c0e)break;else _0x1d53b3['push'](_0x1d53b3['shift']());}catch(_0x2a16b6){_0x1d53b3['push'](_0x1d53b3['shift']());}}}(a178_0x5abe,0x8c9bf));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';function a178_0x567f(_0x4b17c2,_0x570f61){_0x4b17c2=_0x4b17c2-0x1a2;const _0x5abe87=a178_0x5abe();let _0x567f4a=_0x5abe87[_0x4b17c2];return _0x567f4a;}import{taskDefinitions}from'../commands/task/index.js';import{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';function a178_0x5abe(){const _0x595214=['\x20\x20[write]','120qbeWuo','rabetbase\x20cli-skill\x20install','2225377SZCoCb','rabetbase\x20kb\x20detail','\x20\x20[','Schema','SQL\x20Queries','rabetbase\x20kb\x20delete','sql:new','rabetbase\x20sql\x20create','preview','Company\x20Knowledge\x20Base','rabetbase\x20bff\x20create','command','Platform\x20Issue','knowledge-base:create','skills:install','5668SOalga','API\x20Development','119905mqudKT','filter','build','`\x20has\x20been\x20removed.','login','App\x20Management','app:add','logout','208JXkeco','171333CNWCvs','rabetbase\x20workspace\x20remove\x20<name>','`rabetbase\x20','set','app:remove','knowledge-base:detail','Notification\x20Configuration','map','skill:','rabetbase\x20workspace\x20use\x20--app\x20<name>','from','skills:','push','CLI\x20Built-in\x20Skill','9324684ArlHfi','4fszmtW','defaultCommand','hidden','description','get','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','sql:save','knowledge-base:list','Diagnostics','values','Run\x20any\x20package.json\x20script','Async\x20Tasks','8nngIja','Tenant\x20Members','length','start','bff:new','`\x20instead.','install','create','rabetbase\x20kb\x20update','rabetbase\x20run\x20build','BFF\x20Scripts','\x20\x20[high-risk-write]','Workspace','Runtime\x20App\x20Config\x20Management','wildcardDef','Run\x20Scripts','commands','isSingleCommand','risk','rabetbase\x20run\x20start','rabetbase\x20auth\x20logout','service','project:init','rabetbase\x20app\x20list\x20--remote','Self\x20Update','Permissions','has','Quick\x20Start','skill:install','rabetbase\x20run\x20preview','Authentication','OCR','7279447xnODgw','Configuration','<script>','1704792LVXSnO','Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages','Instant\x20API'];a178_0x5abe=function(){return _0x595214;};return a178_0x5abe();}import{permitDefinitions}from'../commands/permit/index.js';import{appDefinitions}from'../commands/app/index.js';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/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{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';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(_0xbc7995){const _0xf040e1=a178_0x567f;for(const _0x36837b of _0xbc7995){definitions[_0xf040e1(0x1bc)](_0x36837b['service']+':'+_0x36837b[_0xf040e1(0x1aa)],_0x36837b);let _0x112fe1=serviceGroups[_0xf040e1(0x1cc)](_0x36837b[_0xf040e1(0x1e9)]);!_0x112fe1&&(_0x112fe1=[],serviceGroups[_0xf040e1(0x1bc)](_0x36837b[_0xf040e1(0x1e9)],_0x112fe1)),_0x112fe1[_0xf040e1(0x1c5)](_0x36837b);}}function registerDeclarativeService(_0xfe6dfe,_0x41591c,_0x32d42a){const _0x34dec0=a178_0x567f;registerDefinitions(_0x41591c);_0x32d42a?.[_0x34dec0(0x1e2)]&®isterDefinitions([_0x32d42a[_0x34dec0(0x1e2)]]);const _0x3a5ee8=_0x9b48c7=>_0x9b48c7==='read'?'':_0x9b48c7==='write'?_0x34dec0(0x1fa):_0x34dec0(0x1df),_0x2dc02f={'service':_0x41591c[0x0][_0x34dec0(0x1e9)],'label':_0xfe6dfe,'commands':_0x41591c[_0x34dec0(0x1b1)](_0x232633=>!_0x232633[_0x34dec0(0x1ca)])[_0x34dec0(0x1c0)](_0x2b9760=>({'command':_0x2b9760[_0x34dec0(0x1aa)],'description':_0x2b9760[_0x34dec0(0x1cb)],'tag':_0x3a5ee8(_0x2b9760[_0x34dec0(0x1e6)])})),'declarative':!![],'defaultCommand':_0x32d42a?.[_0x34dec0(0x1c9)]??(_0x32d42a?.[_0x34dec0(0x1e5)]?_0x41591c[0x0]['command']:undefined),'wildcardDef':_0x32d42a?.['wildcardDef'],'isSingleCommand':_0x32d42a?.[_0x34dec0(0x1e5)]};serviceRegistry[_0x34dec0(0x1c5)](_0x2dc02f),serviceByName['set'](_0x2dc02f[_0x34dec0(0x1e9)],_0x2dc02f);}registerDeclarativeService(a178_0x54d279(0x1ef),initDefinitions,{'defaultCommand':'run','isSingleCommand':!![]}),registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a178_0x54d279(0x1e0),workspaceDefinitions),registerDeclarativeService(a178_0x54d279(0x1b5),appDefinitions),registerDeclarativeService(a178_0x54d279(0x1f2),authDefinitions,{'defaultCommand':a178_0x54d279(0x1b4)}),registerDeclarativeService(a178_0x54d279(0x1d5),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService('Dataset\x20&\x20Operations',datasetDefinitions),registerDeclarativeService(a178_0x54d279(0x1f8),pageDefinitions),registerDeclarativeService(a178_0x54d279(0x1af),apiDefinitions),registerDeclarativeService(a178_0x54d279(0x1f9),dataDefinitions),registerDeclarativeService(a178_0x54d279(0x1de),bffDefinitions),registerDeclarativeService(a178_0x54d279(0x1bf),notificationDefinitions),registerDeclarativeService(a178_0x54d279(0x1a3),sqlDefinitions),registerDeclarativeService('Database\x20Connections',dbDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a178_0x54d279(0x1d3),taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService(a178_0x54d279(0x1ed),permitDefinitions),registerDeclarativeService(a178_0x54d279(0x1e1),appConfigDefinitions),registerDeclarativeService(a178_0x54d279(0x1a8),kbDefinitions),registerDeclarativeService(a178_0x54d279(0x1ab),issueDefinitions),registerDeclarativeService('File',fileDefinitions),registerDeclarativeService(a178_0x54d279(0x1f3),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService(a178_0x54d279(0x1f5),configDefinitions),registerDeclarativeService(a178_0x54d279(0x1d0),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1a2),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1ec),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a178_0x54d279(0x1c6),cliSkillDefinitions,{'defaultCommand':a178_0x54d279(0x1da)}),registerDeclarativeService('Logs',logsDefinitions,{'defaultCommand':'show'}),registerDeclarativeService(a178_0x54d279(0x1e3),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a178_0x54d279(0x1d6)]-0x1];last[a178_0x54d279(0x1e4)]=[{'command':a178_0x54d279(0x1f6),'description':a178_0x54d279(0x1d2),'tag':a178_0x54d279(0x1ff)+runDefinition['risk']+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a178_0x54d279(0x1ce),a178_0x54d279(0x1cd)],[a178_0x54d279(0x1d8),a178_0x54d279(0x1a9)],[a178_0x54d279(0x1a5),a178_0x54d279(0x1a6)],['menu:update','rabetbase\x20menu\x20asset-update'],[a178_0x54d279(0x1ea),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a178_0x54d279(0x1c1),'rabetbase\x20cli-skill\x20install'],[a178_0x54d279(0x1f0),a178_0x54d279(0x1fc)],[a178_0x54d279(0x1c4),a178_0x54d279(0x1fc)],[a178_0x54d279(0x1ad),a178_0x54d279(0x1fc)],['app:remote',a178_0x54d279(0x1eb)],['app:use',a178_0x54d279(0x1c2)],[a178_0x54d279(0x1b6),'rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>'],[a178_0x54d279(0x1bd),a178_0x54d279(0x1ba)],[a178_0x54d279(0x1cf),'rabetbase\x20kb\x20list'],[a178_0x54d279(0x1be),a178_0x54d279(0x1fe)],[a178_0x54d279(0x1ac),'rabetbase\x20kb\x20create'],['knowledge-base:update',a178_0x54d279(0x1dc)],['knowledge-base:delete',a178_0x54d279(0x1a4)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a178_0x54d279(0x1db),'rabetbase\x20project\x20create\x20<project-name>'],[a178_0x54d279(0x1d7),a178_0x54d279(0x1e7)],[a178_0x54d279(0x1b2),a178_0x54d279(0x1dd)],[a178_0x54d279(0x1a7),a178_0x54d279(0x1f1)],[a178_0x54d279(0x1b7),a178_0x54d279(0x1e8)]]);export function resolveRemovedCommand(_0x584068,_0x56b2d3){const _0x10c69d=a178_0x54d279;if(!_0x584068)return undefined;const _0x3c22d5=REMOVED_COMMAND_REPLACEMENTS[_0x10c69d(0x1cc)](_0x584068+':'+(_0x56b2d3??'')),_0x1c8afb=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x10c69d(0x1cc)](_0x584068),_0x1572f1=_0x3c22d5??_0x1c8afb;if(!_0x1572f1)return undefined;const _0x2a7307=_0x1c8afb?_0x584068:_0x56b2d3?_0x584068+'\x20'+_0x56b2d3:_0x584068;return{'command':_0x2a7307,'message':_0x10c69d(0x1bb)+_0x2a7307+_0x10c69d(0x1b3),'hint':'Use\x20`'+_0x1572f1+_0x10c69d(0x1d9)};}export function findDefinition(_0x316c13,_0x1ebe80){return definitions['get'](_0x316c13+':'+_0x1ebe80);}export function isKnownService(_0x26514f){const _0x1a2434=a178_0x54d279;return serviceByName[_0x1a2434(0x1ee)](_0x26514f);}export function isDeclarativeService(_0x6df09c){const _0x598532=a178_0x54d279;return serviceGroups['has'](_0x6df09c)||serviceByName[_0x598532(0x1cc)](_0x6df09c)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x4f024d){return serviceByName['get'](_0x4f024d);}export function getLegacyHandler(_0x380f3e,_0x4084d2){return undefined;}export function getAllDefinitions(){const _0x6b8f30=a178_0x54d279;return Array[_0x6b8f30(0x1c3)](definitions[_0x6b8f30(0x1d1)]());}
|
|
1
|
+
const a172_0x581ed5=a172_0x1384;(function(_0x486023,_0x3767b8){const _0x445e8f=a172_0x1384,_0x27d1be=_0x486023();while(!![]){try{const _0x3a0d7d=parseInt(_0x445e8f(0x102))/0x1+-parseInt(_0x445e8f(0xf6))/0x2*(-parseInt(_0x445e8f(0xe8))/0x3)+parseInt(_0x445e8f(0xd9))/0x4*(parseInt(_0x445e8f(0xe3))/0x5)+parseInt(_0x445e8f(0xce))/0x6*(parseInt(_0x445e8f(0xb6))/0x7)+-parseInt(_0x445e8f(0xe7))/0x8*(parseInt(_0x445e8f(0xbb))/0x9)+-parseInt(_0x445e8f(0xcf))/0xa+-parseInt(_0x445e8f(0xcd))/0xb;if(_0x3a0d7d===_0x3767b8)break;else _0x27d1be['push'](_0x27d1be['shift']());}catch(_0x10ab86){_0x27d1be['push'](_0x27d1be['shift']());}}}(a172_0x4f95,0x21361));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';function a172_0x1384(_0x5b48e6,_0x59e37c){_0x5b48e6=_0x5b48e6-0xb2;const _0x4f955d=a172_0x4f95();let _0x138406=_0x4f955d[_0x5b48e6];return _0x138406;}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{tenantDefinitions}from'../commands/tenant/index.js';import{roleDefinitions}from'../commands/role/index.js';import{appDefinitions}from'../commands/app/index.js';function a172_0x4f95(){const _0x44c768=['Dataset\x20&\x20Operations','login','app:remove','write','knowledge-base:create','skill:install','rabetbase\x20kb\x20detail','1180515hbWQrq','values','rabetbase\x20cli-skill\x20install','SQL\x20Queries','432NMCOeC','3ltIQUf','rabetbase\x20run\x20build','rabetbase\x20bff\x20create','Instant\x20API','permit:role-apis-set','rabetbase\x20workspace\x20init\x20--appcode\x20<code>','get','isSingleCommand','CLI\x20Built-in\x20Skill','push','BFF\x20Scripts','permit:page-set','length','permit:page-get','355302sixpQh','rabetbase\x20workspace\x20remove\x20<name>','Company\x20Knowledge\x20Base','skill:','Run\x20any\x20package.json\x20script','Logs','rabetbase\x20kb\x20delete','run','\x20\x20[write]','command','Project','Workspace','98827pRacbn','role:create','hidden','\x20\x20[','Self\x20Update','description','risk','map','read','Menu','rabetbase\x20kb\x20list','set','service','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','rabetbase\x20kb\x20update','`\x20has\x20been\x20removed.','Database\x20Connections','OCR','Quick\x20Start','14YzByUh','Use\x20`','sql:new','rabetbase\x20role\x20list','rabetbase\x20run\x20preview','13473ADLRIr','app:add','rabetbase\x20app\x20list\x20--remote','knowledge-base:delete','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','File','`\x20instead.','<script>','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','Schema','from','start','Run\x20Scripts','sql:save','knowledge-base:list','preview','commands','wildcardDef','2848098TLeAZa','285378YPRway','1319180QOVEPJ','bff:new','menu:update','create','show','logout','skills:install','Tenant\x20Members','has','API\x20Development','4uvqOqn','knowledge-base:update','Authentication'];a172_0x4f95=function(){return _0x44c768;};return a172_0x4f95();}import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/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{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';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(_0x59c916){const _0x13a4e6=a172_0x1384;for(const _0x529508 of _0x59c916){definitions[_0x13a4e6(0x10d)](_0x529508[_0x13a4e6(0x10e)]+':'+_0x529508[_0x13a4e6(0xff)],_0x529508);let _0x111878=serviceGroups['get'](_0x529508[_0x13a4e6(0x10e)]);!_0x111878&&(_0x111878=[],serviceGroups[_0x13a4e6(0x10d)](_0x529508[_0x13a4e6(0x10e)],_0x111878)),_0x111878[_0x13a4e6(0xf1)](_0x529508);}}function registerDeclarativeService(_0x32c130,_0xd1c07e,_0x4e25b0){const _0x2b8557=a172_0x1384;registerDefinitions(_0xd1c07e);_0x4e25b0?.[_0x2b8557(0xcc)]&®isterDefinitions([_0x4e25b0[_0x2b8557(0xcc)]]);const _0x71c20f=_0x33c23f=>_0x33c23f===_0x2b8557(0x10a)?'':_0x33c23f===_0x2b8557(0xdf)?_0x2b8557(0xfe):'\x20\x20[high-risk-write]',_0x349797={'service':_0xd1c07e[0x0][_0x2b8557(0x10e)],'label':_0x32c130,'commands':_0xd1c07e['filter'](_0x46cb97=>!_0x46cb97[_0x2b8557(0x104)])[_0x2b8557(0x109)](_0x1dbfbe=>({'command':_0x1dbfbe[_0x2b8557(0xff)],'description':_0x1dbfbe[_0x2b8557(0x107)],'tag':_0x71c20f(_0x1dbfbe[_0x2b8557(0x108)])})),'declarative':!![],'defaultCommand':_0x4e25b0?.['defaultCommand']??(_0x4e25b0?.[_0x2b8557(0xef)]?_0xd1c07e[0x0][_0x2b8557(0xff)]:undefined),'wildcardDef':_0x4e25b0?.[_0x2b8557(0xcc)],'isSingleCommand':_0x4e25b0?.[_0x2b8557(0xef)]};serviceRegistry[_0x2b8557(0xf1)](_0x349797),serviceByName[_0x2b8557(0x10d)](_0x349797['service'],_0x349797);}registerDeclarativeService(a172_0x581ed5(0xb5),initDefinitions,{'defaultCommand':a172_0x581ed5(0xfd),'isSingleCommand':!![]}),registerDeclarativeService(a172_0x581ed5(0x100),projectDefinitions),registerDeclarativeService(a172_0x581ed5(0x101),workspaceDefinitions),registerDeclarativeService('App\x20Management',appDefinitions),registerDeclarativeService(a172_0x581ed5(0xdb),authDefinitions,{'defaultCommand':a172_0x581ed5(0xdd)}),registerDeclarativeService(a172_0x581ed5(0xd6),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService(a172_0x581ed5(0xdc),datasetDefinitions),registerDeclarativeService('Smart\x20List\x20Pages\x20&\x20React\x20Custom\x20Pages',pageDefinitions),registerDeclarativeService(a172_0x581ed5(0xd8),apiDefinitions),registerDeclarativeService(a172_0x581ed5(0xeb),dataDefinitions),registerDeclarativeService(a172_0x581ed5(0xf2),bffDefinitions),registerDeclarativeService('Notification\x20Configuration',notificationDefinitions),registerDeclarativeService(a172_0x581ed5(0xe6),sqlDefinitions),registerDeclarativeService(a172_0x581ed5(0xb3),dbDefinitions),registerDeclarativeService(a172_0x581ed5(0x10b),menuDefinitions),registerDeclarativeService('Async\x20Tasks',taskDefinitions),registerDeclarativeService('Roles',roleDefinitions),registerDeclarativeService('Runtime\x20App\x20Config\x20Management',appConfigDefinitions),registerDeclarativeService(a172_0x581ed5(0xf8),kbDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a172_0x581ed5(0xc0),fileDefinitions),registerDeclarativeService(a172_0x581ed5(0xb4),ocrDefinitions),registerDeclarativeService('Code\x20Generation',codegenDefinitions),registerDeclarativeService('Configuration',configDefinitions),registerDeclarativeService('Diagnostics',[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a172_0x581ed5(0xc4),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a172_0x581ed5(0x106),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a172_0x581ed5(0xf0),cliSkillDefinitions,{'defaultCommand':'install'}),registerDeclarativeService(a172_0x581ed5(0xfb),logsDefinitions,{'defaultCommand':a172_0x581ed5(0xd3)}),registerDeclarativeService(a172_0x581ed5(0xc7),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a172_0x581ed5(0xf4)]-0x1];last[a172_0x581ed5(0xcb)]=[{'command':a172_0x581ed5(0xc2),'description':a172_0x581ed5(0xfa),'tag':a172_0x581ed5(0x105)+runDefinition[a172_0x581ed5(0x108)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a172_0x581ed5(0xc8),a172_0x581ed5(0xc3)],[a172_0x581ed5(0xd0),a172_0x581ed5(0xea)],[a172_0x581ed5(0xb8),'rabetbase\x20sql\x20create'],[a172_0x581ed5(0xd1),'rabetbase\x20menu\x20asset-update'],['project:init',a172_0x581ed5(0xed)],[a172_0x581ed5(0xf9),a172_0x581ed5(0xe5)],[a172_0x581ed5(0xe1),a172_0x581ed5(0xe5)],['skills:',a172_0x581ed5(0xe5)],[a172_0x581ed5(0xd5),a172_0x581ed5(0xe5)],['app:remote',a172_0x581ed5(0xbd)],['app:use','rabetbase\x20workspace\x20use\x20--app\x20<name>'],[a172_0x581ed5(0xbc),a172_0x581ed5(0xbf)],[a172_0x581ed5(0xde),a172_0x581ed5(0xf7)],[a172_0x581ed5(0xc9),a172_0x581ed5(0x10c)],['knowledge-base:detail',a172_0x581ed5(0xe2)],[a172_0x581ed5(0xe0),'rabetbase\x20kb\x20create'],[a172_0x581ed5(0xda),a172_0x581ed5(0x110)],[a172_0x581ed5(0xbe),a172_0x581ed5(0xfc)],[a172_0x581ed5(0x103),a172_0x581ed5(0xb9)]]),REMOVED_COMMAND_HINTS=new Map([[a172_0x581ed5(0xf5),a172_0x581ed5(0x10f)],[a172_0x581ed5(0xf3),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],['permit:role-menus',a172_0x581ed5(0x10f)],['permit:role-menus-set','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],[a172_0x581ed5(0xec),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.']]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a172_0x581ed5(0xd2),'rabetbase\x20project\x20create\x20<project-name>'],[a172_0x581ed5(0xc6),'rabetbase\x20run\x20start'],['build',a172_0x581ed5(0xe9)],[a172_0x581ed5(0xca),a172_0x581ed5(0xba)],[a172_0x581ed5(0xd4),'rabetbase\x20auth\x20logout']]);export function resolveRemovedCommand(_0xa1f263,_0xb984b1){const _0x360146=a172_0x581ed5;if(!_0xa1f263)return undefined;const _0x1205e0=REMOVED_COMMAND_REPLACEMENTS[_0x360146(0xee)](_0xa1f263+':'+(_0xb984b1??'')),_0x4676c1=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x360146(0xee)](_0xa1f263),_0x95db88=_0x1205e0??_0x4676c1,_0x2db330=REMOVED_COMMAND_HINTS['get'](_0xa1f263+':'+(_0xb984b1??''));if(!_0x95db88&&!_0x2db330)return undefined;const _0x2de93a=_0x4676c1?_0xa1f263:_0xb984b1?_0xa1f263+'\x20'+_0xb984b1:_0xa1f263;return{'command':_0x2de93a,'message':'`rabetbase\x20'+_0x2de93a+_0x360146(0xb2),'hint':_0x2db330??_0x360146(0xb7)+_0x95db88+_0x360146(0xc1)};}export function findDefinition(_0x2e3b0c,_0x4ca921){const _0x4bfb8f=a172_0x581ed5;return definitions[_0x4bfb8f(0xee)](_0x2e3b0c+':'+_0x4ca921);}export function isKnownService(_0x48c864){const _0x2740b0=a172_0x581ed5;return serviceByName[_0x2740b0(0xd7)](_0x48c864);}export function isDeclarativeService(_0x45c5b4){const _0x25e724=a172_0x581ed5;return serviceGroups[_0x25e724(0xd7)](_0x45c5b4)||serviceByName[_0x25e724(0xee)](_0x45c5b4)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x1b7030){return serviceByName['get'](_0x1b7030);}export function getLegacyHandler(_0x13c8f3,_0x571c0e){return undefined;}export function getAllDefinitions(){const _0x33d291=a172_0x581ed5;return Array[_0x33d291(0xc5)](definitions[_0x33d291(0xe4)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a173_0x276d48=a173_0x5411;function a173_0x5411(_0x2d8f67,_0x183bf2){_0x2d8f67=_0x2d8f67-0x1db;const _0x31fcff=a173_0x31fc();let _0x54115d=_0x31fcff[_0x2d8f67];return _0x54115d;}(function(_0x2db5ec,_0x48ac44){const _0x4e523e=a173_0x5411,_0x478fbd=_0x2db5ec();while(!![]){try{const _0x268540=-parseInt(_0x4e523e(0x1ea))/0x1+parseInt(_0x4e523e(0x1eb))/0x2+parseInt(_0x4e523e(0x1dd))/0x3*(-parseInt(_0x4e523e(0x1f1))/0x4)+-parseInt(_0x4e523e(0x1ef))/0x5*(parseInt(_0x4e523e(0x1e7))/0x6)+-parseInt(_0x4e523e(0x1ec))/0x7+-parseInt(_0x4e523e(0x1ed))/0x8*(-parseInt(_0x4e523e(0x1df))/0x9)+-parseInt(_0x4e523e(0x1e1))/0xa*(-parseInt(_0x4e523e(0x1ee))/0xb);if(_0x268540===_0x48ac44)break;else _0x478fbd['push'](_0x478fbd['shift']());}catch(_0x23fa4c){_0x478fbd['push'](_0x478fbd['shift']());}}}(a173_0x31fc,0xb6dc2));import{deleteAppRole}from'../../core/api-client.js';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 a173_0x31fc(){const _0x2442f0=['48GQCMOm','19580yuVUlE','2395owzevu','delete','11456jyrjfa','dev','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','1161YupsHm','/smartapi/permit/role/delete','924534EeMoEK','Deleted\x20role\x20','16010ocPMBg','POST','high-risk-write','num','roleName','userCount','546JIOxTo','role','appCode','1293524wWmuSP','1534930LdFkgg','7273882ZvVHvd'];a173_0x31fc=function(){return _0x2442f0;};return a173_0x31fc();}const DELETE_PATH=a173_0x276d48(0x1de);export const roleDelete={'service':a173_0x276d48(0x1e8),'command':a173_0x276d48(0x1f0),'description':a173_0x276d48(0x1dc),'risk':a173_0x276d48(0x1e3),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x55477f){const _0x5ca1d5=a173_0x276d48,_0x201c8b=_0x55477f[_0x5ca1d5(0x1e4)]('id'),_0x1964bd=await getRoleById(_0x55477f['appCode'],_0x201c8b);return assertCustomRole(_0x1964bd,'delete'),asDryRunResult({'scope':_0x5ca1d5(0x1db),'operation':_0x5ca1d5(0x1f0),'selector':{'appCode':_0x55477f[_0x5ca1d5(0x1e9)],'roleId':_0x201c8b,'roleName':_0x1964bd['roleName']},'before':projectRole(_0x1964bd),'after':null,'dryRun':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x1964bd['userCount']>0x0?['Role\x20still\x20has\x20'+_0x1964bd[_0x5ca1d5(0x1e6)]+'\x20member(s);\x20they\x20will\x20lose\x20this\x20group.']:[]},{'method':_0x5ca1d5(0x1e2),'url':DELETE_PATH});},async 'execute'(_0xa70f7f){const _0x10396f=a173_0x276d48,_0x180f35=_0xa70f7f[_0x10396f(0x1e4)]('id'),_0x56294f=await getRoleById(_0xa70f7f[_0x10396f(0x1e9)],_0x180f35);return assertCustomRole(_0x56294f,_0x10396f(0x1f0)),await deleteAppRole(_0x180f35),{'ok':!![],'data':{'scope':'dev','operation':_0x10396f(0x1f0),'selector':{'appCode':_0xa70f7f[_0x10396f(0x1e9)],'roleId':_0x180f35,'roleName':_0x56294f[_0x10396f(0x1e5)]},'before':projectRole(_0x56294f),'after':null,'dryRun':![],'backend':{'method':_0x10396f(0x1e2),'path':DELETE_PATH},'warnings':[]},'message':_0x10396f(0x1e0)+_0x56294f[_0x10396f(0x1e5)]+'\x20(id='+_0x180f35+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a174_0x4c6733=a174_0x2146;(function(_0x459786,_0x276a55){const _0x56513d=a174_0x2146,_0x519e62=_0x459786();while(!![]){try{const _0xbaecc7=parseInt(_0x56513d(0x1d8))/0x1+parseInt(_0x56513d(0x1db))/0x2*(-parseInt(_0x56513d(0x1dd))/0x3)+parseInt(_0x56513d(0x1d1))/0x4*(-parseInt(_0x56513d(0x1de))/0x5)+-parseInt(_0x56513d(0x1cb))/0x6*(-parseInt(_0x56513d(0x1df))/0x7)+-parseInt(_0x56513d(0x1d2))/0x8+-parseInt(_0x56513d(0x1dc))/0x9*(parseInt(_0x56513d(0x1d3))/0xa)+-parseInt(_0x56513d(0x1d4))/0xb*(-parseInt(_0x56513d(0x1cd))/0xc);if(_0xbaecc7===_0x276a55)break;else _0x519e62['push'](_0x519e62['shift']());}catch(_0x4d10ac){_0x519e62['push'](_0x519e62['shift']());}}}(a174_0x123c,0xadc2c));function a174_0x123c(){const _0x601b8e=['roleType','938230eBfbGF','role','dev','60464dHeiBQ','43767GclBQV','105tZuWag','3148765pBApJg','15981ZDzAow','3522bSXeAM','appCode','21491172ZRQHGb','detail','roleName','num','4PilLKL','3281344xRUIJU','2590jOYiGd','11wadMsB','read','Role\x20'];a174_0x123c=function(){return _0x601b8e;};return a174_0x123c();}function a174_0x2146(_0x4987b1,_0x16b5e1){_0x4987b1=_0x4987b1-0x1cb;const _0x123c24=a174_0x123c();let _0x21464c=_0x123c24[_0x4987b1];return _0x21464c;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':a174_0x4c6733(0x1d9),'command':a174_0x4c6733(0x1ce),'description':'Show\x20a\x20single\x20role\x27s\x20detail','risk':a174_0x4c6733(0x1d5),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x143a9a){const _0x167b7a=a174_0x4c6733,_0x18031e=_0x143a9a[_0x167b7a(0x1d0)]('id'),_0x5211cf=await getRoleById(_0x143a9a[_0x167b7a(0x1cc)],_0x18031e);return{'ok':!![],'data':{'scope':_0x167b7a(0x1da),'role':projectRole(_0x5211cf)},'message':_0x167b7a(0x1d6)+_0x5211cf[_0x167b7a(0x1cf)]+'\x20('+_0x5211cf[_0x167b7a(0x1d7)]+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x360449,_0x39f640){const _0x2c7c15=a175_0x3296,_0x381284=_0x360449();while(!![]){try{const _0x534ca6=parseInt(_0x2c7c15(0x1cd))/0x1*(-parseInt(_0x2c7c15(0x1d0))/0x2)+-parseInt(_0x2c7c15(0x1cc))/0x3*(-parseInt(_0x2c7c15(0x1cf))/0x4)+-parseInt(_0x2c7c15(0x1d3))/0x5*(parseInt(_0x2c7c15(0x1d7))/0x6)+-parseInt(_0x2c7c15(0x1ce))/0x7*(-parseInt(_0x2c7c15(0x1d8))/0x8)+-parseInt(_0x2c7c15(0x1d4))/0x9+parseInt(_0x2c7c15(0x1d6))/0xa*(parseInt(_0x2c7c15(0x1d5))/0xb)+parseInt(_0x2c7c15(0x1d1))/0xc*(parseInt(_0x2c7c15(0x1d2))/0xd);if(_0x534ca6===_0x39f640)break;else _0x381284['push'](_0x381284['shift']());}catch(_0x1feeba){_0x381284['push'](_0x381284['shift']());}}}(a175_0x276b,0x43af6));function a175_0x3296(_0x33b174,_0x2fa5f0){_0x33b174=_0x33b174-0x1cc;const _0x276b20=a175_0x276b();let _0x329681=_0x276b20[_0x33b174];return _0x329681;}import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleUpdate}from'../../commands/role/update.js';function a175_0x276b(){const _0x1aa1f3=['112eaBzSK','6cSDpUg','1ZjNMvA','241451OwAMEY','746980PXBucl','1013918pKsmhj','7948956wPaHxx','13PUSGxt','5kobGtt','3909132jKrVii','11pCKodW','1414860nKmSRm','2650476VyZdAr'];a175_0x276b=function(){return _0x1aa1f3;};return a175_0x276b();}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,roleUpdate,roleDelete,roleUserResolve,roleUserAdd,roleUserRemove];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a176_0x223a5a=a176_0x1184;(function(_0x4421df,_0x3f4789){const _0x54a4aa=a176_0x1184,_0x47cab2=_0x4421df();while(!![]){try{const _0x2b6bc7=parseInt(_0x54a4aa(0x1a9))/0x1*(-parseInt(_0x54a4aa(0x19a))/0x2)+parseInt(_0x54a4aa(0x195))/0x3*(-parseInt(_0x54a4aa(0x1a5))/0x4)+-parseInt(_0x54a4aa(0x197))/0x5*(parseInt(_0x54a4aa(0x180))/0x6)+parseInt(_0x54a4aa(0x183))/0x7*(parseInt(_0x54a4aa(0x1a4))/0x8)+parseInt(_0x54a4aa(0x191))/0x9*(parseInt(_0x54a4aa(0x18d))/0xa)+-parseInt(_0x54a4aa(0x1a0))/0xb+parseInt(_0x54a4aa(0x19f))/0xc;if(_0x2b6bc7===_0x3f4789)break;else _0x47cab2['push'](_0x47cab2['shift']());}catch(_0x5ef3d1){_0x47cab2['push'](_0x47cab2['shift']());}}}(a176_0x9fcd,0xaced7));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a176_0x9fcd(){const _0x4df787=['trim','Filter\x20by\x20role\x20type','Found\x20','120EkNNNu','1776LTNUDs','validation','page','roleType','228613cgvANY','94038PbXhxb','\x20role(s)','string','173131BFJHyo','pagesize','Invalid\x20--type\x20\x22','str','ADMIN','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','number','length','read','appCode','251890aqgHJr','DEV','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','map','459MqLtls','filter','dev','num','5004keVgly','Page\x20size\x20(1-100)','295ZKcyDK','type','list','8UMssww','role','OWNER','join','toUpperCase','19947708lpVnnX','328691KsktWk'];a176_0x9fcd=function(){return _0x4df787;};return a176_0x9fcd();}function a176_0x1184(_0x45eb39,_0xd6f1f7){_0x45eb39=_0x45eb39-0x180;const _0x9fcd2=a176_0x9fcd();let _0x1184bd=_0x9fcd2[_0x45eb39];return _0x1184bd;}import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a176_0x223a5a(0x187),a176_0x223a5a(0x18e),a176_0x223a5a(0x19c),'CUSTOM'];export const roleList={'service':a176_0x223a5a(0x19b),'command':a176_0x223a5a(0x199),'description':a176_0x223a5a(0x188),'risk':a176_0x223a5a(0x18b),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a176_0x223a5a(0x198),'type':a176_0x223a5a(0x182),'required':![],'description':a176_0x223a5a(0x1a2),'enum':ROLE_TYPES},{'name':a176_0x223a5a(0x1a7),'type':a176_0x223a5a(0x189),'description':'Page\x20index\x20(1-based)','default':0x1},{'name':a176_0x223a5a(0x184),'type':a176_0x223a5a(0x189),'description':a176_0x223a5a(0x196),'default':0x64}],async 'validate'(_0x311167){const _0x59308e=a176_0x223a5a,_0x87ecad=_0x311167[_0x59308e(0x186)](_0x59308e(0x198))[_0x59308e(0x1a1)]();if(_0x87ecad&&!ROLE_TYPES['includes'](_0x87ecad[_0x59308e(0x19e)]()))throw CliErrors[_0x59308e(0x1a6)](_0x59308e(0x185)+_0x87ecad+'\x22.','Use\x20one\x20of:\x20'+ROLE_TYPES[_0x59308e(0x19d)](',\x20')+'.');const _0x18b185=_0x311167[_0x59308e(0x194)](_0x59308e(0x1a7),0x1),_0x4852f0=_0x311167[_0x59308e(0x194)]('pagesize',0x64);if(_0x18b185<0x1)throw CliErrors[_0x59308e(0x1a6)]('--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.');if(_0x4852f0<0x1||_0x4852f0>0x64)throw CliErrors[_0x59308e(0x1a6)](_0x59308e(0x18f));},async 'execute'(_0x1bd9c8){const _0x4b108b=a176_0x223a5a,_0x451a04=_0x1bd9c8[_0x4b108b(0x194)](_0x4b108b(0x1a7),0x1)||0x1,_0x256b86=_0x1bd9c8[_0x4b108b(0x194)](_0x4b108b(0x184),0x64)||0x64,_0x5c5278=_0x1bd9c8[_0x4b108b(0x186)](_0x4b108b(0x198))[_0x4b108b(0x1a1)]()['toUpperCase'](),{items:_0x2a7df8,paging:_0x22d3a3}=await listAppRoles(_0x1bd9c8[_0x4b108b(0x18c)],{'currentPage':_0x451a04,'pageSize':_0x256b86}),_0x4bd37d=_0x5c5278?_0x2a7df8[_0x4b108b(0x192)](_0x4a52fd=>_0x4a52fd[_0x4b108b(0x1a8)]===_0x5c5278):_0x2a7df8,_0x3eea23=_0x4bd37d[_0x4b108b(0x190)](projectRole);return{'ok':!![],'data':{'scope':_0x4b108b(0x193),'roles':_0x3eea23,'paging':_0x22d3a3},'message':_0x4b108b(0x1a3)+_0x3eea23[_0x4b108b(0x18a)]+_0x4b108b(0x181)};}};
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* role service 共享逻辑(SSOT)
|
|
3
3
|
*
|
|
4
4
|
* 集中:内置角色守卫、角色引用解析(id 单查 / name 全分页)、
|
|
5
|
-
* 查人(tenant
|
|
5
|
+
* 查人(tenant 成员目录)、研发态关系分页读取、原子成员变更、投影与写命令输出信封。
|
|
6
6
|
* 命令文件只引用这里,不重复合并/守卫规则(见 AGENTS.md 声明式方法论 SSOT)。
|
|
7
7
|
*/
|
|
8
|
-
import { type AppRole, type
|
|
8
|
+
import { type AppRole, type DevUserRoleRelation } from "../../core/api-client.js";
|
|
9
9
|
import type { FlagDef, RuntimeContext } from "../../framework/types.js";
|
|
10
10
|
export declare const ROLE_ID_FLAG: FlagDef;
|
|
11
11
|
export declare const ROLE_REF_FLAG: FlagDef;
|
|
@@ -19,8 +19,6 @@ export declare const BUILTIN_ROLE_TYPES: AppRole["roleType"][];
|
|
|
19
19
|
export declare function isBuiltinRole(roleType: string): boolean;
|
|
20
20
|
/** update / delete:仅允许 CUSTOM 角色 */
|
|
21
21
|
export declare function assertCustomRole(role: AppRole, action: string): void;
|
|
22
|
-
/** role-menus-set / role-apis-set:拒绝改 DEV / ADMIN 的权限矩阵 */
|
|
23
|
-
export declare function assertPermConfigurable(role: AppRole): void;
|
|
24
22
|
export interface RoleProjection {
|
|
25
23
|
id: number;
|
|
26
24
|
roleName: string;
|
|
@@ -53,6 +51,7 @@ export interface UserResolution {
|
|
|
53
51
|
*/
|
|
54
52
|
export declare function resolveUserRef(ref: string): Promise<UserResolution>;
|
|
55
53
|
export interface RoleUserMutationData {
|
|
54
|
+
scope: "dev";
|
|
56
55
|
operation: "user-add" | "user-remove";
|
|
57
56
|
selector: {
|
|
58
57
|
appCode: string;
|
|
@@ -73,17 +72,13 @@ export interface RoleUserMutationData {
|
|
|
73
72
|
};
|
|
74
73
|
warnings: string[];
|
|
75
74
|
}
|
|
76
|
-
export declare const
|
|
77
|
-
|
|
78
|
-
* 计算 user-add / user-remove 的全量回写结果与 before/after。
|
|
79
|
-
* 只改目标 role 的 userList,其余 role 原样带回。
|
|
80
|
-
* 返回 { roleList, mutation, changed };changed=false 表示无需写(幂等)。
|
|
81
|
-
*/
|
|
75
|
+
export declare const CREATE_USER_ROLE_PATH = "/smartapi/permit/user-role/create";
|
|
76
|
+
export declare const DELETE_USER_ROLE_PATH = "/smartapi/permit/user-role/delete";
|
|
82
77
|
export declare function computeRoleUserMutation(params: {
|
|
83
78
|
operation: "user-add" | "user-remove";
|
|
84
79
|
appCode: string;
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
role: AppRole;
|
|
81
|
+
relations: DevUserRoleRelation[];
|
|
87
82
|
user: {
|
|
88
83
|
userId: number;
|
|
89
84
|
username: string;
|
|
@@ -92,16 +87,19 @@ export declare function computeRoleUserMutation(params: {
|
|
|
92
87
|
dryRun: boolean;
|
|
93
88
|
expectUserCount?: number;
|
|
94
89
|
}): {
|
|
95
|
-
roleList: RoleUsers[];
|
|
96
90
|
mutation: RoleUserMutationData;
|
|
97
91
|
changed: boolean;
|
|
92
|
+
matchingRelationIds: number[];
|
|
98
93
|
};
|
|
99
|
-
/**
|
|
100
|
-
export declare function
|
|
94
|
+
/** 分页读取目标研发态角色的关系记录,避免整表覆盖。 */
|
|
95
|
+
export declare function loadDevRoleRelations(appCode: string, roleId: number): Promise<DevUserRoleRelation[]>;
|
|
101
96
|
/** 供命令 ctx 读取角色引用 flag 的小工具 */
|
|
102
97
|
export declare function readRoleRef(ctx: RuntimeContext): string;
|
|
103
98
|
/**
|
|
104
99
|
* user-add / user-remove 的完整前置编排(供两个命令的 dryRun / execute 共用):
|
|
105
|
-
* 解析角色引用 → 解析用户 →
|
|
100
|
+
* 解析角色引用 → 解析用户 → 读取目标角色关系 → 计算原子写入与 before/after。
|
|
106
101
|
*/
|
|
107
|
-
export declare function prepareUserMutation(ctx: RuntimeContext, operation: "user-add" | "user-remove", dryRun: boolean): Promise<ReturnType<typeof computeRoleUserMutation
|
|
102
|
+
export declare function prepareUserMutation(ctx: RuntimeContext, operation: "user-add" | "user-remove", dryRun: boolean): Promise<ReturnType<typeof computeRoleUserMutation> & {
|
|
103
|
+
role: AppRole;
|
|
104
|
+
user: UserResolution;
|
|
105
|
+
}>;
|