@lovrabet/rabetbase-cli 2.5.3-beta.2 → 2.5.3-beta.4
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/api-group.d.ts +22 -0
- package/lib/api/api-group.js +1 -0
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +18 -2
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.d.ts +11 -0
- package/lib/api/legacy-api-file.js +1 -0
- package/lib/api/model-registry-file.d.ts +36 -0
- package/lib/api/model-registry-file.js +1 -0
- package/lib/api/model-registry-scaffold.d.ts +7 -0
- package/lib/api/model-registry-scaffold.js +1 -0
- package/lib/api/model-source.d.ts +6 -0
- package/lib/api/model-source.js +1 -0
- 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/logs.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 +7 -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/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.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/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-create.js +1 -0
- package/lib/commands/dataset/cross-relation-delete.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-delete.js +1 -0
- package/lib/commands/dataset/cross-relation-list.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-list.js +1 -0
- package/lib/commands/dataset/cross-relation-shared.d.ts +190 -0
- package/lib/commands/dataset/cross-relation-shared.js +1 -0
- package/lib/commands/dataset/cross-relation-update.d.ts +2 -0
- package/lib/commands/dataset/cross-relation-update.js +1 -0
- 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-restore.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/dataset/user-deleted-field-list.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.js +1 -1
- package/lib/commands/db/table-diff-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/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.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/search.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/menu/visibility-update.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/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.d.ts +28 -0
- package/lib/commands/project/api-architecture-upgrade.js +1 -0
- 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/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.d.ts +30 -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.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/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.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/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +5 -3
- 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/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +2 -0
- 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.d.ts +2 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.d.ts +13 -17
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +6 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.d.ts +41 -0
- package/lib/core/cross-db-relation.js +1 -0
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.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/page/lr-smart-jsx.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.d.ts +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/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +0 -10
- 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/types/index.d.ts +11 -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.d.ts +19 -0
- 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/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 +6 -1
- package/skills/rabetbase/SKILL.md +16 -10
- package/skills/rabetbase/guides/backend-function.md +5 -1
- package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
- package/skills/rabetbase/guides/cross-database-bff.md +70 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
- package/skills/rabetbase/guides/sdk-client-generation.md +112 -61
- package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
- package/skills/rabetbase/guides/typescript-sdk.md +9 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
- package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-config.md +2 -1
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +64 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
- package/skills/rabetbase.manifest.json +5 -3
- package/templates/README.md +46 -6
- package/templates/generate-api/model-runtime.ts.tpl +101 -0
- package/templates/generate-api/profile-api.ts.tpl +21 -0
- package/templates/generate-api/profile-client.ts.tpl +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x170281,_0xa7c7e6){const _0x5a03f5=a210_0x430b,_0x5a3d5e=_0x170281();while(!![]){try{const _0xa63c29=-parseInt(_0x5a03f5(0x10b))/0x1+-parseInt(_0x5a03f5(0x102))/0x2+-parseInt(_0x5a03f5(0xff))/0x3*(-parseInt(_0x5a03f5(0xfd))/0x4)+parseInt(_0x5a03f5(0xf8))/0x5*(parseInt(_0x5a03f5(0xf7))/0x6)+-parseInt(_0x5a03f5(0xf9))/0x7+parseInt(_0x5a03f5(0x107))/0x8+parseInt(_0x5a03f5(0x105))/0x9;if(_0xa63c29===_0xa7c7e6)break;else _0x5a3d5e['push'](_0x5a3d5e['shift']());}catch(_0x2e9367){_0x5a3d5e['push'](_0x5a3d5e['shift']());}}}(a210_0xcee1,0xb23dd));function a210_0x430b(_0x4dcb99,_0x48c248){_0x4dcb99=_0x4dcb99-0xf7;const _0xcee178=a210_0xcee1();let _0x430b35=_0xcee178[_0x4dcb99];return _0x430b35;}import a210_0x1be2d0 from'node:path';import{execa}from'execa';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';function a210_0xcee1(){const _0x4b5c83=['cwd','68UogsJK','--registry','139539SWZHlZ','Dependency\x20install\x20completed','success','1807518CuQkff','install','Dependency\x20install\x20failed','15435405RLQhtd','https://registry.npmmirror.com','1581816bznzHl','resolve','info','npm','1380201vGRyeP','error','6858pngOYu','2955tZqUWF','2554783sLrENw','now','Starting\x20dependency\x20install'];a210_0xcee1=function(){return _0x4b5c83;};return a210_0xcee1();}import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x7ca24d){const _0x2d80b4=a210_0x430b,_0x2bcc83=Date[_0x2d80b4(0xfa)](),_0x55a34a=a210_0x1be2d0[_0x2d80b4(0x108)](process[_0x2d80b4(0xfc)](),_0x7ca24d);try{logger[_0x2d80b4(0x109)](_0x2d80b4(0x103),_0x2d80b4(0xfb),{'projectCode':_0x7ca24d,'registry':_0x2d80b4(0x106)}),await execa(resolveNpmBin(_0x2d80b4(0x10a)),[_0x2d80b4(0x103),_0x2d80b4(0xfe),_0x2d80b4(0x106)],{'cwd':_0x55a34a});const _0x526a5c=Date[_0x2d80b4(0xfa)]()-_0x2bcc83;logger[_0x2d80b4(0x101)](_0x2d80b4(0x103),_0x2d80b4(0x100),_0x526a5c,{'projectCode':_0x7ca24d});}catch(_0x5438dd){const _0x325970=Date['now']()-_0x2bcc83;logger[_0x2d80b4(0x10c)](_0x2d80b4(0x103),_0x2d80b4(0x104),{'projectCode':_0x7ca24d,'error':_0x5438dd instanceof Error?_0x5438dd['message']:String(_0x5438dd),'duration':_0x325970});throw _0x5438dd;}return formatElapsed(_0x2bcc83);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a211_0x4d2e41=a211_0x1488;function a211_0x1488(_0x430d56,_0x18b938){_0x430d56=_0x430d56-0x143;const _0x220f83=a211_0x220f();let _0x1488e9=_0x220f83[_0x430d56];return _0x1488e9;}(function(_0xda968a,_0x29bf3d){const _0x5aa094=a211_0x1488,_0x6581fb=_0xda968a();while(!![]){try{const _0x2a532b=-parseInt(_0x5aa094(0x145))/0x1+-parseInt(_0x5aa094(0x14f))/0x2*(parseInt(_0x5aa094(0x150))/0x3)+parseInt(_0x5aa094(0x14b))/0x4+parseInt(_0x5aa094(0x14e))/0x5+-parseInt(_0x5aa094(0x149))/0x6+parseInt(_0x5aa094(0x14d))/0x7*(parseInt(_0x5aa094(0x143))/0x8)+-parseInt(_0x5aa094(0x148))/0x9*(-parseInt(_0x5aa094(0x153))/0xa);if(_0x2a532b===_0x29bf3d)break;else _0x6581fb['push'](_0x6581fb['shift']());}catch(_0x17d55f){_0x6581fb['push'](_0x6581fb['shift']());}}}(a211_0x220f,0x3c373));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';function a211_0x220f(){const _0x409654=['3QLJoey','validation','Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','35610ZBPVvC','\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.','204472iQAMxQ','project','476221LtXLwd','Run\x20','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','18TlJOIe','535086MAZGuI','read','1049388wsYCRY','Domain\x20routing\x20synchronized:\x20','133vkMSYe','1245085TtZVGZ','384124KaNrxi'];a211_0x220f=function(){return _0x409654;};return a211_0x220f();}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';export const projectDomainRoutingSyncDefinition={'service':a211_0x4d2e41(0x144),'command':'domain-routing-sync','description':a211_0x4d2e41(0x152),'risk':a211_0x4d2e41(0x14a),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0x1f7e8f=a211_0x4d2e41,_0x4e8a52=findProjectRootDirectory();if(!resolveConfigPath(_0x4e8a52))throw CliErrors[_0x1f7e8f(0x151)](_0x1f7e8f(0x147),_0x1f7e8f(0x146)+CLI_BIN_NAME+_0x1f7e8f(0x154));const _0x14aa10=writeProjectDomainRoutingManifest(_0x4e8a52);return{'ok':!![],'message':_0x1f7e8f(0x14c)+_0x14aa10['path'],'data':_0x14aa10};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a212_0x163eb1=a212_0x2ef3;(function(_0x477c60,_0x4c0c9b){const _0x276a61=a212_0x2ef3,_0x3e5586=_0x477c60();while(!![]){try{const _0x5804aa=parseInt(_0x276a61(0x1fd))/0x1*(parseInt(_0x276a61(0x215))/0x2)+-parseInt(_0x276a61(0x1f8))/0x3*(parseInt(_0x276a61(0x1ea))/0x4)+-parseInt(_0x276a61(0x1f5))/0x5+-parseInt(_0x276a61(0x1ef))/0x6*(parseInt(_0x276a61(0x209))/0x7)+parseInt(_0x276a61(0x208))/0x8*(parseInt(_0x276a61(0x203))/0x9)+parseInt(_0x276a61(0x1e8))/0xa*(-parseInt(_0x276a61(0x1f6))/0xb)+parseInt(_0x276a61(0x202))/0xc;if(_0x5804aa===_0x4c0c9b)break;else _0x3e5586['push'](_0x3e5586['shift']());}catch(_0x300718){_0x3e5586['push'](_0x3e5586['shift']());}}}(a212_0x3450,0x23d99));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{analyseProjectUpgrade,upgradeApp}from'../../commands/project/upgrade.js';function a212_0x2ef3(_0x147bad,_0x59733d){_0x147bad=_0x147bad-0x1e6;const _0x3450ed=a212_0x3450();let _0x2ef31b=_0x3450ed[_0x147bad];return _0x2ef31b;}import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';const createFlags=[{'name':a212_0x163eb1(0x20e),'type':a212_0x163eb1(0x1ee),'description':'Project\x20name'},{'name':'env','type':a212_0x163eb1(0x1ee),'description':a212_0x163eb1(0x210)},{'name':'appcode','type':'string','description':a212_0x163eb1(0x1e7)},{'name':a212_0x163eb1(0x1fa),'type':a212_0x163eb1(0x1f9),'description':a212_0x163eb1(0x1fb),'default':![]},{'name':a212_0x163eb1(0x1f0),'type':'string','description':a212_0x163eb1(0x1e9)}],upgradeFlags=[{'name':'yes','type':'boolean','description':a212_0x163eb1(0x1eb),'default':![]}];function a212_0x3450(){const _0x27a179=['Usage:\x20','8OsqTWv','7DJGQMD','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','Non-interactive\x20mode\x20requires\x20a\x20project\x20name.','PATCH','completed','name','bool','Target\x20environment','../../commands/project/create/main.js','Would\x20upgrade\x20project\x20dependencies\x20and\x20application\x20source\x20structure\x20without\x20overwriting\x20project-owned\x20entrypoints','cookie','yes','3862xeRHKA','cwd','env','App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)','2264300IuorpA','Prepared\x20local\x20project\x20template\x20directory','70132LtseHX','Skip\x20confirmation\x20prompt','Project\x20upgrade\x20completed\x20with\x20follow-up\x20work.','cancelled','string','1132980eOVWXq','template-source','Create\x20a\x20new\x20project','str','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20','trim','684550ACGZPI','11XGEXKI','nonInteractive','3vSdDzI','boolean','current-dir','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','Run\x20','59MavzUw','project-name','Upgrade\x20cancelled.','validation','project','5231232JMpmes','1500111aeBbcZ','upgrade','Project\x20upgrade\x20completed.','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.'];a212_0x3450=function(){return _0x27a179;};return a212_0x3450();}export const projectDefinitions=[{'service':a212_0x163eb1(0x201),'command':'create','description':a212_0x163eb1(0x1f1),'risk':'write','requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a212_0x163eb1(0x1fe),'description':a212_0x163eb1(0x20a),'required':![]}],'flags':createFlags,async 'execute'(_0x39a707){const _0x10a979=a212_0x163eb1,{createApp:_0xadd02}=await import(_0x10a979(0x211)),_0x72e291=_0x39a707[_0x10a979(0x1f2)](_0x10a979(0x20e))[_0x10a979(0x1f4)]()||_0x39a707['args'][0x0]?.[_0x10a979(0x1f4)](),_0x528a0b=_0x39a707[_0x10a979(0x1f2)](_0x10a979(0x1e6))||undefined,_0x262d23=_0x39a707[_0x10a979(0x1f2)]('appcode')||undefined,_0x162082=_0x39a707['str'](_0x10a979(0x1f0))[_0x10a979(0x1f4)]()||undefined,_0x246ce3=_0x39a707[_0x10a979(0x20f)]('current-dir');if(_0x246ce3&&_0x72e291)throw CliErrors[_0x10a979(0x200)]('--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.',_0x10a979(0x1fc)+CLI_BIN_NAME+_0x10a979(0x206));if(_0x39a707[_0x10a979(0x1f7)]){if(!_0x72e291&&!_0x246ce3)throw CliErrors['validation'](_0x10a979(0x20b),_0x10a979(0x207)+CLI_BIN_NAME+_0x10a979(0x1f3)+CLI_BIN_NAME+'\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]');await _0xadd02({'projectCode':_0x72e291,'appCode':_0x262d23,'env':_0x528a0b,'cookie':_0x39a707[_0x10a979(0x213)],'currentDir':_0x246ce3,'nonInteractive':!![],'templateSource':_0x162082});}else await _0xadd02({'projectCode':_0x72e291,'appCode':_0x262d23,'env':_0x528a0b,'cookie':_0x39a707[_0x10a979(0x213)],'currentDir':_0x246ce3,'templateSource':_0x162082});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':a212_0x163eb1(0x201),'command':a212_0x163eb1(0x204),'description':'Upgrade\x20project\x20dependencies\x20and\x20application\x20source\x20structure','risk':'write','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'dryRun'(){const _0x17116b=a212_0x163eb1,_0x41bf4d=analyseProjectUpgrade(process[_0x17116b(0x216)]());return{'method':_0x17116b(0x20c),'url':process['cwd'](),'body':_0x41bf4d,'description':_0x17116b(0x212)};},async 'execute'(_0x1b9b69){const _0x210536=a212_0x163eb1,_0xb54e54=await upgradeApp(_0x1b9b69[_0x210536(0x1f7)],{'yes':_0x1b9b69[_0x210536(0x20f)](_0x210536(0x214))});return{'ok':_0xb54e54[_0x210536(0x20d)]||_0xb54e54['cancelled']===!![],'message':_0xb54e54[_0x210536(0x1ed)]?_0x210536(0x1ff):_0xb54e54[_0x210536(0x20d)]?_0x210536(0x205):_0x210536(0x1ec),'data':_0xb54e54};}}];
|
|
@@ -1 +1,30 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ProjectApiArchitecturePlan, type ProjectApiArchitectureResult } from "../../commands/project/api-architecture-upgrade.js";
|
|
2
|
+
interface SdkUpgrade {
|
|
3
|
+
/** package.json path. */
|
|
4
|
+
pkgPath: string;
|
|
5
|
+
/** Current version in package.json. */
|
|
6
|
+
currentVersion: string;
|
|
7
|
+
/** Dependency collection that owns the package. */
|
|
8
|
+
field: "dependencies" | "devDependencies";
|
|
9
|
+
}
|
|
10
|
+
export interface UpgradeAnalysis {
|
|
11
|
+
/** Present when package.json contains a non-current @lovrabet/sdk range. */
|
|
12
|
+
sdkUpgrade: SdkUpgrade | null;
|
|
13
|
+
apiArchitecture: ProjectApiArchitecturePlan;
|
|
14
|
+
}
|
|
15
|
+
export declare function analyseProjectUpgrade(cwd: string): UpgradeAnalysis;
|
|
16
|
+
interface StepResult {
|
|
17
|
+
step: number;
|
|
18
|
+
label: string;
|
|
19
|
+
ok: boolean;
|
|
20
|
+
detail?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ProjectUpgradeResult {
|
|
23
|
+
analysis: UpgradeAnalysis;
|
|
24
|
+
steps: StepResult[];
|
|
25
|
+
apiArchitecture?: ProjectApiArchitectureResult;
|
|
26
|
+
completed: boolean;
|
|
27
|
+
cancelled?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function upgradeApp(nonInteractive: boolean, flags: Record<string, any>): Promise<ProjectUpgradeResult>;
|
|
30
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a202_0x18b320=a202_0x2bf1;(function(_0x2af97b,_0x222abb){const _0x128628=a202_0x2bf1,_0xffd24c=_0x2af97b();while(!![]){try{const _0x3300f3=-parseInt(_0x128628(0xc7))/0x1*(parseInt(_0x128628(0x7b))/0x2)+parseInt(_0x128628(0xdb))/0x3*(-parseInt(_0x128628(0x77))/0x4)+parseInt(_0x128628(0xbc))/0x5*(parseInt(_0x128628(0xeb))/0x6)+parseInt(_0x128628(0x8c))/0x7*(parseInt(_0x128628(0xe4))/0x8)+parseInt(_0x128628(0xcb))/0x9*(-parseInt(_0x128628(0x90))/0xa)+-parseInt(_0x128628(0xb0))/0xb*(parseInt(_0x128628(0x84))/0xc)+parseInt(_0x128628(0xd4))/0xd;if(_0x3300f3===_0x222abb)break;else _0xffd24c['push'](_0xffd24c['shift']());}catch(_0x6a2957){_0xffd24c['push'](_0xffd24c['shift']());}}}(a202_0x5336,0xc0e70));import a202_0x33db47 from'chalk';import a202_0x2be156 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';function a202_0x5336(){const _0x1cb128=['\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','some','.claude/skills/lovrabet','380uQAazt','yellow','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','mcpServers','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','done','\x20\x20Fields\x20to\x20migrate:\x20','\x20\x20npm\x20install','failed','isDirectory','needsSkillSwap','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','push','lovrabet/lovrabet-skill\x20removed','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','yes','entries','.lovrabetrc','message','Config\x20migration','white','files','not\x20found\x20or\x20already\x20at\x20latest','cyan','Install\x20new\x20skill','hasNewConfig','Clean\x20MCP\x20config','none\x20found','object','red','\x20\x20Current\x20version\x20in\x20','33JvIecv','cwd','skipped','keys','Remove\x20.lovrabet/','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','isArray','\x20→\x20','MCP\x20config:','Upgrade\x20completed\x20successfully!','86565UsEtpG','@lovrabet/sdk:','no\x20legacy\x20entry','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','not\x20needed','log','no\x20legacy\x20config\x20found','dependencies','devDependencies','info','needed','5KxkUzg','FAIL','oldPath','latest','15282oSFpca','configMigration','Proceed\x20with\x20upgrade?','string','undefined','args','\x20removed','[\x22@lovrabet/sdk\x22]:\x20','Config\x20file:','21760297crVqcY','Step\x201/7:\x20Config\x20migration\x20—\x20','package.json','start','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','parse','3diNPNf','already\x20exists\x20(will\x20merge)','path','error','no\x20matching\x20entry\x20found','stringify','lovrabet/rabetbase','inherit','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','164336BmpoVM','oldArtifacts','green','\x20\x20New\x20config\x20(.rabetbase.json):\x20','includes','bold','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','342oGHzIo','exit\x20','skipped\x20(no\x20legacy\x20config)','\x20\x20Step\x20','fail','Step\x204/7:\x20MCP\x20config\x20—\x20','Step\x205/7:\x20Removing\x20old\x20skill...','===\x20Upgrade\x20Summary\x20===','not\x20found\x20(will\x20create)','values','\x20(backup:\x20','Step\x201/7:\x20Migrating\x20config...','fields','detail','Step\x206/7:\x20Installing\x20new\x20skill...','Step\x204/7:\x20Cleaning\x20MCP\x20config...','@lovrabet/dataset-mcp-server','oldMcpConfig','utf8','1374228abuubE','.lovrabet.json','length','.cursor/rules/lovrabet_rules.mdc','201772KcBzWt','\x20\x20Action:\x20delete','gray','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','.bak','Upgrade\x20cancelled.','Remove\x20legacy\x20artifacts','succeed','Skill\x20swap:','4325292WCAhNM','join','status','step','removed\x20','sdkUpgrade','Upgrade\x20@lovrabet/sdk','@lovrabet/sdk','42PjhIKw'];a202_0x5336=function(){return _0x1cb128;};return a202_0x5336();}import{resolve}from'node:path';import{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=[a202_0x18b320(0x78),a202_0x18b320(0xa2)];function collectIdeSkillFiles(_0x2bc698){const _0x477fc0=a202_0x18b320,_0xe90448=[];for(const _0x11fe65 of Object[_0x477fc0(0xf4)](CORE_IDE_CONFIGS)){if(_0x11fe65[_0x477fc0(0xa6)])for(const _0x2d79a6 of _0x11fe65[_0x477fc0(0xa6)]){_0xe90448[_0x477fc0(0x9d)](resolve(_0x2bc698,_0x2d79a6[_0x477fc0(0xdd)]));}}return _0xe90448;}function analyse(_0x19f943){const _0x54e174=a202_0x18b320;let _0x2b5d29=null;const _0x135915=resolve(_0x19f943,NEW_CONFIG_NAME),_0x493690=existsSync(_0x135915);for(const _0x75037c of LEGACY_CONFIG_NAMES){const _0x51923c=resolve(_0x19f943,_0x75037c);if(existsSync(_0x51923c)){const _0x20e213=readConfigFile(_0x51923c),_0x26f399=Object[_0x54e174(0xb3)](_0x20e213)['filter'](_0x5c0bf3=>typeof _0x20e213[_0x5c0bf3]!==_0x54e174(0xcf));_0x2b5d29={'oldPath':_0x51923c,'hasNewConfig':_0x493690,'fields':_0x26f399};break;}}const _0x542467=[],_0x1d7c94=resolve(_0x19f943,'.lovrabet');if(existsSync(_0x1d7c94))_0x542467['push'](_0x1d7c94);const _0x5ae181=resolve(_0x19f943,_0x54e174(0x7a));if(existsSync(_0x5ae181))_0x542467[_0x54e174(0x9d)](_0x5ae181);const _0x441ba4=resolve(_0x19f943,_0x54e174(0x8f));if(existsSync(_0x441ba4))_0x542467[_0x54e174(0x9d)](_0x441ba4);for(const _0x59aac0 of collectIdeSkillFiles(_0x19f943)){if(existsSync(_0x59aac0))_0x542467[_0x54e174(0x9d)](_0x59aac0);}let _0x2635f6=null;const _0x328e0d=resolve(_0x19f943,'.cursor/mcp.json');if(existsSync(_0x328e0d))try{const _0x21fb0b=JSON[_0x54e174(0xda)](readFileSync(_0x328e0d,_0x54e174(0x76)));if(_0x21fb0b?.['mcpServers']&&typeof _0x21fb0b[_0x54e174(0x93)]==='object'){const _0x6a0fd3=[];for(const [_0x3b313b,_0x12b8d5]of Object[_0x54e174(0xa1)](_0x21fb0b[_0x54e174(0x93)])){const _0x3fac84=_0x12b8d5;_0x3fac84?.[_0x54e174(0xd0)]&&Array[_0x54e174(0xb8)](_0x3fac84[_0x54e174(0xd0)])&&_0x3fac84[_0x54e174(0xd0)][_0x54e174(0x8e)](_0x4a49d8=>typeof _0x4a49d8==='string'&&_0x4a49d8[_0x54e174(0xe8)](_0x54e174(0x74)))&&_0x6a0fd3[_0x54e174(0x9d)](_0x3b313b);}_0x6a0fd3[_0x54e174(0x79)]>0x0&&(_0x2635f6={'path':_0x328e0d,'keys':_0x6a0fd3});}}catch{}const _0x52c51a=_0x542467[_0x54e174(0x79)]>0x0||_0x2b5d29!==null;let _0x3837f8=null;const _0x1d2c9a=resolve(_0x19f943,_0x54e174(0xd6));if(existsSync(_0x1d2c9a))try{const _0x2a2dc9=JSON['parse'](readFileSync(_0x1d2c9a,_0x54e174(0x76)));for(const _0x51c473 of[_0x54e174(0xc3),_0x54e174(0xc4)]){const _0x1e828b=_0x2a2dc9?.[_0x51c473]?.[_0x54e174(0x8b)];if(typeof _0x1e828b===_0x54e174(0xce)){_0x1e828b!==_0x54e174(0xca)&&(_0x3837f8={'pkgPath':_0x1d2c9a,'currentVersion':_0x1e828b,'field':_0x51c473});break;}}}catch{}return{'configMigration':_0x2b5d29,'oldArtifacts':_0x542467,'oldMcpConfig':_0x2635f6,'needsSkillSwap':_0x52c51a,'sdkUpgrade':_0x3837f8};}function printReport(_0x50f598){const _0x30ee9c=a202_0x18b320,{configMigration:_0x2150f8,oldArtifacts:_0x3d2c08,oldMcpConfig:_0x29fe4d,needsSkillSwap:_0x447263}=_0x50f598;console[_0x30ee9c(0xc1)](''),console['log'](a202_0x33db47[_0x30ee9c(0xe9)]('===\x20Upgrade\x20Analysis\x20===')),console[_0x30ee9c(0xc1)]('');_0x2150f8?(console[_0x30ee9c(0xc1)](a202_0x33db47[_0x30ee9c(0xa8)](_0x30ee9c(0xd3))+('\x20\x20'+a202_0x33db47[_0x30ee9c(0x91)](_0x2150f8['oldPath']))),console['log'](_0x30ee9c(0xe7)+(_0x2150f8[_0x30ee9c(0xaa)]?a202_0x33db47[_0x30ee9c(0xe6)](_0x30ee9c(0xdc)):a202_0x33db47[_0x30ee9c(0x7d)](_0x30ee9c(0xf3)))),console[_0x30ee9c(0xc1)](_0x30ee9c(0x97)+_0x2150f8[_0x30ee9c(0x70)][_0x30ee9c(0x85)](',\x20')),console['log'](_0x30ee9c(0xb6))):console[_0x30ee9c(0xc1)](a202_0x33db47[_0x30ee9c(0xa8)](_0x30ee9c(0xd3))+'\x20\x20'+a202_0x33db47[_0x30ee9c(0x7d)](_0x30ee9c(0xc2)));console['log']('');if(_0x3d2c08[_0x30ee9c(0x79)]>0x0){console[_0x30ee9c(0xc1)](a202_0x33db47[_0x30ee9c(0xa8)]('Legacy\x20artifacts:'));for(const _0x279b7c of _0x3d2c08){console[_0x30ee9c(0xc1)]('\x20\x20'+a202_0x33db47[_0x30ee9c(0xae)]('FOUND')+'\x20\x20'+_0x279b7c);}console['log'](_0x30ee9c(0x7c));}else console[_0x30ee9c(0xc1)](a202_0x33db47['cyan']('Legacy\x20artifacts:')+'\x20\x20'+a202_0x33db47[_0x30ee9c(0x7d)](_0x30ee9c(0xac)));console['log']('');_0x29fe4d?(console[_0x30ee9c(0xc1)](a202_0x33db47['cyan']('MCP\x20config:')+('\x20\x20'+a202_0x33db47['yellow'](_0x29fe4d[_0x30ee9c(0xdd)])+'\x20→\x20keys:\x20'+_0x29fe4d[_0x30ee9c(0xb3)]['join'](',\x20'))),console[_0x30ee9c(0xc1)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console['log'](a202_0x33db47[_0x30ee9c(0xa8)](_0x30ee9c(0xba))+'\x20\x20'+a202_0x33db47['gray'](_0x30ee9c(0xbe)));console[_0x30ee9c(0xc1)](''),console[_0x30ee9c(0xc1)](a202_0x33db47['cyan'](_0x30ee9c(0x83))+('\x20\x20'+(_0x447263?a202_0x33db47[_0x30ee9c(0x91)](_0x30ee9c(0xc6)):a202_0x33db47[_0x30ee9c(0xe6)](_0x30ee9c(0xc0)))));_0x447263&&console[_0x30ee9c(0xc1)](_0x30ee9c(0x9c)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x30ee9c(0xc1)]('');if(_0x50f598[_0x30ee9c(0x89)]){const {currentVersion:_0x406ba6,field:_0x458cec,pkgPath:_0x17ee1d}=_0x50f598[_0x30ee9c(0x89)];console[_0x30ee9c(0xc1)](a202_0x33db47[_0x30ee9c(0xa8)](_0x30ee9c(0xbd))+('\x20\x20'+a202_0x33db47[_0x30ee9c(0x91)](_0x17ee1d))),console['log'](_0x30ee9c(0xaf)+_0x458cec+':\x20'+a202_0x33db47[_0x30ee9c(0x91)](_0x406ba6)+_0x30ee9c(0xb9)+a202_0x33db47[_0x30ee9c(0xe6)](_0x30ee9c(0xca))),console[_0x30ee9c(0xc1)](_0x30ee9c(0x8d));}else console[_0x30ee9c(0xc1)](a202_0x33db47[_0x30ee9c(0xa8)](_0x30ee9c(0xbd))+'\x20\x20'+a202_0x33db47['gray'](_0x30ee9c(0xa7)));console[_0x30ee9c(0xc1)]('');}function execConfigMigration(_0x57b2da,_0x485e5d){const _0x517b02=a202_0x18b320,{configMigration:_0x20244d}=_0x57b2da;if(!_0x20244d?.[_0x517b02(0xc9)])return{'step':0x1,'label':'Config\x20migration','ok':!![],'detail':_0x517b02(0xed)};const _0x44461f=readConfigFile(_0x20244d[_0x517b02(0xc9)]),_0x39f96e=resolve(_0x485e5d,NEW_CONFIG_NAME),_0x58cd97=_0x20244d[_0x517b02(0xaa)]?readConfigFile(_0x39f96e):{};for(const [_0x3115e0,_0x4c9fc4]of Object[_0x517b02(0xa1)](_0x44461f)){!(_0x3115e0 in _0x58cd97)&&(_0x58cd97[_0x3115e0]=_0x4c9fc4);}writeConfigFile(_0x39f96e,_0x58cd97);const _0x128603=_0x20244d[_0x517b02(0xc9)]+_0x517b02(0x7f);return renameSync(_0x20244d['oldPath'],_0x128603),{'step':0x1,'label':_0x517b02(0xa4),'ok':!![],'detail':_0x20244d[_0x517b02(0xc9)]+'\x20→\x20'+_0x39f96e+_0x517b02(0xf5)+_0x128603+')'};}function execRemoveOldArtifacts(_0x1738eb){const _0x293dbf=a202_0x18b320,_0x457195=[];for(const _0x1effc6 of _0x1738eb){try{if(!existsSync(_0x1effc6))continue;const _0x19a93c=tryStat(_0x1effc6);_0x19a93c?.[_0x293dbf(0x9a)]()?rmSync(_0x1effc6,{'recursive':!![],'force':!![]}):unlinkSync(_0x1effc6);}catch(_0x34fb48){_0x457195[_0x293dbf(0x9d)](_0x1effc6+':\x20'+_0x34fb48[_0x293dbf(0xa3)]);}}return{'step':0x3,'label':_0x293dbf(0x81),'ok':_0x457195[_0x293dbf(0x79)]===0x0,'detail':_0x457195['length']>0x0?_0x1738eb[_0x293dbf(0x79)]-_0x457195[_0x293dbf(0x79)]+'/'+_0x1738eb[_0x293dbf(0x79)]+'\x20removed\x20('+_0x457195[_0x293dbf(0x85)](';\x20')+')':_0x1738eb[_0x293dbf(0x79)]+_0x293dbf(0xd1)};}function execCleanMcp(_0x17384c){const _0x14e33f=a202_0x18b320;if(!_0x17384c['oldMcpConfig'])return{'step':0x4,'label':_0x14e33f(0xab),'ok':!![],'detail':_0x14e33f(0xb2)};try{const _0x4f3b99=readFileSync(_0x17384c[_0x14e33f(0x75)]['path'],'utf8'),_0x32cde7=JSON[_0x14e33f(0xda)](_0x4f3b99);if(_0x32cde7?.['mcpServers']&&typeof _0x32cde7[_0x14e33f(0x93)]===_0x14e33f(0xad)){const _0x10ea28=[];for(const [_0xc3bb9f,_0x458a25]of Object['entries'](_0x32cde7[_0x14e33f(0x93)])){_0x458a25?.[_0x14e33f(0xd0)]&&Array[_0x14e33f(0xb8)](_0x458a25['args'])&&_0x458a25[_0x14e33f(0xd0)][_0x14e33f(0x8e)](_0xe3f1f2=>typeof _0xe3f1f2===_0x14e33f(0xce)&&_0xe3f1f2[_0x14e33f(0xe8)](_0x14e33f(0x74)))&&_0x10ea28[_0x14e33f(0x9d)](_0xc3bb9f);}for(const _0x98f725 of _0x10ea28){delete _0x32cde7[_0x14e33f(0x93)][_0x98f725];}return _0x10ea28[_0x14e33f(0x79)]>0x0&&writeFileSync(_0x17384c[_0x14e33f(0x75)][_0x14e33f(0xdd)],JSON[_0x14e33f(0xe0)](_0x32cde7,null,0x2)+'\x0a',_0x14e33f(0x76)),{'step':0x4,'label':_0x14e33f(0xab),'ok':!![],'detail':_0x14e33f(0x88)+_0x10ea28[_0x14e33f(0x85)](',\x20')+'\x20from\x20'+_0x17384c[_0x14e33f(0x75)][_0x14e33f(0xdd)]};}return{'step':0x4,'label':'Clean\x20MCP\x20config','ok':!![],'detail':_0x14e33f(0xdf)};}catch(_0x1024bd){return{'step':0x4,'label':_0x14e33f(0xab),'ok':![],'detail':_0x1024bd[_0x14e33f(0xa3)]};}}function execSkillsRemove(_0x588f06,_0x1cec63){const _0x3a76ab=a202_0x18b320,_0x408a07=runNpxSkillsRemove(_0x588f06,{'stdio':'inherit','yes':_0x1cec63});return{'step':0x5,'label':'Remove\x20old\x20skill','ok':_0x408a07['ok'],'detail':_0x408a07['ok']?_0x3a76ab(0x9e):_0x408a07['error']??_0x3a76ab(0xec)+_0x408a07[_0x3a76ab(0x86)]};}function execSkillsAdd(_0x4926cd,_0xaa4657){const _0x323f07=a202_0x18b320,_0x70cd59=runNpxSkillsAddGlobal(_0x4926cd,_0x323f07(0xe1),{'stdio':_0x323f07(0xe2),'yes':_0xaa4657});return{'step':0x6,'label':_0x323f07(0xa9),'ok':_0x70cd59['ok'],'detail':_0x70cd59['ok']?'lovrabet/rabetbase\x20installed\x20globally':_0x70cd59[_0x323f07(0xde)]??'exit\x20'+_0x70cd59[_0x323f07(0x86)]};}function execUpgradeSdk(_0x418f31){const _0x9d19db=a202_0x18b320;if(!_0x418f31[_0x9d19db(0x89)])return{'step':0x7,'label':_0x9d19db(0x8a),'ok':!![],'detail':_0x9d19db(0x7e)};const {pkgPath:_0x3195c3,currentVersion:_0x121ae1,field:_0x202c29}=_0x418f31[_0x9d19db(0x89)];try{const _0x3e2e32=readFileSync(_0x3195c3,_0x9d19db(0x76)),_0x46e6eb=JSON[_0x9d19db(0xda)](_0x3e2e32);return _0x46e6eb[_0x202c29][_0x9d19db(0x8b)]=_0x9d19db(0xca),writeFileSync(_0x3195c3,JSON[_0x9d19db(0xe0)](_0x46e6eb,null,0x2)+'\x0a','utf8'),{'step':0x7,'label':_0x9d19db(0x8a),'ok':!![],'detail':_0x202c29+_0x9d19db(0xd2)+_0x121ae1+'\x20→\x20latest'};}catch(_0x575d5c){return{'step':0x7,'label':_0x9d19db(0x8a),'ok':![],'detail':_0x575d5c['message']};}}function tryStat(_0xf5388f){try{return statSync(_0xf5388f);}catch{return undefined;}}function printSummary(_0x32c2e7){const _0x367bed=a202_0x18b320;console[_0x367bed(0xc1)](''),console[_0x367bed(0xc1)](a202_0x33db47[_0x367bed(0xe9)](_0x367bed(0xf2))),console[_0x367bed(0xc1)]('');for(const _0x5a149 of _0x32c2e7){const _0x2409a9=_0x5a149['ok']?a202_0x33db47[_0x367bed(0xe6)]('OK'):a202_0x33db47[_0x367bed(0xae)](_0x367bed(0xc8));console[_0x367bed(0xc1)]('\x20\x20'+_0x2409a9+_0x367bed(0xee)+_0x5a149[_0x367bed(0x87)]+':\x20'+_0x5a149['label']);if(_0x5a149[_0x367bed(0x71)])console[_0x367bed(0xc1)]('\x20\x20\x20\x20\x20\x20\x20'+a202_0x33db47[_0x367bed(0x7d)](_0x5a149[_0x367bed(0x71)]));}console[_0x367bed(0xc1)]('');}function a202_0x2bf1(_0x29b59a,_0xbd08da){_0x29b59a=_0x29b59a-0x70;const _0x5336a0=a202_0x5336();let _0x2bf17f=_0x5336a0[_0x29b59a];return _0x2bf17f;}export async function upgradeApp(_0x24e965,_0x31b4bb){const _0x176a5b=a202_0x18b320,_0x263354=process[_0x176a5b(0xb1)](),_0x4c46fd=analyse(_0x263354),_0x1fd92f=!_0x4c46fd[_0x176a5b(0xcc)]&&_0x4c46fd['oldArtifacts']['length']===0x0&&!_0x4c46fd[_0x176a5b(0x75)]&&!_0x4c46fd[_0x176a5b(0x9b)]&&!_0x4c46fd['sdkUpgrade'];if(_0x1fd92f){console[_0x176a5b(0xc1)](a202_0x33db47['green'](_0x176a5b(0x92)));return;}printReport(_0x4c46fd);const _0x531577=!!(_0x31b4bb[_0x176a5b(0xa0)]||_0x31b4bb['Y']||_0x24e965);if(!_0x531577)try{const _0x25cd51=await askConfirm(_0x176a5b(0xcd));if(!_0x25cd51){console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0x7d)](_0x176a5b(0x80)));return;}}catch(_0x20b2f6){if(_0x20b2f6?.[_0x176a5b(0xa3)]==='CANCEL'){console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0x7d)](_0x176a5b(0x80)));return;}throw _0x20b2f6;}const _0x32c199=[],_0x23a523=a202_0x2be156({'text':_0x176a5b(0xf6),'color':_0x176a5b(0xa8)})[_0x176a5b(0xd7)](),_0x3d1f7d=execConfigMigration(_0x4c46fd,_0x263354);_0x32c199[_0x176a5b(0x9d)](_0x3d1f7d),_0x23a523[_0x3d1f7d['ok']?_0x176a5b(0x82):'fail'](_0x176a5b(0xd5)+(_0x3d1f7d[_0x176a5b(0x71)]??(_0x3d1f7d['ok']?'done':'failed')));const _0x43cc71=resolve(_0x263354,'.lovrabet'),_0x3dbd5e=a202_0x2be156({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x176a5b(0xa8)})[_0x176a5b(0xd7)]();if(existsSync(_0x43cc71))try{rmSync(_0x43cc71,{'recursive':!![],'force':!![]}),_0x3dbd5e[_0x176a5b(0x82)](_0x176a5b(0xb5)),_0x32c199[_0x176a5b(0x9d)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![]});}catch(_0xf9ed9){_0x3dbd5e['fail'](_0x176a5b(0xd9)+_0xf9ed9[_0x176a5b(0xa3)]),_0x32c199['push']({'step':0x2,'label':_0x176a5b(0xb4),'ok':![],'detail':_0xf9ed9[_0x176a5b(0xa3)]});}else _0x3dbd5e[_0x176a5b(0xc5)](_0x176a5b(0x94)),_0x32c199[_0x176a5b(0x9d)]({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x110fd4=a202_0x2be156({'text':_0x176a5b(0xb7),'color':_0x176a5b(0xa8)})[_0x176a5b(0xd7)](),_0x48dbeb=execRemoveOldArtifacts(_0x4c46fd[_0x176a5b(0xe5)]);_0x32c199[_0x176a5b(0x9d)](_0x48dbeb),_0x110fd4[_0x48dbeb['ok']?_0x176a5b(0x82):'fail'](_0x176a5b(0xd8)+(_0x48dbeb['detail']??(_0x48dbeb['ok']?_0x176a5b(0x96):_0x176a5b(0x99))));const _0x5de373=a202_0x2be156({'text':_0x176a5b(0x73),'color':_0x176a5b(0xa8)})[_0x176a5b(0xd7)](),_0x1a328c=execCleanMcp(_0x4c46fd);_0x32c199[_0x176a5b(0x9d)](_0x1a328c),_0x5de373[_0x1a328c['ok']?_0x176a5b(0x82):_0x176a5b(0xef)](_0x176a5b(0xf0)+(_0x1a328c[_0x176a5b(0x71)]??(_0x1a328c['ok']?_0x176a5b(0x96):'failed')));const _0x40c503=a202_0x2be156({'text':_0x176a5b(0xf1),'color':_0x176a5b(0xa8)})['start'](),_0x1cec5d=execSkillsRemove(_0x263354,_0x531577);_0x32c199[_0x176a5b(0x9d)](_0x1cec5d),_0x40c503[_0x1cec5d['ok']?_0x176a5b(0x82):_0x176a5b(0xef)](_0x176a5b(0xe3)+(_0x1cec5d['detail']??(_0x1cec5d['ok']?_0x176a5b(0x96):_0x176a5b(0x99))));const _0x320101=a202_0x2be156({'text':_0x176a5b(0x72),'color':'cyan'})['start'](),_0x4b67a8=execSkillsAdd(_0x263354,_0x531577);_0x32c199[_0x176a5b(0x9d)](_0x4b67a8),_0x320101[_0x4b67a8['ok']?_0x176a5b(0x82):_0x176a5b(0xef)](_0x176a5b(0x95)+(_0x4b67a8[_0x176a5b(0x71)]??(_0x4b67a8['ok']?_0x176a5b(0x96):_0x176a5b(0x99))));const _0x31182c=a202_0x2be156({'text':_0x176a5b(0xea),'color':_0x176a5b(0xa8)})[_0x176a5b(0xd7)](),_0x5e0faa=execUpgradeSdk(_0x4c46fd);_0x32c199['push'](_0x5e0faa),_0x31182c[_0x5e0faa['ok']?_0x176a5b(0x82):_0x176a5b(0xef)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x5e0faa[_0x176a5b(0x71)]??(_0x5e0faa['ok']?'done':'failed'))),printSummary(_0x32c199);const _0x415c11=_0x32c199[_0x176a5b(0x8e)](_0x479781=>!_0x479781['ok']);_0x415c11?console['log'](a202_0x33db47[_0x176a5b(0x91)](_0x176a5b(0x9f))):console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0xe6)](_0x176a5b(0xbb))),_0x5e0faa['ok']&&_0x4c46fd['sdkUpgrade']&&(console['log'](''),console[_0x176a5b(0xc1)](a202_0x33db47['bold'][_0x176a5b(0xa8)]('@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.')),console['log'](a202_0x33db47['cyan'](_0x176a5b(0xbf))),console[_0x176a5b(0xc1)](''),console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0xa5)](_0x176a5b(0x98))),console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0xa5)]('\x20\x20#\x20or')),console[_0x176a5b(0xc1)](a202_0x33db47[_0x176a5b(0xa5)]('\x20\x20bun\x20install')),console[_0x176a5b(0xc1)](''));}
|
|
1
|
+
function a213_0x1c38(){const _0x577f4b=['groups','gray','failed','up-to-date','\x20\x20\x20\x20','@lovrabet/sdk:','bold','1012446PAIwpx','21VQmlwU','padEnd','action','join','Upgrade\x20cancelled.','string','yellow','739533NKumsL','Step\x201/2:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x201/2:\x20@lovrabet/sdk\x20—\x20','push','sdkUpgrade','parse','12MmxbJQ','latest','stringify','Step\x202/2:\x20Upgrading\x20application\x20source\x20structure...','step','\x20\x20Current\x20version\x20in\x20','log','460650QIkXdW','succeed','not\x20found\x20or\x20already\x20at\x20latest','message','green','fail','candidate\x20entrypoints\x20written;\x20manual\x20merge\x20required','\x20\x20bun\x20install','71220iQrmlR','red','\x20\x20Step\x20','profiles','13496132ODRHMF','\x20\x20Historical\x20ungrouped\x20multi-app\x20directories\x20keep\x20their\x20prefixed\x20API\x20files.','16hglvDt','yes','[\x22@lovrabet/sdk\x22]:\x20','apiArchitecture','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','@lovrabet/sdk','apiDir','5YlAHZL','files','\x20→\x20','Upgrade\x20completed\x20successfully!','Proceed\x20with\x20upgrade?','source\x20structure\x20is\x20current','detail','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','\x20→\x20latest','===\x20Upgrade\x20Analysis\x20===','manualMergeRequired','object','some','dependencies','\x20\x20#\x20or','Application\x20source:','utf8','2xqpeQn','skippedLegacyDirectories','FAIL','path','needed','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','white','Upgrade\x20application\x20source','candidatePath','\x20\x20npm\x20install','Upgrade\x20@lovrabet/sdk','devDependencies','384685KEPAqC','2333192FNuKxU','55qnNWaF','cyan','Step\x202/2:\x20Application\x20source\x20—\x20'];a213_0x1c38=function(){return _0x577f4b;};return a213_0x1c38();}(function(_0x26d575,_0x36ad99){const _0x3fb10d=a213_0x30f8,_0x498fa6=_0x26d575();while(!![]){try{const _0x557944=-parseInt(_0x3fb10d(0x1d6))/0x1+parseInt(_0x3fb10d(0x1ca))/0x2*(-parseInt(_0x3fb10d(0x1ea))/0x3)+parseInt(_0x3fb10d(0x1d7))/0x4*(-parseInt(_0x3fb10d(0x20c))/0x5)+parseInt(_0x3fb10d(0x1f7))/0x6*(parseInt(_0x3fb10d(0x1e3))/0x7)+parseInt(_0x3fb10d(0x205))/0x8*(parseInt(_0x3fb10d(0x1e2))/0x9)+parseInt(_0x3fb10d(0x1ff))/0xa*(parseInt(_0x3fb10d(0x1d8))/0xb)+parseInt(_0x3fb10d(0x1f0))/0xc*(parseInt(_0x3fb10d(0x203))/0xd);if(_0x557944===_0x36ad99)break;else _0x498fa6['push'](_0x498fa6['shift']());}catch(_0x1980d3){_0x498fa6['push'](_0x498fa6['shift']());}}}(a213_0x1c38,0x4cce1));import a213_0xfa9018 from'chalk';import a213_0x16260d from'ora';import{existsSync,readFileSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{askConfirm}from'../../commands/menu/shared/inquirer.js';function a213_0x30f8(_0x236039,_0x29f57b){_0x236039=_0x236039-0x1c4;const _0x1c3824=a213_0x1c38();let _0x30f8b7=_0x1c3824[_0x236039];return _0x30f8b7;}import{analyzeProjectApiArchitecture,upgradeProjectApiArchitecture}from'../../commands/project/api-architecture-upgrade.js';import{NEW_CONFIG_NAME}from'../../context.js';function readProjectConfig(_0x107348){const _0x2d7db4=a213_0x30f8;try{const _0xf9d055=JSON[_0x2d7db4(0x1ef)](readFileSync(_0x107348,_0x2d7db4(0x1c9)));return _0xf9d055&&typeof _0xf9d055===_0x2d7db4(0x1c4)?_0xf9d055:{};}catch{return{};}}export function analyseProjectUpgrade(_0x5cbe44){const _0x26caea=a213_0x30f8;let _0x234907=null;const _0x146f28=resolve(_0x5cbe44,'package.json');if(existsSync(_0x146f28))try{const _0x5a6509=JSON['parse'](readFileSync(_0x146f28,_0x26caea(0x1c9)));for(const _0x23545c of[_0x26caea(0x1c6),_0x26caea(0x1d5)]){const _0x2fcc=_0x5a6509?.[_0x23545c]?.[_0x26caea(0x20a)];if(typeof _0x2fcc===_0x26caea(0x1e8)){_0x2fcc!==_0x26caea(0x1f1)&&(_0x234907={'pkgPath':_0x146f28,'currentVersion':_0x2fcc,'field':_0x23545c});break;}}}catch{}const _0x5385ef=resolve(_0x5cbe44,NEW_CONFIG_NAME),_0xc3d7b8=existsSync(_0x5385ef)?readProjectConfig(_0x5385ef):{},_0x543cf3=analyzeProjectApiArchitecture(_0x5cbe44,_0xc3d7b8);return{'sdkUpgrade':_0x234907,'apiArchitecture':_0x543cf3};}function printReport(_0x46894f){const _0x286e64=a213_0x30f8;console[_0x286e64(0x1f6)](''),console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1e1)](_0x286e64(0x215))),console[_0x286e64(0x1f6)](''),console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1d9)](_0x286e64(0x1c8))+('\x20\x20'+(_0x46894f[_0x286e64(0x208)][_0x286e64(0x1ce)]?a213_0xfa9018[_0x286e64(0x1e9)]('upgrade\x20needed'):a213_0xfa9018[_0x286e64(0x1fb)](_0x286e64(0x1de)))));for(const _0x43c8bc of _0x46894f['apiArchitecture'][_0x286e64(0x1db)]){console['log']('\x20\x20'+_0x43c8bc[_0x286e64(0x20b)]+'\x20('+_0x43c8bc[_0x286e64(0x202)][_0x286e64(0x1e6)](',\x20')+')');for(const _0x31df0f of _0x43c8bc[_0x286e64(0x20d)]){console[_0x286e64(0x1f6)](_0x286e64(0x1df)+_0x31df0f[_0x286e64(0x1e5)][_0x286e64(0x1e4)](0x11)+'\x20'+_0x31df0f[_0x286e64(0x1cd)]),_0x31df0f[_0x286e64(0x1d2)]&&console[_0x286e64(0x1f6)]('\x20\x20\x20\x20\x20\x20candidate:\x20'+_0x31df0f[_0x286e64(0x1d2)]);}}_0x46894f['apiArchitecture'][_0x286e64(0x1cb)]['length']>0x0&&console[_0x286e64(0x1f6)](_0x286e64(0x204));console['log']('');if(_0x46894f['sdkUpgrade']){const {currentVersion:_0x544453,field:_0x21f850,pkgPath:_0x17d942}=_0x46894f[_0x286e64(0x1ee)];console[_0x286e64(0x1f6)](a213_0xfa9018[_0x286e64(0x1d9)](_0x286e64(0x1e0))+('\x20\x20'+a213_0xfa9018[_0x286e64(0x1e9)](_0x17d942))),console[_0x286e64(0x1f6)](_0x286e64(0x1f5)+_0x21f850+':\x20'+a213_0xfa9018['yellow'](_0x544453)+_0x286e64(0x20e)+a213_0xfa9018['green'](_0x286e64(0x1f1))),console[_0x286e64(0x1f6)](_0x286e64(0x1cf));}else console[_0x286e64(0x1f6)](a213_0xfa9018['cyan']('@lovrabet/sdk:')+'\x20\x20'+a213_0xfa9018[_0x286e64(0x1dc)](_0x286e64(0x1f9)));console[_0x286e64(0x1f6)]('');}function execUpgradeSdk(_0x225b82){const _0x62df58=a213_0x30f8;if(!_0x225b82[_0x62df58(0x1ee)])return{'step':0x1,'label':_0x62df58(0x1d4),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x201852,currentVersion:_0x1edb8d,field:_0x465fe8}=_0x225b82[_0x62df58(0x1ee)];try{const _0x56ee2d=readFileSync(_0x201852,_0x62df58(0x1c9)),_0x33c651=JSON['parse'](_0x56ee2d);return _0x33c651[_0x465fe8]['@lovrabet/sdk']=_0x62df58(0x1f1),writeFileSync(_0x201852,JSON[_0x62df58(0x1f2)](_0x33c651,null,0x2)+'\x0a',_0x62df58(0x1c9)),{'step':0x1,'label':_0x62df58(0x1d4),'ok':!![],'detail':_0x465fe8+_0x62df58(0x207)+_0x1edb8d+_0x62df58(0x214)};}catch(_0x4c2afb){return{'step':0x1,'label':'Upgrade\x20@lovrabet/sdk','ok':![],'detail':_0x4c2afb instanceof Error?_0x4c2afb[_0x62df58(0x1fa)]:String(_0x4c2afb)};}}function printSummary(_0x226eeb){const _0x5f3b80=a213_0x30f8;console[_0x5f3b80(0x1f6)](''),console[_0x5f3b80(0x1f6)](a213_0xfa9018['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x5f3b80(0x1f6)]('');for(const _0x17ab0c of _0x226eeb){const _0x42090a=_0x17ab0c['ok']?a213_0xfa9018['green']('OK'):a213_0xfa9018[_0x5f3b80(0x200)](_0x5f3b80(0x1cc));console[_0x5f3b80(0x1f6)]('\x20\x20'+_0x42090a+_0x5f3b80(0x201)+_0x17ab0c[_0x5f3b80(0x1f4)]+':\x20'+_0x17ab0c['label']);if(_0x17ab0c[_0x5f3b80(0x212)])console[_0x5f3b80(0x1f6)]('\x20\x20\x20\x20\x20\x20\x20'+a213_0xfa9018[_0x5f3b80(0x1dc)](_0x17ab0c[_0x5f3b80(0x212)]));}console['log']('');}export async function upgradeApp(_0x3edd06,_0x31cb41){const _0x279246=a213_0x30f8,_0x4e4209=process['cwd'](),_0x2ed823=analyseProjectUpgrade(_0x4e4209);if(!_0x2ed823[_0x279246(0x1ee)]&&!_0x2ed823[_0x279246(0x208)]['needed'])return console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1fb)]('Your\x20project\x20is\x20already\x20up-to-date.')),{'analysis':_0x2ed823,'steps':[],'completed':!![]};printReport(_0x2ed823);const _0x1878d0=!!(_0x31cb41[_0x279246(0x206)]||_0x31cb41['Y']||_0x3edd06);if(!_0x1878d0)try{const _0x4ae518=await askConfirm(_0x279246(0x210));if(!_0x4ae518)return console['log'](a213_0xfa9018[_0x279246(0x1dc)](_0x279246(0x1e7))),{'analysis':_0x2ed823,'steps':[],'completed':![],'cancelled':!![]};}catch(_0x32aac0){if(_0x32aac0?.[_0x279246(0x1fa)]==='CANCEL')return console['log'](a213_0xfa9018['gray']('Upgrade\x20cancelled.')),{'analysis':_0x2ed823,'steps':[],'completed':![],'cancelled':!![]};throw _0x32aac0;}const _0x5f0006=[],_0x29e1f7=a213_0x16260d({'text':_0x279246(0x1eb),'color':_0x279246(0x1d9)})['start'](),_0x502824=execUpgradeSdk(_0x2ed823);_0x5f0006[_0x279246(0x1ed)](_0x502824),_0x29e1f7[_0x502824['ok']?'succeed':'fail'](_0x279246(0x1ec)+(_0x502824[_0x279246(0x212)]??(_0x502824['ok']?'done':_0x279246(0x1dd))));const _0x3242c0=a213_0x16260d({'text':_0x279246(0x1f3),'color':_0x279246(0x1d9)})['start']();let _0xde1ae4;try{_0xde1ae4=await upgradeProjectApiArchitecture(_0x4e4209);const _0x45475d=_0xde1ae4['manualMergeRequired']?_0x279246(0x1fd):_0x279246(0x211);_0x3242c0[_0x279246(0x1f8)]('Step\x202/2:\x20Application\x20source\x20—\x20'+_0x45475d),_0x5f0006['push']({'step':0x2,'label':_0x279246(0x1d1),'ok':!![],'detail':_0x45475d});}catch(_0xbb3963){const _0x2856e2=_0xbb3963 instanceof Error?_0xbb3963['message']:String(_0xbb3963);_0x3242c0[_0x279246(0x1fc)](_0x279246(0x1da)+_0x2856e2),_0x5f0006['push']({'step':0x2,'label':_0x279246(0x1d1),'ok':![],'detail':_0x2856e2});}printSummary(_0x5f0006);const _0x567836=_0x5f0006[_0x279246(0x1c5)](_0x59fefb=>!_0x59fefb['ok']);if(_0x567836)console[_0x279246(0x1f6)](a213_0xfa9018['yellow'](_0x279246(0x209)));else _0xde1ae4?.[_0x279246(0x216)]?console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1e9)]('Upgrade\x20candidates\x20were\x20written,\x20but\x20project-owned\x20source\x20files\x20still\x20require\x20manual\x20merging.')):console['log'](a213_0xfa9018[_0x279246(0x1fb)](_0x279246(0x20f)));return _0x502824['ok']&&_0x2ed823['sdkUpgrade']&&(console[_0x279246(0x1f6)](''),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1e1)]['cyan'](_0x279246(0x213))),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1d9)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0x279246(0x1f6)](''),console[_0x279246(0x1f6)](a213_0xfa9018['white'](_0x279246(0x1d3))),console[_0x279246(0x1f6)](a213_0xfa9018[_0x279246(0x1d0)](_0x279246(0x1c7))),console['log'](a213_0xfa9018[_0x279246(0x1d0)](_0x279246(0x1fe))),console[_0x279246(0x1f6)]('')),{'analysis':_0x2ed823,'steps':_0x5f0006,'apiArchitecture':_0xde1ae4,'completed':!_0x567836&&!_0xde1ae4?.['manualMergeRequired']};}
|
package/lib/commands/registry.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a203_0x45f462=a203_0x3ec2;(function(_0x746359,_0x1a0f6d){const _0x45495d=a203_0x3ec2,_0x24f1c7=_0x746359();while(!![]){try{const _0x55acd9=parseInt(_0x45495d(0x1ac))/0x1+-parseInt(_0x45495d(0x182))/0x2+-parseInt(_0x45495d(0x1c2))/0x3+-parseInt(_0x45495d(0x1ef))/0x4*(parseInt(_0x45495d(0x1da))/0x5)+-parseInt(_0x45495d(0x1cc))/0x6+-parseInt(_0x45495d(0x190))/0x7*(-parseInt(_0x45495d(0x1cb))/0x8)+parseInt(_0x45495d(0x1e9))/0x9*(parseInt(_0x45495d(0x1f3))/0xa);if(_0x55acd9===_0x1a0f6d)break;else _0x24f1c7['push'](_0x24f1c7['shift']());}catch(_0x36f2a9){_0x24f1c7['push'](_0x24f1c7['shift']());}}}(a203_0xc699,0x49ebf));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{dbDefinitions}from'../commands/db/index.js';import{deploymentDefinitions}from'../commands/deployment/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';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{ruleDefinitions}from'../commands/rule/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{instantApiPolicyDefinitions}from'../commands/instant-api-policy/index.js';function a203_0x3ec2(_0x3fb460,_0x147a64){_0x3fb460=_0x3fb460-0x182;const _0xc69998=a203_0xc699();let _0x3ec2d2=_0xc69998[_0x3fb460];return _0x3ec2d2;}import{workspaceDefinitions}from'../commands/workspace/index.js';import{configDefinitions}from'../commands/config/index.js';import{doctorDefinition}from'../commands/doctor.js';function a203_0xc699(){const _0x143fb0=['page:react-update','rabetbase\x20kb\x20create','`\x20instead.','4fcieBV','`\x20has\x20been\x20removed.','page:standard-page-status','sql:save','13817210QkXHzZ','Workspace','\x20\x20[','app:add','read','Schema','1041436uZUHNs','skills:','wildcardDef','rabetbase\x20project\x20create\x20<project-name>','Tenant\x20Members','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.','defaultCommand','\x20\x20[high-risk-write]','Authentication','Roles','rabetbase\x20workspace\x20use\x20--app\x20<name>','app:use','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27','Instant\x20API\x20Policy','263319IMWzgR','login','knowledge-base:detail','Dataset\x20&\x20Operations','rabetbase\x20app\x20list\x20--remote','command','skills:install','Run\x20any\x20package.json\x20script','page:custom-create','permit:role-menus-set','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','bff:new','hidden','data:getOne','skill:install','rabetbase\x20workspace\x20remove\x20<name>','Notification\x20Configuration','Run\x20Scripts','deployment:sync','service','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','permit:role-apis-set','rabetbase\x20sql\x20create','isSingleCommand','flow:disable','push','Code\x20Generation','Menu','439610kUukGN','logout','\x20\x20[write]','Resource\x20saves\x20are\x20synchronized\x20automatically\x20by\x20the\x20server;\x20no\x20manual\x20CLI\x20replacement\x20is\x20required.','install','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','set','permit:page-set','Self\x20Update','Runtime\x20App\x20Config\x20Management','permit:role-menus','Logs','risk','Agent\x20Context\x20Rules','menu:update','map','page:react-create','Deployment','rabetbase\x20kb\x20update','rabetbase\x20page\x20custom-update','Platform\x20Issue','Use\x20`','1688574ZbwFjd','page:react-list','description','page:react-detail','from','rabetbase\x20page\x20custom-detail','App\x20Management','`rabetbase\x20','Database\x20Connections','56DHkVwt','2288502felOpJ','filter','page:react-publish','API\x20Development','permit:page-get','rabetbase\x20run\x20build','SQL\x20Queries','commands','rabetbase\x20cli-skill\x20install','data:filter','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','File','rabetbase\x20kb\x20delete','Backend\x20Function\x20Scripts','1584370GtEgWk','start','knowledge-base:update','rabetbase\x20page\x20data-list-status','show','get','rabetbase\x20role\x20list','knowledge-base:delete','app:remote','Data\x20List\x20Pages\x20&\x20Custom\x20Pages','Diagnostics','Configuration','rabetbase\x20run\x20preview','role:create','Async\x20Tasks','9RmsWsd','preview','User\x20Accounts'];a203_0xc699=function(){return _0x143fb0;};return a203_0xc699();}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{flowDefinitions}from'../commands/flow/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/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(_0xd82efe){const _0x5ec289=a203_0x3ec2;for(const _0x64c414 of _0xd82efe){definitions[_0x5ec289(0x1b2)](_0x64c414['service']+':'+_0x64c414['command'],_0x64c414);let _0x2ecc40=serviceGroups[_0x5ec289(0x1df)](_0x64c414[_0x5ec289(0x1a3)]);!_0x2ecc40&&(_0x2ecc40=[],serviceGroups[_0x5ec289(0x1b2)](_0x64c414[_0x5ec289(0x1a3)],_0x2ecc40)),_0x2ecc40['push'](_0x64c414);}}function registerDeclarativeService(_0x49a5d4,_0x2f465a,_0x12f300){const _0x47210e=a203_0x3ec2;registerDefinitions(_0x2f465a);_0x12f300?.[_0x47210e(0x184)]&®isterDefinitions([_0x12f300[_0x47210e(0x184)]]);const _0x2e5b40=_0x194284=>_0x194284===_0x47210e(0x1f7)?'':_0x194284==='write'?_0x47210e(0x1ae):_0x47210e(0x189),_0x1a13e1={'service':_0x2f465a[0x0][_0x47210e(0x1a3)],'label':_0x49a5d4,'commands':_0x2f465a[_0x47210e(0x1cd)](_0x37ac60=>!_0x37ac60[_0x47210e(0x19c)])[_0x47210e(0x1bb)](_0x10d84d=>({'command':_0x10d84d[_0x47210e(0x195)],'description':_0x10d84d[_0x47210e(0x1c4)],'tag':_0x2e5b40(_0x10d84d[_0x47210e(0x1b8)])})),'declarative':!![],'defaultCommand':_0x12f300?.[_0x47210e(0x188)]??(_0x12f300?.[_0x47210e(0x1a7)]?_0x2f465a[0x0][_0x47210e(0x195)]:undefined),'wildcardDef':_0x12f300?.[_0x47210e(0x184)],'isSingleCommand':_0x12f300?.[_0x47210e(0x1a7)]};serviceRegistry[_0x47210e(0x1a9)](_0x1a13e1),serviceByName[_0x47210e(0x1b2)](_0x1a13e1[_0x47210e(0x1a3)],_0x1a13e1);}registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a203_0x45f462(0x1f4),workspaceDefinitions),registerDeclarativeService(a203_0x45f462(0x1c8),appDefinitions),registerDeclarativeService(a203_0x45f462(0x18a),authDefinitions,{'defaultCommand':a203_0x45f462(0x191)}),registerDeclarativeService(a203_0x45f462(0x186),tenantDefinitions),registerDeclarativeService(a203_0x45f462(0x1eb),userAccountDefinitions),registerDeclarativeService(a203_0x45f462(0x193),datasetDefinitions),registerDeclarativeService(a203_0x45f462(0x1e3),pageDefinitions),registerDeclarativeService(a203_0x45f462(0x1cf),apiDefinitions),registerDeclarativeService(a203_0x45f462(0x1d9),bffDefinitions),registerDeclarativeService(a203_0x45f462(0x18f),instantApiPolicyDefinitions),registerDeclarativeService(a203_0x45f462(0x1a0),notificationDefinitions),registerDeclarativeService(a203_0x45f462(0x1d2),sqlDefinitions),registerDeclarativeService(a203_0x45f462(0x1ca),dbDefinitions),registerDeclarativeService(a203_0x45f462(0x1bd),deploymentDefinitions),registerDeclarativeService(a203_0x45f462(0x1ab),menuDefinitions),registerDeclarativeService(a203_0x45f462(0x1e8),taskDefinitions),registerDeclarativeService(a203_0x45f462(0x18b),roleDefinitions),registerDeclarativeService(a203_0x45f462(0x1b5),appConfigDefinitions),registerDeclarativeService('Company\x20Knowledge\x20Base',kbDefinitions),registerDeclarativeService(a203_0x45f462(0x1b9),ruleDefinitions),registerDeclarativeService(a203_0x45f462(0x1c0),issueDefinitions),registerDeclarativeService(a203_0x45f462(0x1d7),fileDefinitions),registerDeclarativeService('OCR',ocrDefinitions),registerDeclarativeService(a203_0x45f462(0x1aa),codegenDefinitions),registerDeclarativeService(a203_0x45f462(0x1e5),configDefinitions),registerDeclarativeService(a203_0x45f462(0x1e4),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a203_0x45f462(0x1f8),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a203_0x45f462(0x1b4),[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('CLI\x20Built-in\x20Skill',cliSkillDefinitions,{'defaultCommand':a203_0x45f462(0x1b0)}),registerDeclarativeService('Approval\x20Flows',flowDefinitions),registerDeclarativeService(a203_0x45f462(0x1b7),logsDefinitions,{'defaultCommand':a203_0x45f462(0x1de)}),registerDeclarativeService(a203_0x45f462(0x1a1),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry['length']-0x1];last[a203_0x45f462(0x1d3)]=[{'command':'<script>','description':a203_0x45f462(0x197),'tag':a203_0x45f462(0x1f5)+runDefinition[a203_0x45f462(0x1b8)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a203_0x45f462(0x1f2),a203_0x45f462(0x19a)],[a203_0x45f462(0x19b),'rabetbase\x20bff\x20create'],['sql:new',a203_0x45f462(0x1a6)],[a203_0x45f462(0x1ba),'rabetbase\x20menu\x20asset-update'],['project:init','rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],['skill:','rabetbase\x20cli-skill\x20install'],[a203_0x45f462(0x19e),a203_0x45f462(0x1d4)],[a203_0x45f462(0x183),a203_0x45f462(0x1d4)],[a203_0x45f462(0x196),a203_0x45f462(0x1d4)],[a203_0x45f462(0x1e2),a203_0x45f462(0x194)],[a203_0x45f462(0x18d),a203_0x45f462(0x18c)],[a203_0x45f462(0x1f6),a203_0x45f462(0x1a4)],['app:remove',a203_0x45f462(0x19f)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a203_0x45f462(0x192),'rabetbase\x20kb\x20detail'],['knowledge-base:create',a203_0x45f462(0x1ed)],[a203_0x45f462(0x1dc),a203_0x45f462(0x1be)],[a203_0x45f462(0x1e1),a203_0x45f462(0x1d8)],[a203_0x45f462(0x1e7),a203_0x45f462(0x1e0)],[a203_0x45f462(0x1d5),a203_0x45f462(0x18e)],[a203_0x45f462(0x19d),'lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27'],[a203_0x45f462(0x1f1),a203_0x45f462(0x1dd)],[a203_0x45f462(0x1bc),a203_0x45f462(0x1b1)],[a203_0x45f462(0x198),a203_0x45f462(0x1b1)],[a203_0x45f462(0x1c3),'rabetbase\x20page\x20custom-list'],[a203_0x45f462(0x1c5),a203_0x45f462(0x1c7)],[a203_0x45f462(0x1ec),a203_0x45f462(0x1bf)],[a203_0x45f462(0x1ce),'rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([['flow:enable',a203_0x45f462(0x187)],[a203_0x45f462(0x1a8),a203_0x45f462(0x187)],[a203_0x45f462(0x1a2),a203_0x45f462(0x1af)],[a203_0x45f462(0x1d0),a203_0x45f462(0x1d6)],[a203_0x45f462(0x1b3),a203_0x45f462(0x1d6)],[a203_0x45f462(0x1b6),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],[a203_0x45f462(0x199),'No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.'],[a203_0x45f462(0x1a5),a203_0x45f462(0x1d6)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([['create',a203_0x45f462(0x185)],[a203_0x45f462(0x1db),'rabetbase\x20run\x20start'],['build',a203_0x45f462(0x1d1)],[a203_0x45f462(0x1ea),a203_0x45f462(0x1e6)],[a203_0x45f462(0x1ad),'rabetbase\x20auth\x20logout']]);export function resolveRemovedCommand(_0x5bf0c7,_0x1205e9){const _0x2e7e17=a203_0x45f462;if(!_0x5bf0c7)return undefined;const _0x2cd25a=REMOVED_COMMAND_REPLACEMENTS[_0x2e7e17(0x1df)](_0x5bf0c7+':'+(_0x1205e9??'')),_0x88b28d=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x2e7e17(0x1df)](_0x5bf0c7),_0x30d7e9=_0x2cd25a??_0x88b28d,_0x838d85=REMOVED_COMMAND_HINTS[_0x2e7e17(0x1df)](_0x5bf0c7+':'+(_0x1205e9??''));if(!_0x30d7e9&&!_0x838d85)return undefined;const _0xc4fc7c=_0x88b28d?_0x5bf0c7:_0x1205e9?_0x5bf0c7+'\x20'+_0x1205e9:_0x5bf0c7;return{'command':_0xc4fc7c,'message':_0x2e7e17(0x1c9)+_0xc4fc7c+_0x2e7e17(0x1f0),'hint':_0x838d85??_0x2e7e17(0x1c1)+_0x30d7e9+_0x2e7e17(0x1ee)};}export function findDefinition(_0x443077,_0x5c4af2){const _0x1086e3=a203_0x45f462;return definitions[_0x1086e3(0x1df)](_0x443077+':'+_0x5c4af2);}export function isKnownService(_0x1ecffd){return serviceByName['has'](_0x1ecffd);}export function isDeclarativeService(_0x41b33f){const _0x4a341e=a203_0x45f462;return serviceGroups['has'](_0x41b33f)||serviceByName[_0x4a341e(0x1df)](_0x41b33f)?.['wildcardDef']!==undefined;}export function getServiceEntry(_0x266b3a){const _0x85ea0d=a203_0x45f462;return serviceByName[_0x85ea0d(0x1df)](_0x266b3a);}export function getLegacyHandler(_0x4ff194,_0x2dee57){return undefined;}export function getAllDefinitions(){const _0x34f17a=a203_0x45f462;return Array[_0x34f17a(0x1c6)](definitions['values']());}
|
|
1
|
+
const a214_0x19597d=a214_0x1b55;(function(_0x5dcf6a,_0x2c5b9d){const _0xa7f3cd=a214_0x1b55,_0x2b5c0c=_0x5dcf6a();while(!![]){try{const _0x27109d=-parseInt(_0xa7f3cd(0x1a8))/0x1*(-parseInt(_0xa7f3cd(0x18a))/0x2)+-parseInt(_0xa7f3cd(0x170))/0x3+-parseInt(_0xa7f3cd(0x1a9))/0x4+parseInt(_0xa7f3cd(0x188))/0x5*(parseInt(_0xa7f3cd(0x165))/0x6)+parseInt(_0xa7f3cd(0x19e))/0x7+-parseInt(_0xa7f3cd(0x172))/0x8+parseInt(_0xa7f3cd(0x195))/0x9;if(_0x27109d===_0x2c5b9d)break;else _0x2b5c0c['push'](_0x2b5c0c['shift']());}catch(_0x5345d9){_0x2b5c0c['push'](_0x2b5c0c['shift']());}}}(a214_0x3184,0xc8728));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{dbDefinitions}from'../commands/db/index.js';import{deploymentDefinitions}from'../commands/deployment/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';import{appConfigDefinitions}from'../commands/app-config/index.js';import{kbDefinitions}from'../commands/kb/index.js';import{ruleDefinitions}from'../commands/rule/index.js';import{notificationDefinitions}from'../commands/notification/index.js';import{instantApiPolicyDefinitions}from'../commands/instant-api-policy/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';function a214_0x1b55(_0x4b66db,_0x3fc016){_0x4b66db=_0x4b66db-0x146;const _0x3184e3=a214_0x3184();let _0x1b55b9=_0x3184e3[_0x4b66db];return _0x1b55b9;}import{ocrDefinitions}from'../commands/ocr/index.js';import{cliSkillDefinitions}from'../commands/cli-skill/index.js';import{userAccountDefinitions}from'../commands/user-account/index.js';import{flowDefinitions}from'../commands/flow/index.js';import{authDefinitions}from'../commands/auth/index.js';import{logsDefinitions}from'../commands/logs/index.js';import{projectDefinitions}from'../commands/project/index.js';import{runDefinition}from'../commands/run/index.js';export const serviceRegistry=[];function a214_0x3184(){const _0x50068b=['preview','rabetbase\x20cli-skill\x20install','install','login','Configuration','`\x20has\x20been\x20removed.','rabetbase\x20auth\x20logout','Deployment','Tenant\x20Members','5438qZyYjo','4000808wrRrRq','command','\x20\x20[write]','sql:save','Database\x20Connections','show','Runtime\x20App\x20Config\x20Management','rabetbase\x20page\x20data-list-status','rabetbase\x20workspace\x20use\x20--app\x20<name>','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK','isSingleCommand','Instant\x20API\x20Policy','project:init','rabetbase\x20sql\x20create\x20--name\x20<name>\x20--db-id\x20<id>\x20--mode\x20sql|mybatisXml','CLI\x20Built-in\x20Skill','risk','length','create','skill:','Async\x20Tasks','Approval\x20Flows','knowledge-base:update','Use\x20`','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.','role:create','set','from','read','<script>','page:react-detail','Code\x20Generation','knowledge-base:detail','Agent\x20Context\x20Rules','App\x20Management','start','permit:role-menus-set','rabetbase\x20kb\x20update','defaultCommand','`rabetbase\x20','map','Notification\x20Configuration','rabetbase\x20run\x20build','Logs','permit:page-get','API\x20Development','Roles','values','bff:new','rabetbase\x20role\x20list','Workspace','762018PekwXM','get','Schema','File','build','sql:new','filter','page:react-create','Resource\x20saves\x20are\x20synchronized\x20automatically\x20by\x20the\x20server;\x20no\x20manual\x20CLI\x20replacement\x20is\x20required.','description','page:react-publish','501003hwFbTq','Company\x20Knowledge\x20Base','10693768dKyTyZ','\x20\x20[high-risk-write]','wildcardDef','rabetbase\x20sql\x20create','OCR','page:react-update','rabetbase\x20workspace\x20remove\x20<name>','rabetbase\x20workspace\x20add\x20<name>\x20--appcode\x20<code>','SQL\x20Queries','knowledge-base:delete','rabetbase\x20page\x20custom-update','has','lovrabet\x20data\x20filter\x20--code\x20<datasetCode>\x20--params\x20\x27<json>\x27','rabetbase\x20kb\x20create','rabetbase\x20app\x20list\x20--remote','lovrabet\x20data\x20getOne\x20--code\x20<datasetCode>\x20--params\x20\x27{\x22id\x22:123}\x27','app:use','push','Backend\x20Function\x20Scripts','Dataset\x20&\x20Operations','Run\x20Scripts','hidden','5McGrNy','Run\x20any\x20package.json\x20script','64VYoLzE','permit:role-apis-set','Authentication','`\x20instead.','\x20\x20[','rabetbase\x20run\x20preview','logout','rabetbase\x20bff\x20create','page:react-list','page:standard-page-status','service','19125351pvuHMv','skills:install','rabetbase\x20page\x20custom-detail','app:remove','data:filter','Diagnostics','No\x20executable\x20CLI\x20replacement\x20is\x20available\x20under\x20the\x20current\x20server\x20authentication\x20contract.','rabetbase\x20page\x20custom-list','permit:role-menus','6292286tpFOgj'];a214_0x3184=function(){return _0x50068b;};return a214_0x3184();}const serviceByName=new Map();export const definitions=new Map();export const serviceGroups=new Map();function registerDefinitions(_0x5e9820){const _0x5cb9e8=a214_0x1b55;for(const _0x209403 of _0x5e9820){definitions['set'](_0x209403['service']+':'+_0x209403[_0x5cb9e8(0x1aa)],_0x209403);let _0x36ab19=serviceGroups[_0x5cb9e8(0x166)](_0x209403[_0x5cb9e8(0x194)]);!_0x36ab19&&(_0x36ab19=[],serviceGroups['set'](_0x209403['service'],_0x36ab19)),_0x36ab19[_0x5cb9e8(0x183)](_0x209403);}}function registerDeclarativeService(_0x2a2bd5,_0x561a91,_0x128989){const _0x5405b2=a214_0x1b55;registerDefinitions(_0x561a91);_0x128989?.[_0x5405b2(0x174)]&®isterDefinitions([_0x128989[_0x5405b2(0x174)]]);const _0xd561b4=_0x50e17c=>_0x50e17c===_0x5405b2(0x14e)?'':_0x50e17c==='write'?_0x5405b2(0x1ab):_0x5405b2(0x173),_0x48bb36={'service':_0x561a91[0x0][_0x5405b2(0x194)],'label':_0x2a2bd5,'commands':_0x561a91[_0x5405b2(0x16b)](_0x3bc1d4=>!_0x3bc1d4[_0x5405b2(0x187)])[_0x5405b2(0x15a)](_0x222db2=>({'command':_0x222db2[_0x5405b2(0x1aa)],'description':_0x222db2[_0x5405b2(0x16e)],'tag':_0xd561b4(_0x222db2[_0x5405b2(0x1b8)])})),'declarative':!![],'defaultCommand':_0x128989?.[_0x5405b2(0x158)]??(_0x128989?.[_0x5405b2(0x1b3)]?_0x561a91[0x0][_0x5405b2(0x1aa)]:undefined),'wildcardDef':_0x128989?.[_0x5405b2(0x174)],'isSingleCommand':_0x128989?.[_0x5405b2(0x1b3)]};serviceRegistry[_0x5405b2(0x183)](_0x48bb36),serviceByName[_0x5405b2(0x14c)](_0x48bb36[_0x5405b2(0x194)],_0x48bb36);}registerDeclarativeService('Project',projectDefinitions),registerDeclarativeService(a214_0x19597d(0x164),workspaceDefinitions),registerDeclarativeService(a214_0x19597d(0x154),appDefinitions),registerDeclarativeService(a214_0x19597d(0x18c),authDefinitions,{'defaultCommand':a214_0x19597d(0x1a2)}),registerDeclarativeService(a214_0x19597d(0x1a7),tenantDefinitions),registerDeclarativeService('User\x20Accounts',userAccountDefinitions),registerDeclarativeService(a214_0x19597d(0x185),datasetDefinitions),registerDeclarativeService('Data\x20List\x20Pages\x20&\x20Custom\x20Pages',pageDefinitions),registerDeclarativeService(a214_0x19597d(0x15f),apiDefinitions),registerDeclarativeService(a214_0x19597d(0x184),bffDefinitions),registerDeclarativeService(a214_0x19597d(0x1b4),instantApiPolicyDefinitions),registerDeclarativeService(a214_0x19597d(0x15b),notificationDefinitions),registerDeclarativeService(a214_0x19597d(0x17a),sqlDefinitions),registerDeclarativeService(a214_0x19597d(0x1ad),dbDefinitions),registerDeclarativeService(a214_0x19597d(0x1a6),deploymentDefinitions),registerDeclarativeService('Menu',menuDefinitions),registerDeclarativeService(a214_0x19597d(0x146),taskDefinitions),registerDeclarativeService(a214_0x19597d(0x160),roleDefinitions),registerDeclarativeService(a214_0x19597d(0x1af),appConfigDefinitions),registerDeclarativeService(a214_0x19597d(0x171),kbDefinitions),registerDeclarativeService(a214_0x19597d(0x153),ruleDefinitions),registerDeclarativeService('Platform\x20Issue',issueDefinitions),registerDeclarativeService(a214_0x19597d(0x168),fileDefinitions),registerDeclarativeService(a214_0x19597d(0x176),ocrDefinitions),registerDeclarativeService(a214_0x19597d(0x151),codegenDefinitions),registerDeclarativeService(a214_0x19597d(0x1a3),configDefinitions),registerDeclarativeService(a214_0x19597d(0x19a),[doctorDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x19597d(0x167),[schemaDefinition],{'isSingleCommand':!![]}),registerDeclarativeService('Self\x20Update',[updateDefinition],{'isSingleCommand':!![]}),registerDeclarativeService(a214_0x19597d(0x1b7),cliSkillDefinitions,{'defaultCommand':a214_0x19597d(0x1a1)}),registerDeclarativeService(a214_0x19597d(0x147),flowDefinitions),registerDeclarativeService(a214_0x19597d(0x15d),logsDefinitions,{'defaultCommand':a214_0x19597d(0x1ae)}),registerDeclarativeService(a214_0x19597d(0x186),[runDefinition],{'wildcardDef':runDefinition});{const last=serviceRegistry[serviceRegistry[a214_0x19597d(0x1b9)]-0x1];last['commands']=[{'command':a214_0x19597d(0x14f),'description':a214_0x19597d(0x189),'tag':a214_0x19597d(0x18e)+runDefinition[a214_0x19597d(0x1b8)]+']'}];}const REMOVED_COMMAND_REPLACEMENTS=new Map([[a214_0x19597d(0x1ac),a214_0x19597d(0x1b6)],[a214_0x19597d(0x162),a214_0x19597d(0x191)],[a214_0x19597d(0x16a),a214_0x19597d(0x175)],['menu:update','rabetbase\x20menu\x20asset-update'],[a214_0x19597d(0x1b5),'rabetbase\x20workspace\x20init\x20--appcode\x20<code>'],[a214_0x19597d(0x1bb),a214_0x19597d(0x1a0)],['skill:install',a214_0x19597d(0x1a0)],['skills:',a214_0x19597d(0x1a0)],[a214_0x19597d(0x196),a214_0x19597d(0x1a0)],['app:remote',a214_0x19597d(0x180)],[a214_0x19597d(0x182),a214_0x19597d(0x1b1)],['app:add',a214_0x19597d(0x179)],[a214_0x19597d(0x198),a214_0x19597d(0x178)],['knowledge-base:list','rabetbase\x20kb\x20list'],[a214_0x19597d(0x152),'rabetbase\x20kb\x20detail'],['knowledge-base:create',a214_0x19597d(0x17f)],[a214_0x19597d(0x148),a214_0x19597d(0x157)],[a214_0x19597d(0x17b),'rabetbase\x20kb\x20delete'],[a214_0x19597d(0x14b),a214_0x19597d(0x163)],[a214_0x19597d(0x199),a214_0x19597d(0x17e)],['data:getOne',a214_0x19597d(0x181)],[a214_0x19597d(0x193),a214_0x19597d(0x1b0)],[a214_0x19597d(0x16c),a214_0x19597d(0x1b2)],['page:custom-create','rabetbase\x20page\x20create\x20--page-pattern\x20BLANK'],[a214_0x19597d(0x192),a214_0x19597d(0x19c)],[a214_0x19597d(0x150),a214_0x19597d(0x197)],[a214_0x19597d(0x177),a214_0x19597d(0x17c)],[a214_0x19597d(0x16f),'rabetbase\x20page\x20custom-publish']]),REMOVED_COMMAND_HINTS=new Map([['flow:enable','This\x20lifecycle\x20operation\x20is\x20no\x20longer\x20exposed\x20by\x20Rabetbase\x20CLI;\x20no\x20replacement\x20command\x20is\x20available.'],['flow:disable',a214_0x19597d(0x14a)],['deployment:sync',a214_0x19597d(0x16d)],[a214_0x19597d(0x15e),a214_0x19597d(0x19b)],['permit:page-set',a214_0x19597d(0x19b)],[a214_0x19597d(0x19d),a214_0x19597d(0x19b)],[a214_0x19597d(0x156),a214_0x19597d(0x19b)],[a214_0x19597d(0x18b),a214_0x19597d(0x19b)]]),REMOVED_FLAT_COMMAND_REPLACEMENTS=new Map([[a214_0x19597d(0x1ba),'rabetbase\x20project\x20create\x20<project-name>'],[a214_0x19597d(0x155),'rabetbase\x20run\x20start'],[a214_0x19597d(0x169),a214_0x19597d(0x15c)],[a214_0x19597d(0x19f),a214_0x19597d(0x18f)],[a214_0x19597d(0x190),a214_0x19597d(0x1a5)]]);export function resolveRemovedCommand(_0x5241d5,_0x19f2d4){const _0x5c675f=a214_0x19597d;if(!_0x5241d5)return undefined;const _0x1f556f=REMOVED_COMMAND_REPLACEMENTS[_0x5c675f(0x166)](_0x5241d5+':'+(_0x19f2d4??'')),_0x2b7918=REMOVED_FLAT_COMMAND_REPLACEMENTS[_0x5c675f(0x166)](_0x5241d5),_0x556695=_0x1f556f??_0x2b7918,_0x57241a=REMOVED_COMMAND_HINTS[_0x5c675f(0x166)](_0x5241d5+':'+(_0x19f2d4??''));if(!_0x556695&&!_0x57241a)return undefined;const _0xc5a64c=_0x2b7918?_0x5241d5:_0x19f2d4?_0x5241d5+'\x20'+_0x19f2d4:_0x5241d5;return{'command':_0xc5a64c,'message':_0x5c675f(0x159)+_0xc5a64c+_0x5c675f(0x1a4),'hint':_0x57241a??_0x5c675f(0x149)+_0x556695+_0x5c675f(0x18d)};}export function findDefinition(_0x956d50,_0x4aa0e7){const _0x4bfb61=a214_0x19597d;return definitions[_0x4bfb61(0x166)](_0x956d50+':'+_0x4aa0e7);}export function isKnownService(_0x196e78){const _0x5580c3=a214_0x19597d;return serviceByName[_0x5580c3(0x17d)](_0x196e78);}export function isDeclarativeService(_0xc21f41){const _0x29f386=a214_0x19597d;return serviceGroups[_0x29f386(0x17d)](_0xc21f41)||serviceByName['get'](_0xc21f41)?.[_0x29f386(0x174)]!==undefined;}export function getServiceEntry(_0x4ceb8a){const _0x10c7a8=a214_0x19597d;return serviceByName[_0x10c7a8(0x166)](_0x4ceb8a);}export function getLegacyHandler(_0x3a80a6,_0x4d28c3){return undefined;}export function getAllDefinitions(){const _0x53adda=a214_0x19597d;return Array[_0x53adda(0x14d)](definitions[_0x53adda(0x161)]());}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a215_0x222ab7=a215_0xc9cc;(function(_0x1a8225,_0x5c9e81){const _0x1d65b7=a215_0xc9cc,_0x8159a1=_0x1a8225();while(!![]){try{const _0x5c271b=-parseInt(_0x1d65b7(0xd5))/0x1+-parseInt(_0x1d65b7(0xc7))/0x2*(parseInt(_0x1d65b7(0xd2))/0x3)+-parseInt(_0x1d65b7(0xc6))/0x4+parseInt(_0x1d65b7(0xd3))/0x5+parseInt(_0x1d65b7(0xc9))/0x6*(parseInt(_0x1d65b7(0xd4))/0x7)+-parseInt(_0x1d65b7(0xcf))/0x8+parseInt(_0x1d65b7(0xc8))/0x9;if(_0x5c271b===_0x5c9e81)break;else _0x8159a1['push'](_0x8159a1['shift']());}catch(_0x24b6e1){_0x8159a1['push'](_0x8159a1['shift']());}}}(a215_0x111a,0xbd4b3));import{deleteAppRole}from'../../core/api-client.js';function a215_0x111a(){const _0xe78186=['1045595jgvwNC','252JQKSDI','387215rHoXQM','userCount','appCode','Delete\x20a\x20CUSTOM\x20role\x20(built-in\x20roles\x20rejected);\x20requires\x20--yes','Deleted\x20role\x20','high-risk-write','POST','2983776guHSZx','2gXFqly','25730154rgNTbP','96120YHIIAT','\x20(id=','Role\x20still\x20has\x20','\x20member(s);\x20they\x20will\x20lose\x20this\x20group.','delete','roleName','2124072BSvdnd','num','dev','4412190cgWhQq'];a215_0x111a=function(){return _0xe78186;};return a215_0x111a();}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';const DELETE_PATH='/smartapi/permit/role/delete';function a215_0xc9cc(_0x4e5037,_0x4c8bab){_0x4e5037=_0x4e5037-0xc0;const _0x111a2f=a215_0x111a();let _0xc9ccec=_0x111a2f[_0x4e5037];return _0xc9ccec;}export const roleDelete={'service':'role','command':a215_0x222ab7(0xcd),'description':a215_0x222ab7(0xc2),'risk':a215_0x222ab7(0xc4),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x8222c){const _0x75b7bf=a215_0x222ab7,_0x356650=_0x8222c[_0x75b7bf(0xd0)]('id'),_0x14603e=await getRoleById(_0x8222c[_0x75b7bf(0xc1)],_0x356650);return assertCustomRole(_0x14603e,_0x75b7bf(0xcd)),asDryRunResult({'scope':_0x75b7bf(0xd1),'operation':_0x75b7bf(0xcd),'selector':{'appCode':_0x8222c['appCode'],'roleId':_0x356650,'roleName':_0x14603e[_0x75b7bf(0xce)]},'before':projectRole(_0x14603e),'after':null,'dryRun':!![],'backend':{'method':_0x75b7bf(0xc5),'path':DELETE_PATH},'warnings':_0x14603e[_0x75b7bf(0xc0)]>0x0?[_0x75b7bf(0xcb)+_0x14603e[_0x75b7bf(0xc0)]+_0x75b7bf(0xcc)]:[]},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0x17d4d7){const _0x2e9643=a215_0x222ab7,_0x18e570=_0x17d4d7['num']('id'),_0x55c36b=await getRoleById(_0x17d4d7[_0x2e9643(0xc1)],_0x18e570);return assertCustomRole(_0x55c36b,'delete'),await deleteAppRole(_0x18e570),{'ok':!![],'data':{'scope':'dev','operation':_0x2e9643(0xcd),'selector':{'appCode':_0x17d4d7[_0x2e9643(0xc1)],'roleId':_0x18e570,'roleName':_0x55c36b[_0x2e9643(0xce)]},'before':projectRole(_0x55c36b),'after':null,'dryRun':![],'backend':{'method':_0x2e9643(0xc5),'path':DELETE_PATH},'warnings':[]},'message':_0x2e9643(0xc3)+_0x55c36b['roleName']+_0x2e9643(0xca)+_0x18e570+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a216_0x4f2806=a216_0x47d2;function a216_0x47d2(_0x24f3e8,_0x279075){_0x24f3e8=_0x24f3e8-0xfa;const _0x5c2e6c=a216_0x5c2e();let _0x47d243=_0x5c2e6c[_0x24f3e8];return _0x47d243;}(function(_0x43a7f1,_0x5d3985){const _0x3ea951=a216_0x47d2,_0x468192=_0x43a7f1();while(!![]){try{const _0x428377=parseInt(_0x3ea951(0xfb))/0x1*(parseInt(_0x3ea951(0xfe))/0x2)+parseInt(_0x3ea951(0x104))/0x3+parseInt(_0x3ea951(0x106))/0x4*(-parseInt(_0x3ea951(0xfc))/0x5)+parseInt(_0x3ea951(0x101))/0x6*(parseInt(_0x3ea951(0x10a))/0x7)+parseInt(_0x3ea951(0x10b))/0x8*(-parseInt(_0x3ea951(0x10e))/0x9)+parseInt(_0x3ea951(0xff))/0xa*(-parseInt(_0x3ea951(0x10c))/0xb)+parseInt(_0x3ea951(0x108))/0xc*(parseInt(_0x3ea951(0xfd))/0xd);if(_0x428377===_0x5d3985)break;else _0x468192['push'](_0x468192['shift']());}catch(_0x207b4e){_0x468192['push'](_0x468192['shift']());}}}(a216_0x5c2e,0xae1bc));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getRoleById,projectRole,ROLE_ID_FLAG}from'../../commands/role/shared.js';export const roleDetail={'service':'role','command':a216_0x4f2806(0x105),'description':a216_0x4f2806(0x10d),'risk':a216_0x4f2806(0x107),'flags':[ROLE_ID_FLAG,APPCODE_FLAG_OPTIONAL],async 'execute'(_0x2add67){const _0x21ce38=a216_0x4f2806,_0x568a22=_0x2add67[_0x21ce38(0xfa)]('id'),_0x4da3d2=await getRoleById(_0x2add67['appCode'],_0x568a22);return{'ok':!![],'data':{'scope':_0x21ce38(0x103),'role':projectRole(_0x4da3d2)},'message':_0x21ce38(0x100)+_0x4da3d2[_0x21ce38(0x102)]+'\x20('+_0x4da3d2[_0x21ce38(0x109)]+')'};}};function a216_0x5c2e(){const _0x1f42c4=['5JrEcys','13cEubDu','570302IKyoQi','10tlObWq','Role\x20','1542864VRGqnR','roleName','dev','3214116puBKqy','detail','4943716qzGrjX','read','2507748fuxulA','roleType','21achhVD','20656iikiWX','8349275GKWbwe','Show\x20a\x20single\x20role\x27s\x20detail','2682jmCVNV','num','5wBXmfl'];a216_0x5c2e=function(){return _0x1f42c4;};return a216_0x5c2e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a217_0x3e86(_0x54f396,_0xa54d8e){_0x54f396=_0x54f396-0x1d6;const _0x46f682=a217_0x46f6();let _0x3e86b5=_0x46f682[_0x54f396];return _0x3e86b5;}(function(_0x3f1904,_0xbd65ec){const _0x4a8c6a=a217_0x3e86,_0x572fef=_0x3f1904();while(!![]){try{const _0x54e907=-parseInt(_0x4a8c6a(0x1de))/0x1+parseInt(_0x4a8c6a(0x1dd))/0x2*(parseInt(_0x4a8c6a(0x1d8))/0x3)+-parseInt(_0x4a8c6a(0x1da))/0x4+parseInt(_0x4a8c6a(0x1d7))/0x5*(parseInt(_0x4a8c6a(0x1d9))/0x6)+-parseInt(_0x4a8c6a(0x1e0))/0x7*(parseInt(_0x4a8c6a(0x1dc))/0x8)+parseInt(_0x4a8c6a(0x1d6))/0x9*(parseInt(_0x4a8c6a(0x1df))/0xa)+parseInt(_0x4a8c6a(0x1db))/0xb;if(_0x54e907===_0xbd65ec)break;else _0x572fef['push'](_0x572fef['shift']());}catch(_0x980464){_0x572fef['push'](_0x572fef['shift']());}}}(a217_0x46f6,0x4b31e));import{roleList}from'../../commands/role/list.js';import{roleDetail}from'../../commands/role/detail.js';import{roleUpdate}from'../../commands/role/update.js';import{roleDelete}from'../../commands/role/delete.js';import{roleUserResolve}from'../../commands/role/user-resolve.js';function a217_0x46f6(){const _0x56d1b8=['1108142loDRic','423350RDsXXQ','14180wbYFJV','20699NJCPRL','2682fUduxK','465xbHhkp','3DiWxNW','22494ZkUiPe','2322804RmofRk','3204608EglNFN','824xYwrEc'];a217_0x46f6=function(){return _0x56d1b8;};return a217_0x46f6();}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
|
-
|
|
1
|
+
function a218_0xaea7(_0x29e2a1,_0x3a8427){_0x29e2a1=_0x29e2a1-0x176;const _0x11786f=a218_0x1178();let _0xaea772=_0x11786f[_0x29e2a1];return _0xaea772;}const a218_0x53fb1d=a218_0xaea7;(function(_0x59937f,_0x22a5a9){const _0x3dab44=a218_0xaea7,_0xf0b43a=_0x59937f();while(!![]){try{const _0x132522=-parseInt(_0x3dab44(0x17e))/0x1+parseInt(_0x3dab44(0x194))/0x2*(parseInt(_0x3dab44(0x195))/0x3)+-parseInt(_0x3dab44(0x17a))/0x4*(-parseInt(_0x3dab44(0x18b))/0x5)+parseInt(_0x3dab44(0x19b))/0x6*(-parseInt(_0x3dab44(0x191))/0x7)+parseInt(_0x3dab44(0x18d))/0x8*(-parseInt(_0x3dab44(0x18a))/0x9)+parseInt(_0x3dab44(0x19e))/0xa*(parseInt(_0x3dab44(0x18e))/0xb)+parseInt(_0x3dab44(0x17b))/0xc;if(_0x132522===_0x22a5a9)break;else _0xf0b43a['push'](_0xf0b43a['shift']());}catch(_0x169de4){_0xf0b43a['push'](_0xf0b43a['shift']());}}}(a218_0x1178,0x89415));import{listAppRoles}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{projectRole}from'../../commands/role/shared.js';const ROLE_TYPES=[a218_0x53fb1d(0x19a),'DEV',a218_0x53fb1d(0x176),'CUSTOM'];export const roleList={'service':a218_0x53fb1d(0x185),'command':'list','description':a218_0x53fb1d(0x196),'risk':a218_0x53fb1d(0x17d),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a218_0x53fb1d(0x179),'type':a218_0x53fb1d(0x177),'required':![],'description':a218_0x53fb1d(0x184),'enum':ROLE_TYPES},{'name':a218_0x53fb1d(0x19d),'type':a218_0x53fb1d(0x190),'description':a218_0x53fb1d(0x199),'default':0x1},{'name':a218_0x53fb1d(0x186),'type':'number','description':a218_0x53fb1d(0x18c),'default':0x64}],async 'validate'(_0x187024){const _0x1bd0ad=a218_0x53fb1d,_0x17026a=_0x187024[_0x1bd0ad(0x197)](_0x1bd0ad(0x179))['trim']();if(_0x17026a&&!ROLE_TYPES[_0x1bd0ad(0x192)](_0x17026a[_0x1bd0ad(0x187)]()))throw CliErrors[_0x1bd0ad(0x178)](_0x1bd0ad(0x182)+_0x17026a+'\x22.',_0x1bd0ad(0x189)+ROLE_TYPES[_0x1bd0ad(0x193)](',\x20')+'.');const _0x4a32d1=_0x187024[_0x1bd0ad(0x17f)](_0x1bd0ad(0x19d),0x1),_0x4f6501=_0x187024[_0x1bd0ad(0x17f)](_0x1bd0ad(0x186),0x64);if(_0x4a32d1<0x1)throw CliErrors[_0x1bd0ad(0x178)](_0x1bd0ad(0x18f));if(_0x4f6501<0x1||_0x4f6501>0x64)throw CliErrors['validation'](_0x1bd0ad(0x17c));},async 'execute'(_0x4e0637){const _0x1b6934=a218_0x53fb1d,_0x17318c=_0x4e0637[_0x1b6934(0x17f)](_0x1b6934(0x19d),0x1)||0x1,_0x26050c=_0x4e0637[_0x1b6934(0x17f)](_0x1b6934(0x186),0x64)||0x64,_0x4cbc20=_0x4e0637[_0x1b6934(0x197)](_0x1b6934(0x179))[_0x1b6934(0x188)]()[_0x1b6934(0x187)](),{items:_0x539df6,paging:_0xf008ef}=await listAppRoles(_0x4e0637[_0x1b6934(0x180)],{'currentPage':_0x17318c,'pageSize':_0x26050c}),_0x3ed03f=_0x4cbc20?_0x539df6[_0x1b6934(0x198)](_0x53ced6=>_0x53ced6['roleType']===_0x4cbc20):_0x539df6,_0xda874b=_0x3ed03f[_0x1b6934(0x19c)](projectRole);return{'ok':!![],'data':{'scope':_0x1b6934(0x181),'roles':_0xda874b,'paging':_0xf008ef},'message':'Found\x20'+_0xda874b['length']+_0x1b6934(0x183)};}};function a218_0x1178(){const _0x220a7f=['40WgohgE','Page\x20size\x20(1-100)','8BQfcBA','220FDTwkA','--page\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x201.','number','28cSWUFt','includes','join','75090syjdcf','6NxhMhc','List\x20user\x20groups\x20(roles)\x20for\x20the\x20current\x20app','str','filter','Page\x20index\x20(1-based)','ADMIN','1638072zQagIa','map','page','208660sRDZmY','OWNER','string','validation','type','137116BpZcyz','24052524LEZpTu','--pagesize\x20must\x20be\x20between\x201\x20and\x20100.','read','915920DqioZY','num','appCode','dev','Invalid\x20--type\x20\x22','\x20role(s)','Filter\x20by\x20role\x20type','role','pagesize','toUpperCase','trim','Use\x20one\x20of:\x20','1807686TeAcQH'];a218_0x1178=function(){return _0x220a7f;};return a218_0x1178();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a208_0x55f51d=a208_0x51e0;(function(_0x4c01c2,_0x1dfcdc){const _0x52cd86=a208_0x51e0,_0x3ad327=_0x4c01c2();while(!![]){try{const _0x29d05d=-parseInt(_0x52cd86(0x106))/0x1*(parseInt(_0x52cd86(0x12c))/0x2)+parseInt(_0x52cd86(0x138))/0x3*(parseInt(_0x52cd86(0x13a))/0x4)+-parseInt(_0x52cd86(0x133))/0x5+-parseInt(_0x52cd86(0x135))/0x6+-parseInt(_0x52cd86(0x146))/0x7+-parseInt(_0x52cd86(0x10e))/0x8+parseInt(_0x52cd86(0x14c))/0x9;if(_0x29d05d===_0x1dfcdc)break;else _0x3ad327['push'](_0x3ad327['shift']());}catch(_0x3e81c2){_0x3ad327['push'](_0x3ad327['shift']());}}}(a208_0x8a9f,0x2a144));import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':a208_0x55f51d(0x12a),'required':!![],'description':a208_0x55f51d(0x116)};export const ROLE_REF_FLAG={'name':a208_0x55f51d(0x122),'type':'string','required':!![],'description':a208_0x55f51d(0x13f)};export const USER_REF_FLAG={'name':a208_0x55f51d(0x121),'type':'string','required':!![],'description':'User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId'};export const NAME_FLAG={'name':'name','type':a208_0x55f51d(0x104),'required':!![],'description':a208_0x55f51d(0x151)};function a208_0x51e0(_0x1a711d,_0x2847d4){_0x1a711d=_0x1a711d-0x100;const _0x8a9fd4=a208_0x8a9f();let _0x51e082=_0x8a9fd4[_0x1a711d];return _0x51e082;}function a208_0x8a9f(){const _0x3e79c8=['number','Cannot\x20','72322ufTXPK','roleName','Optional\x20role\x20remark/description','map','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','DEV','ADMIN','1263555gwrNTy','filter','1614504PgHxAK',';\x20no\x20change.','\x22:\x20','661935gxgFoN','POST','4BRSpQS','Pass\x20--role\x20<id|name>.','tenant_code','\x22\x20is\x20ambiguous\x20(ids:\x20','\x20is\x20not\x20a\x20member\x20of\x20role\x20','Role\x20id\x20or\x20exact\x20role\x20name','push','length','includes','expect-user-count','Role\x20name\x20\x22','Disambiguate\x20with\x20--role\x20<id>.','1063496rUDMoU','dryRun','authRequired','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.','No\x20tenant\x20member\x20matches\x20\x22','flag','9036144AasLZN','toLowerCase','Missing\x20role\x20reference.','username','\x22\x20not\x20found\x20in\x20app\x20','Role\x20name','dev','validation','userId','\x20built-in\x20role\x20','string','remark','3oIWxSX','str','Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId','test','trim','totalCount','Missing\x20user\x20reference.','/smartapi/permit/user-role/delete','2160792fffZfd','CUSTOM','appCode','/smartapi/permit/user-role/create','nickname','Pass\x20--user\x20<id|name>.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.','find','Role\x20id\x20(from\x20`role\x20list`)','User\x20','expectUserCount','userCount','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','tenant','Check\x20the\x20nickname/username.\x20','user-add','\x20member(s)\x20but\x20role\x20has\x20','roleType','Multiple\x20tenant\x20members\x20match\x20\x22','user','role','\x20members\x20of\x20the\x20OWNER\x20role.','join','Anti-drift\x20check\x20failed:\x20expected\x20','OWNER','\x20duplicate\x20memberships\x20for\x20user\x20','flagMissing','Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.'];a208_0x8a9f=function(){return _0x3e79c8;};return a208_0x8a9f();}export const USER_NAME_FLAG={'name':'name','type':a208_0x55f51d(0x104),'required':!![],'description':a208_0x55f51d(0x108)};export const REMARK_FLAG={'name':'remark','type':a208_0x55f51d(0x104),'required':![],'description':a208_0x55f51d(0x12e)};export const EXPECT_USER_COUNT_FLAG={'name':a208_0x55f51d(0x143),'type':'number','required':![],'description':a208_0x55f51d(0x130)};export const BUILTIN_ROLE_TYPES=[a208_0x55f51d(0x132),a208_0x55f51d(0x131),a208_0x55f51d(0x126)];export function isBuiltinRole(_0x287b2c){return BUILTIN_ROLE_TYPES['includes'](_0x287b2c);}export function assertCustomRole(_0x2ea38c,_0x42d920){const _0xf31ce3=a208_0x55f51d;if(_0x2ea38c[_0xf31ce3(0x11f)]!==_0xf31ce3(0x10f))throw CliErrors['validation'](_0xf31ce3(0x12b)+_0x42d920+_0xf31ce3(0x103)+_0x2ea38c[_0xf31ce3(0x12d)]+'\x20('+_0x2ea38c[_0xf31ce3(0x11f)]+').',_0xf31ce3(0x149));}export function projectRole(_0x3afb85){const _0x357086=a208_0x55f51d;return{'id':_0x3afb85['id'],'roleName':_0x3afb85[_0x357086(0x12d)],'roleType':_0x3afb85[_0x357086(0x11f)],'remark':_0x3afb85[_0x357086(0x105)],'userCount':_0x3afb85[_0x357086(0x119)],'permitCount':_0x3afb85['permitCount'],'builtin':isBuiltinRole(_0x3afb85['roleType'])};}export async function resolveRoleRef(_0x16dc9e,_0x4c7b1a){const _0x2a25ad=a208_0x55f51d,_0x1ccf76=_0x4c7b1a[_0x2a25ad(0x10a)]();if(!_0x1ccf76)throw CliErrors[_0x2a25ad(0x101)](_0x2a25ad(0x14e),_0x2a25ad(0x13b));if(/^\d+$/[_0x2a25ad(0x109)](_0x1ccf76))return getRoleById(_0x16dc9e,Number(_0x1ccf76));const _0x3f823d=await listAllAppRoles(_0x16dc9e),_0x2da1be=_0x3f823d[_0x2a25ad(0x134)](_0xe46fde=>_0xe46fde[_0x2a25ad(0x12d)]===_0x1ccf76);if(_0x2da1be[_0x2a25ad(0x141)]===0x0)throw CliErrors[_0x2a25ad(0x101)](_0x2a25ad(0x144)+_0x1ccf76+_0x2a25ad(0x150)+_0x16dc9e+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.');if(_0x2da1be[_0x2a25ad(0x141)]>0x1){const _0x4d7036=_0x2da1be[_0x2a25ad(0x12f)](_0x97e586=>_0x97e586['id'])[_0x2a25ad(0x124)](',\x20');throw CliErrors[_0x2a25ad(0x101)](_0x2a25ad(0x144)+_0x1ccf76+_0x2a25ad(0x13d)+_0x4d7036+').',_0x2a25ad(0x145));}return _0x2da1be[0x0];}export async function getRoleById(_0x556b68,_0x2a54ad){const _0x2ccd28=a208_0x55f51d,_0x349ae5=await listAllAppRoles(_0x556b68),_0x1c64eb=_0x349ae5[_0x2ccd28(0x134)](_0x4cf2f6=>_0x4cf2f6['id']===_0x2a54ad&&(!_0x4cf2f6[_0x2ccd28(0x110)]||_0x4cf2f6[_0x2ccd28(0x110)]===_0x556b68));if(_0x1c64eb[_0x2ccd28(0x141)]!==0x1)throw CliErrors[_0x2ccd28(0x101)]('Role\x20id\x20'+_0x2a54ad+'\x20not\x20found\x20in\x20app\x20'+_0x556b68+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x1c64eb[0x0];}async function listAllAppRoles(_0x4a01f9){const _0x2f0e6b=a208_0x55f51d,_0xed393c=0x64,_0x29a118=[];for(let _0x22941d=0x1;;_0x22941d+=0x1){const {items:_0x43a125,paging:_0x541966}=await listAppRoles(_0x4a01f9,{'currentPage':_0x22941d,'pageSize':_0xed393c});_0x29a118[_0x2f0e6b(0x140)](..._0x43a125);if(_0x43a125[_0x2f0e6b(0x141)]<_0xed393c||_0x541966&&_0x29a118[_0x2f0e6b(0x141)]>=_0x541966[_0x2f0e6b(0x10b)])return _0x29a118;}}export async function resolveTenantCode(){const _0xdc4173=a208_0x55f51d,_0x538d4c=await getSessionUserInfo(),_0x50b13c=_0x538d4c?.[_0xdc4173(0x121)]?.[_0xdc4173(0x11b)]?.[_0xdc4173(0x13c)];if(!_0x50b13c)throw CliErrors[_0xdc4173(0x148)](_0xdc4173(0x11a));return _0x50b13c;}function matchMember(_0x33b4f8,_0x1b15aa){const _0x5d453d=a208_0x55f51d,_0x58c414=_0x1b15aa['trim']()[_0x5d453d(0x14d)]();return(_0x33b4f8[_0x5d453d(0x112)]??'')[_0x5d453d(0x14d)]()===_0x58c414||(_0x33b4f8[_0x5d453d(0x14f)]??'')[_0x5d453d(0x14d)]()===_0x58c414;}export async function resolveUserRef(_0x37caca,_0x207163='Pass\x20--user\x20<id>.'){const _0x2b8698=a208_0x55f51d,_0x530058=_0x37caca['trim']();if(!_0x530058)throw CliErrors['validation'](_0x2b8698(0x10c),_0x2b8698(0x113));const _0x46fff8=await resolveTenantCode(),_0x3ae13a=await getTenantMembers(_0x46fff8);if(/^\d+$/[_0x2b8698(0x109)](_0x530058)){const _0x12df93=Number(_0x530058),_0x4a28e9=_0x3ae13a[_0x2b8698(0x115)](_0x17bbc6=>_0x17bbc6[_0x2b8698(0x102)]===_0x12df93);return{'userId':_0x12df93,'username':_0x4a28e9?.['username']??String(_0x12df93),'nickname':_0x4a28e9?.['nickname'],'matchedBy':'id'};}const _0x146b85=_0x3ae13a[_0x2b8698(0x134)](_0xeffa9=>matchMember(_0xeffa9,_0x530058));if(_0x146b85[_0x2b8698(0x141)]===0x0)throw CliErrors[_0x2b8698(0x101)](_0x2b8698(0x14a)+_0x530058+'\x22.',_0x2b8698(0x11c)+_0x207163);if(_0x146b85['length']>0x1){const _0x59a385=_0x146b85[_0x2b8698(0x12f)](_0x2af327=>(_0x2af327[_0x2b8698(0x112)]??_0x2af327['username']??'?')+'('+_0x2af327[_0x2b8698(0x102)]+')')[_0x2b8698(0x124)](',\x20');throw CliErrors['validation'](_0x2b8698(0x120)+_0x530058+_0x2b8698(0x137)+_0x59a385+'.',_0x207163);}const _0x54fb1f=_0x146b85[0x0];return{'userId':_0x54fb1f['userId'],'username':_0x54fb1f[_0x2b8698(0x14f)]??String(_0x54fb1f[_0x2b8698(0x102)]),'nickname':_0x54fb1f['nickname'],'matchedBy':'name'};}export const CREATE_USER_ROLE_PATH=a208_0x55f51d(0x111);export const DELETE_USER_ROLE_PATH=a208_0x55f51d(0x10d);export function computeRoleUserMutation(_0x557291){const _0x1e0705=a208_0x55f51d,{operation:_0x5cd0cc,appCode:_0x532dea,role:_0x37491e,relations:_0x68f5b3,user:_0x356e8e}=_0x557291,_0xcf8388=[...new Set(_0x68f5b3['map'](_0x4f299c=>_0x4f299c['userId']))],_0x1f94ea=[];if(_0x557291[_0x1e0705(0x118)]!==undefined&&_0x557291[_0x1e0705(0x118)]!==_0xcf8388[_0x1e0705(0x141)])throw CliErrors[_0x1e0705(0x101)](_0x1e0705(0x125)+_0x557291[_0x1e0705(0x118)]+_0x1e0705(0x11e)+_0xcf8388[_0x1e0705(0x141)]+'.',_0x1e0705(0x114));const _0x31f5c6=_0xcf8388[_0x1e0705(0x142)](_0x356e8e['userId']),_0x442a7b=_0x68f5b3[_0x1e0705(0x134)](_0x18d232=>_0x18d232[_0x1e0705(0x102)]===_0x356e8e[_0x1e0705(0x102)])[_0x1e0705(0x12f)](_0x398970=>_0x398970['id']),_0xaaf42a=_0x5cd0cc===_0x1e0705(0x11d)?!_0x31f5c6:_0x31f5c6;let _0x4b56a8=_0xcf8388;_0x5cd0cc==='user-add'?_0x31f5c6?_0x1f94ea['push']('User\x20'+_0x356e8e['userId']+'\x20is\x20already\x20a\x20member\x20of\x20role\x20'+_0x37491e[_0x1e0705(0x12d)]+_0x1e0705(0x136)):_0x4b56a8=[..._0xcf8388,_0x356e8e[_0x1e0705(0x102)]]:!_0x31f5c6?_0x1f94ea['push'](_0x1e0705(0x117)+_0x356e8e[_0x1e0705(0x102)]+_0x1e0705(0x13e)+_0x37491e[_0x1e0705(0x12d)]+_0x1e0705(0x136)):(_0x4b56a8=_0xcf8388[_0x1e0705(0x134)](_0x260513=>_0x260513!==_0x356e8e[_0x1e0705(0x102)]),_0x442a7b['length']>0x1&&_0x1f94ea[_0x1e0705(0x140)]('Removed\x20'+_0x442a7b[_0x1e0705(0x141)]+_0x1e0705(0x127)+_0x356e8e['userId']+'.'));const _0x8ea234={'scope':_0x1e0705(0x100),'operation':_0x5cd0cc,'selector':{'appCode':_0x532dea,'roleId':_0x37491e['id'],'roleName':_0x37491e[_0x1e0705(0x12d)],'userId':_0x356e8e[_0x1e0705(0x102)]},'before':{'userIds':_0xcf8388},'after':{'userIds':_0x4b56a8},'dryRun':_0x557291[_0x1e0705(0x147)],'backend':{'method':_0x1e0705(0x139),'path':_0x5cd0cc===_0x1e0705(0x11d)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x1f94ea};return{'mutation':_0x8ea234,'changed':_0xaaf42a,'matchingRelationIds':_0x442a7b};}export async function loadDevRoleRelations(_0x3a45e4,_0x22778a){const _0x119ea7=a208_0x55f51d,_0x1dc0ce=0x64,_0xc6b901=[];for(let _0x4b7833=0x1;;_0x4b7833+=0x1){const {items:_0x7248fe,paging:_0x210c73}=await listDevUserRoleRelations(_0x3a45e4,{'roleId':_0x22778a,'currentPage':_0x4b7833,'pageSize':_0x1dc0ce});_0xc6b901[_0x119ea7(0x140)](..._0x7248fe);if(_0x7248fe[_0x119ea7(0x141)]<_0x1dc0ce||_0x210c73&&_0xc6b901[_0x119ea7(0x141)]>=_0x210c73[_0x119ea7(0x10b)])return _0xc6b901;}}export function readRoleRef(_0x342ff3){const _0x284645=a208_0x55f51d,_0x56653e=_0x342ff3[_0x284645(0x107)](_0x284645(0x122))['trim']();if(!_0x56653e)throw CliErrors[_0x284645(0x128)](_0x284645(0x122),'Pass\x20--role\x20<id|name>.');return _0x56653e;}export async function prepareUserMutation(_0x184691,_0x540843,_0x5af6f0){const _0x376277=a208_0x55f51d,_0x1ae81e=readRoleRef(_0x184691),_0x1f2b3b=_0x184691[_0x376277(0x107)](_0x376277(0x121))['trim']();if(!_0x1f2b3b)throw CliErrors[_0x376277(0x128)](_0x376277(0x121),_0x376277(0x113));const _0x141aa4=_0x184691[_0x376277(0x14b)](_0x376277(0x143)),_0x31f934=_0x141aa4===undefined||_0x141aa4===null?undefined:Number(_0x141aa4),_0x468ac5=await resolveRoleRef(_0x184691[_0x376277(0x110)],_0x1ae81e);if(_0x468ac5[_0x376277(0x11f)]===_0x376277(0x126))throw CliErrors[_0x376277(0x101)](_0x376277(0x12b)+_0x540843+_0x376277(0x123),_0x376277(0x129));const _0x8d786e=await resolveUserRef(_0x1f2b3b),_0x239724=await loadDevRoleRelations(_0x184691[_0x376277(0x110)],_0x468ac5['id']);return{...computeRoleUserMutation({'operation':_0x540843,'appCode':_0x184691[_0x376277(0x110)],'role':_0x468ac5,'relations':_0x239724,'user':{'userId':_0x8d786e[_0x376277(0x102)],'username':_0x8d786e[_0x376277(0x14f)],'nickname':_0x8d786e[_0x376277(0x112)]},'dryRun':_0x5af6f0,..._0x31f934!==undefined?{'expectUserCount':_0x31f934}:{}}),'role':_0x468ac5,'user':_0x8d786e};}
|
|
1
|
+
const a219_0x23de44=a219_0x3061;(function(_0x3eeae8,_0x238e84){const _0x3bd047=a219_0x3061,_0x5ba0a0=_0x3eeae8();while(!![]){try{const _0x5381d2=parseInt(_0x3bd047(0x15b))/0x1+parseInt(_0x3bd047(0x15d))/0x2+parseInt(_0x3bd047(0x139))/0x3+parseInt(_0x3bd047(0x133))/0x4+parseInt(_0x3bd047(0x142))/0x5+parseInt(_0x3bd047(0x160))/0x6+-parseInt(_0x3bd047(0x13c))/0x7;if(_0x5381d2===_0x238e84)break;else _0x5ba0a0['push'](_0x5ba0a0['shift']());}catch(_0x3e14b6){_0x5ba0a0['push'](_0x5ba0a0['shift']());}}}(a219_0x311c,0xcc25a));function a219_0x3061(_0x2c92f,_0x3fb5eb){_0x2c92f=_0x2c92f-0x121;const _0x311cb0=a219_0x311c();let _0x3061db=_0x311cb0[_0x2c92f];return _0x3061db;}import{getTenantMembers,listDevUserRoleRelations,listAppRoles}from'../../core/api-client.js';import{getSessionUserInfo}from'../../auth/get-session-user.js';import{CliErrors}from'../../errors.js';export const ROLE_ID_FLAG={'name':'id','type':'number','required':!![],'description':a219_0x23de44(0x169)};export const ROLE_REF_FLAG={'name':a219_0x23de44(0x141),'type':'string','required':!![],'description':'Role\x20id\x20or\x20exact\x20role\x20name'};export const USER_REF_FLAG={'name':a219_0x23de44(0x15f),'type':a219_0x23de44(0x126),'required':!![],'description':a219_0x23de44(0x168)};export const NAME_FLAG={'name':a219_0x23de44(0x162),'type':a219_0x23de44(0x126),'required':!![],'description':'Role\x20name'};export const USER_NAME_FLAG={'name':a219_0x23de44(0x162),'type':a219_0x23de44(0x126),'required':!![],'description':'Nickname\x20or\x20username\x20to\x20resolve\x20to\x20a\x20userId'};export const REMARK_FLAG={'name':a219_0x23de44(0x136),'type':a219_0x23de44(0x126),'required':![],'description':a219_0x23de44(0x159)};export const EXPECT_USER_COUNT_FLAG={'name':'expect-user-count','type':a219_0x23de44(0x12e),'required':![],'description':a219_0x23de44(0x13d)};export const BUILTIN_ROLE_TYPES=[a219_0x23de44(0x128),a219_0x23de44(0x135),a219_0x23de44(0x13e)];export function isBuiltinRole(_0xb68337){const _0x59e06f=a219_0x23de44;return BUILTIN_ROLE_TYPES[_0x59e06f(0x146)](_0xb68337);}export function assertCustomRole(_0x53c338,_0x2197ee){const _0x1b3df9=a219_0x23de44;if(_0x53c338[_0x1b3df9(0x161)]!==_0x1b3df9(0x16d))throw CliErrors['validation'](_0x1b3df9(0x150)+_0x2197ee+'\x20built-in\x20role\x20'+_0x53c338['roleName']+'\x20('+_0x53c338['roleType']+').','Only\x20CUSTOM\x20roles\x20can\x20be\x20modified\x20or\x20deleted.');}export function projectRole(_0x332cc0){const _0x4b48b8=a219_0x23de44;return{'id':_0x332cc0['id'],'roleName':_0x332cc0[_0x4b48b8(0x149)],'roleType':_0x332cc0[_0x4b48b8(0x161)],'remark':_0x332cc0[_0x4b48b8(0x136)],'userCount':_0x332cc0[_0x4b48b8(0x12f)],'permitCount':_0x332cc0['permitCount'],'builtin':isBuiltinRole(_0x332cc0['roleType'])};}export async function resolveRoleRef(_0x27bacf,_0x4ef5e4){const _0x29d7d6=a219_0x23de44,_0x23cc6f=_0x4ef5e4[_0x29d7d6(0x16b)]();if(!_0x23cc6f)throw CliErrors[_0x29d7d6(0x143)](_0x29d7d6(0x14c),_0x29d7d6(0x157));if(/^\d+$/['test'](_0x23cc6f))return getRoleById(_0x27bacf,Number(_0x23cc6f));const _0x575722=await listAllAppRoles(_0x27bacf),_0x53b7e7=_0x575722[_0x29d7d6(0x163)](_0x36db26=>_0x36db26[_0x29d7d6(0x149)]===_0x23cc6f);if(_0x53b7e7['length']===0x0)throw CliErrors[_0x29d7d6(0x143)]('Role\x20name\x20\x22'+_0x23cc6f+_0x29d7d6(0x158)+_0x27bacf+'.',_0x29d7d6(0x166));if(_0x53b7e7['length']>0x1){const _0xce692f=_0x53b7e7[_0x29d7d6(0x167)](_0x548b22=>_0x548b22['id'])[_0x29d7d6(0x165)](',\x20');throw CliErrors['validation'](_0x29d7d6(0x154)+_0x23cc6f+_0x29d7d6(0x153)+_0xce692f+').',_0x29d7d6(0x124));}return _0x53b7e7[0x0];}export async function getRoleById(_0x1e260e,_0x4f94e2){const _0x237e0a=a219_0x23de44,_0x50754a=await listAllAppRoles(_0x1e260e),_0x2b7920=_0x50754a[_0x237e0a(0x163)](_0x413970=>_0x413970['id']===_0x4f94e2&&(!_0x413970[_0x237e0a(0x164)]||_0x413970['appCode']===_0x1e260e));if(_0x2b7920['length']!==0x1)throw CliErrors[_0x237e0a(0x143)](_0x237e0a(0x147)+_0x4f94e2+_0x237e0a(0x123)+_0x1e260e+'.','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles.');return _0x2b7920[0x0];}async function listAllAppRoles(_0x509dae){const _0x15c738=a219_0x23de44,_0x6e6316=0x64,_0x3aac8b=[];for(let _0x1c94bd=0x1;;_0x1c94bd+=0x1){const {items:_0x111157,paging:_0x17191f}=await listAppRoles(_0x509dae,{'currentPage':_0x1c94bd,'pageSize':_0x6e6316});_0x3aac8b[_0x15c738(0x13a)](..._0x111157);if(_0x111157[_0x15c738(0x129)]<_0x6e6316||_0x17191f&&_0x3aac8b[_0x15c738(0x129)]>=_0x17191f[_0x15c738(0x145)])return _0x3aac8b;}}export async function resolveTenantCode(){const _0x5bed9f=a219_0x23de44,_0x19420f=await getSessionUserInfo(),_0x3fef2b=_0x19420f?.[_0x5bed9f(0x15f)]?.[_0x5bed9f(0x121)]?.[_0x5bed9f(0x14d)];if(!_0x3fef2b)throw CliErrors[_0x5bed9f(0x132)](_0x5bed9f(0x13f));return _0x3fef2b;}function a219_0x311c(){const _0x366237=['\x20duplicate\x20memberships\x20for\x20user\x20','2523120rBDFCx','push','Anti-drift\x20check\x20failed:\x20expected\x20','37843526ydYoDN','Anti-drift\x20guard:\x20fail\x20if\x20the\x20role\x27s\x20current\x20member\x20count\x20differs','OWNER','Cannot\x20resolve\x20current\x20tenant.\x20Run\x20`rabetbase\x20auth\x20login`\x20first.','toLowerCase','role','4451835zhkmyz','validation','\x20members\x20of\x20the\x20OWNER\x20role.','totalCount','includes','Role\x20id\x20','POST','roleName','test','username','Missing\x20role\x20reference.','tenant_code','flagMissing','Removed\x20','Cannot\x20','Pass\x20--user\x20<id|name>.','nickname','\x22\x20is\x20ambiguous\x20(ids:\x20','Role\x20name\x20\x22',';\x20no\x20change.','dev','Pass\x20--role\x20<id|name>.','\x22\x20not\x20found\x20in\x20app\x20','Optional\x20role\x20remark/description','User\x20','1225032HMqXTW','Multiple\x20tenant\x20members\x20match\x20\x22','2782076shqIGc','Missing\x20user\x20reference.','user','7285104Qouhyc','roleType','name','filter','appCode','join','Run\x20`role\x20list`\x20to\x20see\x20available\x20roles,\x20or\x20pass\x20--role\x20<id>.','map','User\x20id,\x20username,\x20or\x20nickname\x20to\x20resolve\x20to\x20a\x20userId','Role\x20id\x20(from\x20`role\x20list`)','Check\x20the\x20nickname/username.\x20','trim','Pass\x20--user\x20<id>.','CUSTOM','tenant','/smartapi/permit/user-role/delete','\x20not\x20found\x20in\x20app\x20','Disambiguate\x20with\x20--role\x20<id>.','\x20member(s)\x20but\x20role\x20has\x20','string','userId','ADMIN','length','user-add','dryRun','expectUserCount','find','number','userCount','\x20is\x20already\x20a\x20member\x20of\x20role\x20','flag','authRequired','2722972yZyYRk','\x22:\x20','DEV','remark','/smartapi/permit/user-role/create'];a219_0x311c=function(){return _0x366237;};return a219_0x311c();}function matchMember(_0x3b0b6e,_0x4ee46c){const _0x45ccf7=a219_0x23de44,_0x9b737=_0x4ee46c[_0x45ccf7(0x16b)]()[_0x45ccf7(0x140)]();return(_0x3b0b6e[_0x45ccf7(0x152)]??'')[_0x45ccf7(0x140)]()===_0x9b737||(_0x3b0b6e[_0x45ccf7(0x14b)]??'')[_0x45ccf7(0x140)]()===_0x9b737;}export async function resolveUserRef(_0x236ae4,_0x5e7095=a219_0x23de44(0x16c)){const _0x402ffd=a219_0x23de44,_0x45319c=_0x236ae4['trim']();if(!_0x45319c)throw CliErrors[_0x402ffd(0x143)](_0x402ffd(0x15e),'Pass\x20--user\x20<id|name>.');const _0x2057e9=await resolveTenantCode(),_0x158ffd=await getTenantMembers(_0x2057e9);if(/^\d+$/[_0x402ffd(0x14a)](_0x45319c)){const _0x35ddb9=Number(_0x45319c),_0x229d13=_0x158ffd[_0x402ffd(0x12d)](_0x2fd325=>_0x2fd325[_0x402ffd(0x127)]===_0x35ddb9);return{'userId':_0x35ddb9,'username':_0x229d13?.[_0x402ffd(0x14b)]??String(_0x35ddb9),'nickname':_0x229d13?.['nickname'],'matchedBy':'id'};}const _0x37c7de=_0x158ffd[_0x402ffd(0x163)](_0x43a8cb=>matchMember(_0x43a8cb,_0x45319c));if(_0x37c7de[_0x402ffd(0x129)]===0x0)throw CliErrors['validation']('No\x20tenant\x20member\x20matches\x20\x22'+_0x45319c+'\x22.',_0x402ffd(0x16a)+_0x5e7095);if(_0x37c7de[_0x402ffd(0x129)]>0x1){const _0x56e863=_0x37c7de['map'](_0x404f1e=>(_0x404f1e[_0x402ffd(0x152)]??_0x404f1e[_0x402ffd(0x14b)]??'?')+'('+_0x404f1e[_0x402ffd(0x127)]+')')[_0x402ffd(0x165)](',\x20');throw CliErrors['validation'](_0x402ffd(0x15c)+_0x45319c+_0x402ffd(0x134)+_0x56e863+'.',_0x5e7095);}const _0x3f4967=_0x37c7de[0x0];return{'userId':_0x3f4967['userId'],'username':_0x3f4967[_0x402ffd(0x14b)]??String(_0x3f4967['userId']),'nickname':_0x3f4967['nickname'],'matchedBy':_0x402ffd(0x162)};}export const CREATE_USER_ROLE_PATH=a219_0x23de44(0x137);export const DELETE_USER_ROLE_PATH=a219_0x23de44(0x122);export function computeRoleUserMutation(_0x9bf53f){const _0x51947b=a219_0x23de44,{operation:_0x236748,appCode:_0x14c3b7,role:_0xf1f20a,relations:_0x191741,user:_0x4d09b8}=_0x9bf53f,_0x1d52ff=[...new Set(_0x191741[_0x51947b(0x167)](_0x41c9c4=>_0x41c9c4[_0x51947b(0x127)]))],_0x13f4d1=[];if(_0x9bf53f['expectUserCount']!==undefined&&_0x9bf53f[_0x51947b(0x12c)]!==_0x1d52ff['length'])throw CliErrors[_0x51947b(0x143)](_0x51947b(0x13b)+_0x9bf53f[_0x51947b(0x12c)]+_0x51947b(0x125)+_0x1d52ff[_0x51947b(0x129)]+'.','Re-run\x20`role\x20detail`\x20/\x20`role\x20list`\x20and\x20retry\x20with\x20the\x20current\x20count.');const _0x19d0ba=_0x1d52ff[_0x51947b(0x146)](_0x4d09b8[_0x51947b(0x127)]),_0x2457c1=_0x191741[_0x51947b(0x163)](_0xacceb6=>_0xacceb6[_0x51947b(0x127)]===_0x4d09b8[_0x51947b(0x127)])[_0x51947b(0x167)](_0xbca863=>_0xbca863['id']),_0x4c7161=_0x236748==='user-add'?!_0x19d0ba:_0x19d0ba;let _0x422416=_0x1d52ff;_0x236748===_0x51947b(0x12a)?_0x19d0ba?_0x13f4d1['push'](_0x51947b(0x15a)+_0x4d09b8['userId']+_0x51947b(0x130)+_0xf1f20a[_0x51947b(0x149)]+_0x51947b(0x155)):_0x422416=[..._0x1d52ff,_0x4d09b8[_0x51947b(0x127)]]:!_0x19d0ba?_0x13f4d1[_0x51947b(0x13a)]('User\x20'+_0x4d09b8[_0x51947b(0x127)]+'\x20is\x20not\x20a\x20member\x20of\x20role\x20'+_0xf1f20a[_0x51947b(0x149)]+_0x51947b(0x155)):(_0x422416=_0x1d52ff['filter'](_0x2d8585=>_0x2d8585!==_0x4d09b8['userId']),_0x2457c1[_0x51947b(0x129)]>0x1&&_0x13f4d1[_0x51947b(0x13a)](_0x51947b(0x14f)+_0x2457c1[_0x51947b(0x129)]+_0x51947b(0x138)+_0x4d09b8[_0x51947b(0x127)]+'.'));const _0x28ee75={'scope':_0x51947b(0x156),'operation':_0x236748,'selector':{'appCode':_0x14c3b7,'roleId':_0xf1f20a['id'],'roleName':_0xf1f20a[_0x51947b(0x149)],'userId':_0x4d09b8['userId']},'before':{'userIds':_0x1d52ff},'after':{'userIds':_0x422416},'dryRun':_0x9bf53f[_0x51947b(0x12b)],'backend':{'method':_0x51947b(0x148),'path':_0x236748===_0x51947b(0x12a)?CREATE_USER_ROLE_PATH:DELETE_USER_ROLE_PATH},'warnings':_0x13f4d1};return{'mutation':_0x28ee75,'changed':_0x4c7161,'matchingRelationIds':_0x2457c1};}export async function loadDevRoleRelations(_0x4dcd27,_0x53c012){const _0x157d7b=a219_0x23de44,_0x5e295e=0x64,_0x400d2c=[];for(let _0x44f3d2=0x1;;_0x44f3d2+=0x1){const {items:_0x5f1b49,paging:_0x290d25}=await listDevUserRoleRelations(_0x4dcd27,{'roleId':_0x53c012,'currentPage':_0x44f3d2,'pageSize':_0x5e295e});_0x400d2c[_0x157d7b(0x13a)](..._0x5f1b49);if(_0x5f1b49[_0x157d7b(0x129)]<_0x5e295e||_0x290d25&&_0x400d2c[_0x157d7b(0x129)]>=_0x290d25[_0x157d7b(0x145)])return _0x400d2c;}}export function readRoleRef(_0x210838){const _0x5c3e31=a219_0x23de44,_0x1833b2=_0x210838['str'](_0x5c3e31(0x141))[_0x5c3e31(0x16b)]();if(!_0x1833b2)throw CliErrors[_0x5c3e31(0x14e)](_0x5c3e31(0x141),'Pass\x20--role\x20<id|name>.');return _0x1833b2;}export async function prepareUserMutation(_0x15a82f,_0x166621,_0x327a4b){const _0x105095=a219_0x23de44,_0xe4e54a=readRoleRef(_0x15a82f),_0x2de4d5=_0x15a82f['str']('user')[_0x105095(0x16b)]();if(!_0x2de4d5)throw CliErrors[_0x105095(0x14e)]('user',_0x105095(0x151));const _0x34d0a4=_0x15a82f[_0x105095(0x131)]('expect-user-count'),_0x15e23d=_0x34d0a4===undefined||_0x34d0a4===null?undefined:Number(_0x34d0a4),_0xfbb5b3=await resolveRoleRef(_0x15a82f[_0x105095(0x164)],_0xe4e54a);if(_0xfbb5b3[_0x105095(0x161)]==='OWNER')throw CliErrors['validation'](_0x105095(0x150)+_0x166621+_0x105095(0x144),'Use\x20the\x20platform\x20ownership-transfer\x20workflow\x20to\x20change\x20the\x20application\x20owner.');const _0x48eee9=await resolveUserRef(_0x2de4d5),_0x393b57=await loadDevRoleRelations(_0x15a82f['appCode'],_0xfbb5b3['id']);return{...computeRoleUserMutation({'operation':_0x166621,'appCode':_0x15a82f[_0x105095(0x164)],'role':_0xfbb5b3,'relations':_0x393b57,'user':{'userId':_0x48eee9['userId'],'username':_0x48eee9['username'],'nickname':_0x48eee9[_0x105095(0x152)]},'dryRun':_0x327a4b,..._0x15e23d!==undefined?{'expectUserCount':_0x15e23d}:{}}),'role':_0xfbb5b3,'user':_0x48eee9};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a220_0x407dd7=a220_0x1740;(function(_0x4fdc12,_0x3e680e){const _0x549587=a220_0x1740,_0x5f2e14=_0x4fdc12();while(!![]){try{const _0x45cafe=parseInt(_0x549587(0xad))/0x1+parseInt(_0x549587(0xa1))/0x2*(-parseInt(_0x549587(0xaa))/0x3)+-parseInt(_0x549587(0xa0))/0x4+parseInt(_0x549587(0xa8))/0x5+-parseInt(_0x549587(0xb0))/0x6+-parseInt(_0x549587(0xb5))/0x7*(parseInt(_0x549587(0xb1))/0x8)+parseInt(_0x549587(0xaf))/0x9;if(_0x45cafe===_0x3e680e)break;else _0x5f2e14['push'](_0x5f2e14['shift']());}catch(_0x530567){_0x5f2e14['push'](_0x5f2e14['shift']());}}}(a220_0x1718,0x1b271));import{updateAppRole}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a220_0x1740(_0x5050a3,_0x493851){_0x5050a3=_0x5050a3-0xa0;const _0x17180b=a220_0x1718();let _0x1740b5=_0x17180b[_0x5050a3];return _0x1740b5;}import{assertCustomRole,getRoleById,projectRole,REMARK_FLAG,ROLE_ID_FLAG}from'../../commands/role/shared.js';const UPDATE_PATH='/smartapi/permit/role/update';function readPatch(_0x26e56f){const _0xe9c750=a220_0x1740,_0x3e084e=_0x26e56f[_0xe9c750(0xba)](_0xe9c750(0xb2)),_0x5b5d69=_0x26e56f['flag'](_0xe9c750(0xb3)),_0x2cdc5d={};if(_0x3e084e!==undefined&&_0x3e084e!==null){const _0x593a22=String(_0x3e084e)[_0xe9c750(0xab)]();if(!_0x593a22)throw CliErrors[_0xe9c750(0xb8)](_0xe9c750(0xac));if(_0x593a22[_0xe9c750(0xa4)]>0x40)throw CliErrors[_0xe9c750(0xb8)](_0xe9c750(0xa2));_0x2cdc5d['roleName']=_0x593a22;}_0x5b5d69!==undefined&&_0x5b5d69!==null&&(_0x2cdc5d[_0xe9c750(0xb3)]=String(_0x5b5d69));if(_0x2cdc5d[_0xe9c750(0xb7)]===undefined&&_0x2cdc5d['remark']===undefined)throw CliErrors[_0xe9c750(0xb8)]('Nothing\x20to\x20update.','Pass\x20at\x20least\x20one\x20of\x20--name\x20/\x20--remark.');return _0x2cdc5d;}function a220_0x1718(){const _0x39acdd=['length','Update\x20a\x20CUSTOM\x20role\x27s\x20name/remark\x20(built-in\x20roles\x20rejected)','POST','Updated\x20role\x20','258420VISkAu','num','68871IeYREy','trim','--name\x20cannot\x20be\x20empty.','147813CRJjHe','dev','3940029bXEcdr','830472wqXcTj','32WjJdrQ','name','remark','\x20(id=','321139jvctTe','update','roleName','validation','role','flag','724736CAyDPC','2bcDIUS','Role\x20name\x20cannot\x20exceed\x2064\x20characters.','appCode'];a220_0x1718=function(){return _0x39acdd;};return a220_0x1718();}export const roleUpdate={'service':a220_0x407dd7(0xb9),'command':'update','description':a220_0x407dd7(0xa5),'risk':'write','flags':[ROLE_ID_FLAG,{...REMARK_FLAG},{'name':a220_0x407dd7(0xb2),'type':'string','required':![],'description':'New\x20role\x20name'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x350763){readPatch(_0x350763);},async 'dryRun'(_0xc1d7cd){const _0x389c25=a220_0x407dd7,_0x465154=_0xc1d7cd[_0x389c25(0xa9)]('id'),_0x26a4a7=readPatch(_0xc1d7cd),_0x2ce6ca=await getRoleById(_0xc1d7cd[_0x389c25(0xa3)],_0x465154);return assertCustomRole(_0x2ce6ca,'update'),asDryRunResult({'scope':_0x389c25(0xae),'operation':_0x389c25(0xb6),'selector':{'appCode':_0xc1d7cd[_0x389c25(0xa3)],'roleId':_0x465154,'roleName':_0x2ce6ca['roleName']},'before':projectRole(_0x2ce6ca),'after':projectRole({..._0x2ce6ca,..._0x26a4a7[_0x389c25(0xb7)]!==undefined?{'roleName':_0x26a4a7[_0x389c25(0xb7)]}:{},..._0x26a4a7[_0x389c25(0xb3)]!==undefined?{'remark':_0x26a4a7['remark']}:{}}),'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},{'method':_0x389c25(0xa6),'url':UPDATE_PATH});},async 'execute'(_0x32d770){const _0x982df6=a220_0x407dd7,_0xcc7393=_0x32d770[_0x982df6(0xa9)]('id'),_0x373817=readPatch(_0x32d770),_0x21e550=await getRoleById(_0x32d770[_0x982df6(0xa3)],_0xcc7393);assertCustomRole(_0x21e550,_0x982df6(0xb6)),await updateAppRole({'id':_0xcc7393,'appCode':_0x32d770[_0x982df6(0xa3)],..._0x373817['roleName']!==undefined?{'roleName':_0x373817[_0x982df6(0xb7)]}:{},..._0x373817[_0x982df6(0xb3)]!==undefined?{'remark':_0x373817['remark']}:{}});const _0x79efb1=await getRoleById(_0x32d770[_0x982df6(0xa3)],_0xcc7393);return{'ok':!![],'data':{'scope':_0x982df6(0xae),'operation':_0x982df6(0xb6),'selector':{'appCode':_0x32d770['appCode'],'roleId':_0xcc7393,'roleName':_0x79efb1[_0x982df6(0xb7)]},'before':projectRole(_0x21e550),'after':projectRole(_0x79efb1),'dryRun':![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':[]},'message':_0x982df6(0xa7)+_0x79efb1[_0x982df6(0xb7)]+_0x982df6(0xb4)+_0xcc7393+')'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a221_0x4f1c3c=a221_0x54e7;(function(_0x128182,_0x49035f){const _0x22cbca=a221_0x54e7,_0x232d82=_0x128182();while(!![]){try{const _0x113ed=-parseInt(_0x22cbca(0x203))/0x1*(-parseInt(_0x22cbca(0x1fa))/0x2)+-parseInt(_0x22cbca(0x208))/0x3*(parseInt(_0x22cbca(0x1f1))/0x4)+-parseInt(_0x22cbca(0x1f9))/0x5*(parseInt(_0x22cbca(0x1f5))/0x6)+parseInt(_0x22cbca(0x1f0))/0x7*(-parseInt(_0x22cbca(0x206))/0x8)+parseInt(_0x22cbca(0x1fd))/0x9+-parseInt(_0x22cbca(0x1fc))/0xa*(-parseInt(_0x22cbca(0x1ff))/0xb)+-parseInt(_0x22cbca(0x1f4))/0xc*(-parseInt(_0x22cbca(0x1fe))/0xd);if(_0x113ed===_0x49035f)break;else _0x232d82['push'](_0x232d82['shift']());}catch(_0x43319b){_0x232d82['push'](_0x232d82['shift']());}}}(a221_0x4d77,0xdad0e));import{createDevUserRole}from'../../core/api-client.js';import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a221_0x4d77(){const _0x235fd1=['8141BhcbfV','18532VuVGxa','high-risk-write','roleId','240OrKuDx','1801794oskxUv','user-add','\x20to\x20role\x20','\x20already\x20in\x20role\x20','15NYznZQ','2FIeyBh','POST','10VByRyH','10078695zaxBNu','731874jOfXYO','18583543ALiAup','roleName','username','Added\x20user\x20','57429XCumqn','Add\x20a\x20user\x20to\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','appCode','8824vRQUbT','No\x20change:\x20user\x20','591QhsUbS','userId','selector'];a221_0x4d77=function(){return _0x235fd1;};return a221_0x4d77();}import{asDryRunResult}from'../../commands/common/dry-run.js';function a221_0x54e7(_0x6a76c3,_0x5baebe){_0x6a76c3=_0x6a76c3-0x1f0;const _0x4d77cd=a221_0x4d77();let _0x54e7d9=_0x4d77cd[_0x6a76c3];return _0x54e7d9;}import{EXPECT_USER_COUNT_FLAG,CREATE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';export const roleUserAdd={'service':'role','command':a221_0x4f1c3c(0x1f6),'description':a221_0x4f1c3c(0x204),'risk':a221_0x4f1c3c(0x1f2),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x1026b1){const _0x5364a9=a221_0x4f1c3c,{mutation:_0x5a6a2f}=await prepareUserMutation(_0x1026b1,'user-add',!![]);return asDryRunResult(_0x5a6a2f,{'method':_0x5364a9(0x1fb),'url':CREATE_USER_ROLE_PATH});},async 'execute'(_0x429358){const _0x2358b6=a221_0x4f1c3c,{mutation:_0x63118,changed:_0x45799b,role:_0x3a67db,user:_0x2e1de7}=await prepareUserMutation(_0x429358,_0x2358b6(0x1f6),![]);return _0x45799b&&await createDevUserRole({'appCode':_0x429358[_0x2358b6(0x205)],'userId':_0x2e1de7[_0x2358b6(0x209)],'username':_0x2e1de7[_0x2358b6(0x201)],'roleType':_0x3a67db['roleType'],'roleId':_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x1f3)]}),{'ok':!![],'data':_0x63118,'message':_0x45799b?_0x2358b6(0x202)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x209)]+_0x2358b6(0x1f7)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x200)]:_0x2358b6(0x207)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x209)]+_0x2358b6(0x1f8)+_0x63118[_0x2358b6(0x20a)][_0x2358b6(0x200)]};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a222_0x4c00a1=a222_0x3885;(function(_0x219a6b,_0x490c42){const _0x1649c1=a222_0x3885,_0xd9fb20=_0x219a6b();while(!![]){try{const _0x121812=-parseInt(_0x1649c1(0x116))/0x1*(-parseInt(_0x1649c1(0x114))/0x2)+-parseInt(_0x1649c1(0x115))/0x3*(-parseInt(_0x1649c1(0x105))/0x4)+parseInt(_0x1649c1(0x108))/0x5*(parseInt(_0x1649c1(0x10f))/0x6)+parseInt(_0x1649c1(0x10c))/0x7*(-parseInt(_0x1649c1(0x10b))/0x8)+-parseInt(_0x1649c1(0x106))/0x9*(-parseInt(_0x1649c1(0x10a))/0xa)+parseInt(_0x1649c1(0x104))/0xb*(-parseInt(_0x1649c1(0x117))/0xc)+parseInt(_0x1649c1(0x119))/0xd*(-parseInt(_0x1649c1(0x11a))/0xe);if(_0x121812===_0x490c42)break;else _0xd9fb20['push'](_0xd9fb20['shift']());}catch(_0x1eab5b){_0xd9fb20['push'](_0xd9fb20['shift']());}}}(a222_0x38b3,0x41ec6));import{deleteDevUserRole}from'../../core/api-client.js';function a222_0x38b3(){const _0x226fb5=['selector','1391GLLFIS','89698wtmAfB','\x20not\x20in\x20role\x20','roleName','1309bUbAJm','2664JiYQIs','171KxqXBS','high-risk-write','25vPyxXC','No\x20change:\x20user\x20','201490XJdCzc','296KgMLlD','98203JQjvch','user-remove','role','601626KEILCN','\x20from\x20role\x20','userId','Remove\x20a\x20user\x20from\x20a\x20role\x20(OWNER\x20rejected);\x20requires\x20--yes','POST','88558MipiJp','2073voCjBU','6gNgARd','13656LVWNMz'];a222_0x38b3=function(){return _0x226fb5;};return a222_0x38b3();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{EXPECT_USER_COUNT_FLAG,DELETE_USER_ROLE_PATH,prepareUserMutation,ROLE_REF_FLAG,USER_REF_FLAG}from'../../commands/role/shared.js';function a222_0x3885(_0x50927b,_0x20953e){_0x50927b=_0x50927b-0x102;const _0x38b343=a222_0x38b3();let _0x388538=_0x38b343[_0x50927b];return _0x388538;}export const roleUserRemove={'service':a222_0x4c00a1(0x10e),'command':a222_0x4c00a1(0x10d),'description':a222_0x4c00a1(0x112),'risk':a222_0x4c00a1(0x107),'flags':[ROLE_REF_FLAG,USER_REF_FLAG,EXPECT_USER_COUNT_FLAG,APPCODE_FLAG_OPTIONAL],async 'dryRun'(_0x495c85){const _0x35a130=a222_0x4c00a1,{mutation:_0x36fe16}=await prepareUserMutation(_0x495c85,_0x35a130(0x10d),!![]);return asDryRunResult(_0x36fe16,{'method':_0x35a130(0x113),'url':DELETE_USER_ROLE_PATH});},async 'execute'(_0x18f600){const _0x56cf6d=a222_0x4c00a1,{matchingRelationIds:_0x2d47de,mutation:_0xa5e897,changed:_0x12959f}=await prepareUserMutation(_0x18f600,_0x56cf6d(0x10d),![]);if(_0x12959f)for(const _0x2dee37 of _0x2d47de){await deleteDevUserRole(_0x2dee37);}return{'ok':!![],'data':_0xa5e897,'message':_0x12959f?'Removed\x20user\x20'+_0xa5e897[_0x56cf6d(0x118)][_0x56cf6d(0x111)]+_0x56cf6d(0x110)+_0xa5e897[_0x56cf6d(0x118)][_0x56cf6d(0x103)]:_0x56cf6d(0x109)+_0xa5e897['selector'][_0x56cf6d(0x111)]+_0x56cf6d(0x102)+_0xa5e897[_0x56cf6d(0x118)]['roleName']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a223_0x227b(){const _0x227ed1=['Pass\x20--name\x20<nickname|username>.','453FJgPgJ','nickname','Resolved\x20\x22','str','1697MyDebJ','name','427PPBMjK','95168KjFsih','flagMissing','5153814flHgFv','10032651WEpnES','read','1285185vMRJzR','16040SGbVJO','21411450jgRLVP','Resolve\x20a\x20nickname/username\x20to\x20a\x20userId\x20(tenant\x20member\x20directory)','userId','878PXOJEx','Select\x20a\x20listed\x20userId,\x20then\x20pass\x20it\x20to\x20`role\x20user-add`\x20or\x20`role\x20user-remove`\x20with\x20--user\x20<id>.','matchedBy'];a223_0x227b=function(){return _0x227ed1;};return a223_0x227b();}const a223_0x59b75a=a223_0x16ce;(function(_0x448ceb,_0x465539){const _0x5110b9=a223_0x16ce,_0x920a49=_0x448ceb();while(!![]){try{const _0x5a947e=parseInt(_0x5110b9(0x167))/0x1*(-parseInt(_0x5110b9(0x174))/0x2)+parseInt(_0x5110b9(0x178))/0x3*(-parseInt(_0x5110b9(0x170))/0x4)+parseInt(_0x5110b9(0x16f))/0x5+-parseInt(_0x5110b9(0x16c))/0x6+-parseInt(_0x5110b9(0x169))/0x7*(parseInt(_0x5110b9(0x16a))/0x8)+parseInt(_0x5110b9(0x16d))/0x9+parseInt(_0x5110b9(0x171))/0xa;if(_0x5a947e===_0x465539)break;else _0x920a49['push'](_0x920a49['shift']());}catch(_0x359dc8){_0x920a49['push'](_0x920a49['shift']());}}}(a223_0x227b,0x8d10b));import{CliErrors}from'../../errors.js';function a223_0x16ce(_0x3c3a7e,_0x5a602d){_0x3c3a7e=_0x3c3a7e-0x166;const _0x227b28=a223_0x227b();let _0x16ce29=_0x227b28[_0x3c3a7e];return _0x16ce29;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{resolveUserRef,USER_NAME_FLAG}from'../../commands/role/shared.js';export const roleUserResolve={'service':'role','command':'user-resolve','description':a223_0x59b75a(0x172),'risk':a223_0x59b75a(0x16e),'flags':[USER_NAME_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53958f){const _0x240569=a223_0x59b75a;if(!_0x53958f['str']('name')['trim']())throw CliErrors[_0x240569(0x16b)](_0x240569(0x168),_0x240569(0x177));},async 'execute'(_0x16ae89){const _0x150e31=a223_0x59b75a,_0x173ed4=_0x16ae89[_0x150e31(0x166)](_0x150e31(0x168))['trim'](),_0x4980c8=await resolveUserRef(_0x173ed4,_0x150e31(0x175));return{'ok':!![],'data':{'user':{'userId':_0x4980c8['userId'],'username':_0x4980c8['username'],'nickname':_0x4980c8[_0x150e31(0x179)],'matchedBy':_0x4980c8[_0x150e31(0x176)]}},'message':_0x150e31(0x17a)+_0x173ed4+'\x22\x20→\x20userId\x20'+_0x4980c8[_0x150e31(0x173)]};}};
|