@lovrabet/rabetbase-cli 2.5.4-beta.5 → 2.5.5-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- 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.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/detail.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.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.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-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/path.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.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/subapp-assets-status.js +1 -1
- package/lib/commands/menu/subapp-assets-update.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.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.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/feishu-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.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.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/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.js +1 -1
- 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.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.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/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 +2 -1
- package/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase-page-generation/SKILL.md +35 -0
- package/skills/rabetbase-page-generation/references/component-baseline.md +18 -0
- package/skills/rabetbase-page-generation/references/generation.md +77 -0
- package/skills/rabetbase-page-generation/templates/onepage/build.mjs +63 -0
- package/skills/rabetbase-page-generation/templates/onepage/create/README.md +20 -0
- package/skills/rabetbase-page-generation/templates/onepage/create/index.jsx +4 -0
- package/skills/rabetbase-page-generation/templates/onepage/create/preview.png +0 -0
- package/skills/rabetbase-page-generation/templates/onepage/detail/README.md +20 -0
- package/skills/rabetbase-page-generation/templates/onepage/detail/index.jsx +194 -0
- package/skills/rabetbase-page-generation/templates/onepage/detail/preview.png +0 -0
- package/skills/rabetbase-page-generation/templates/onepage/list/README.md +20 -0
- package/skills/rabetbase-page-generation/templates/onepage/list/index.jsx +717 -0
- package/skills/rabetbase-page-generation/templates/onepage/list/preview.png +0 -0
- package/skills/rabetbase-page-generation/templates/onepage/shared/editor.jsx +395 -0
- package/skills/rabetbase-page-generation/templates/onepage/shared/model.js +141 -0
- package/skills/rabetbase-page-generation/templates/onepage/shared/page.css +377 -0
- package/skills/rabetbase-page-generation/templates/onepage/shared/record-layout.jsx +90 -0
- package/skills/rabetbase-page-generation/templates/onepage/shared/responsive.jsx +70 -0
- package/skills/rabetbase-page-generation/templates/onepage/update/README.md +21 -0
- package/skills/rabetbase-page-generation/templates/onepage/update/index.jsx +4 -0
- package/skills/rabetbase-page-generation/templates/onepage/update/preview.png +0 -0
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a153_0x47a633=a153_0x2648;(function(_0x417138,_0x10fd66){const _0x586ccc=a153_0x2648,_0x20cc62=_0x417138();while(!![]){try{const _0x117e52=parseInt(_0x586ccc(0x164))/0x1+parseInt(_0x586ccc(0x1a1))/0x2+parseInt(_0x586ccc(0x13e))/0x3*(parseInt(_0x586ccc(0x14d))/0x4)+-parseInt(_0x586ccc(0x138))/0x5+-parseInt(_0x586ccc(0x15a))/0x6+parseInt(_0x586ccc(0x173))/0x7+-parseInt(_0x586ccc(0x1a5))/0x8;if(_0x117e52===_0x10fd66)break;else _0x20cc62['push'](_0x20cc62['shift']());}catch(_0x23ee7a){_0x20cc62['push'](_0x20cc62['shift']());}}}(a153_0x4bac,0x4dec7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a153_0x47a633(0x1ae)};export function validateExternalMenuUrl(_0x3f3cf4){const _0x2ff33d=a153_0x47a633,_0x4bcf94=_0x3f3cf4[_0x2ff33d(0x16a)]();let _0x389a00;try{_0x389a00=new URL(_0x4bcf94);}catch{throw menuError('menu_url_invalid',_0x2ff33d(0x135),_0x2ff33d(0x148));}if(_0x389a00[_0x2ff33d(0x12d)]!==_0x2ff33d(0x1af))throw menuError(_0x2ff33d(0x1ab),_0x2ff33d(0x154),_0x2ff33d(0x142));if(_0x389a00['username']||_0x389a00[_0x2ff33d(0x193)])throw menuError(_0x2ff33d(0x16d),_0x2ff33d(0x1a3),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x4bcf94;}export const menuExternalLinkCreate={'service':a153_0x47a633(0x194),'command':a153_0x47a633(0x15d),'description':a153_0x47a633(0x18c),'risk':a153_0x47a633(0x152),'structuredErrors':!![],'flags':[{'name':'label','type':a153_0x47a633(0x136),'required':!![],'description':a153_0x47a633(0x183)},{'name':a153_0x47a633(0x162),'type':a153_0x47a633(0x136),'required':!![],'enum':[a153_0x47a633(0x149),a153_0x47a633(0x1a0)],'description':a153_0x47a633(0x191)},{'name':a153_0x47a633(0x188),'type':a153_0x47a633(0x136),'required':!![],'description':a153_0x47a633(0x18b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a153_0x47a633(0x180),'type':a153_0x47a633(0x156),'default':!![],'description':a153_0x47a633(0x161)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x27eb98){validateAddInput(_0x27eb98);},async 'dryRun'(_0x2b6e4d){const _0x4331aa=a153_0x47a633;validateAddInput(_0x2b6e4d);const {plan:_0x440788}=await buildSafeAddPlan(_0x2b6e4d,!![]),_0x2dcd79=_0x440788['after'],_0x1f4640=createBody(_0x2dcd79);return menuDryRunResult(_0x440788,{'method':_0x4331aa(0x196),'url':_0x4331aa(0x15e),'body':_0x1f4640,'description':_0x4331aa(0x18a)+JSON[_0x4331aa(0x171)](_0x2dcd79[_0x4331aa(0x165)])+_0x4331aa(0x17a)+_0x2b6e4d[_0x4331aa(0x141)](_0x4331aa(0x162))+_0x4331aa(0x1a2)});},async 'execute'(_0x5e9c2b){const _0x3e2563=a153_0x47a633;validateAddInput(_0x5e9c2b);const _0x1d9a44=await buildSafeAddPlan(_0x5e9c2b,![]),{plan:_0x3ddde9,snapshot:_0x549991}=_0x1d9a44,_0x18699d=_0x3ddde9[_0x3e2563(0x1b1)],_0x58a135=buildMenuLookupCommand(_0x5e9c2b[_0x3e2563(0x182)]);await recheckAddSnapshot(_0x5e9c2b,_0x3ddde9);let _0x49bb89;try{_0x49bb89=await createMenuEntity(_0x5e9c2b[_0x3e2563(0x182)],_0x5e9c2b[_0x3e2563(0x179)],createBody(_0x18699d));}catch(_0x291a5c){const _0x513ce7=mapMenuApiError(_0x291a5c,_0x3e2563(0x187));if(!isMenuResponseLoss(_0x291a5c)||_0x513ce7[_0x3e2563(0x13d)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x513ce7,_0x3ddde9,{'stage':_0x3e2563(0x163),'failed':{},'verification':{'status':'failed','lookupCommand':_0x58a135}});return recoverAfterResponseLoss(_0x5e9c2b,_0x1d9a44,_0x58a135);}const _0x1275b2=Number(_0x49bb89?.['id']),_0x578cde=typeof _0x49bb89?.[_0x3e2563(0x1a7)]===_0x3e2563(0x136)?_0x49bb89[_0x3e2563(0x1a7)]:'';if(!Number[_0x3e2563(0x18e)](_0x1275b2)||_0x1275b2<=0x0||!_0x578cde[_0x3e2563(0x16a)]()){const _0x4aba18=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Run\x20'+_0x58a135+_0x3e2563(0x139));throw externalLinkCreateFailure(_0x4aba18,_0x3ddde9,{'stage':'create-response-validation','succeeded':Number[_0x3e2563(0x18e)](_0x1275b2)&&_0x1275b2>0x0?[{'id':_0x1275b2,'created':!![]}]:[],'failed':{'createdId':Number[_0x3e2563(0x18e)](_0x1275b2)?_0x1275b2:null,'generatedPathConfirmed':Boolean(_0x578cde[_0x3e2563(0x16a)]())},'warnings':[_0x3e2563(0x155)],'after':Number['isSafeInteger'](_0x1275b2)&&_0x1275b2>0x0?{..._0x18699d,'id':_0x1275b2,'path':_0x578cde}:_0x18699d,'verification':{'status':_0x3e2563(0x167),'lookupCommand':_0x58a135,...Number[_0x3e2563(0x18e)](_0x1275b2)&&_0x1275b2>0x0?{'targetId':_0x1275b2}:{}}});}const _0x5523a3=await readAndVerifyCreatedMenu({'appCode':_0x5e9c2b[_0x3e2563(0x182)],'cookie':_0x5e9c2b[_0x3e2563(0x179)],'plan':_0x3ddde9,'afterPlan':_0x18699d,'createdId':_0x1275b2,'expectedPath':_0x578cde,'lookupCommand':_0x58a135,'recovered':![]});return creationSuccess(_0x3ddde9,_0x5523a3['snapshot'],_0x5523a3[_0x3e2563(0x150)],![]);}};function validateAddInput(_0x593c06){const _0x5cce1d=a153_0x47a633;if(!_0x593c06[_0x5cce1d(0x141)]('label')[_0x5cce1d(0x16a)]())throw CliErrors[_0x5cce1d(0x176)](_0x5cce1d(0x165));resolveExternalMenuType(_0x593c06),validateExternalMenuUrl(_0x593c06[_0x5cce1d(0x141)](_0x5cce1d(0x188))),parseParentId(_0x593c06,_0x5cce1d(0x195)),validateSort(_0x593c06);}function a153_0x4bac(){const _0x44d06c=['Whether\x20the\x20menu\x20is\x20visible','open-mode','create','482113nBmQct','label','map','failed','afterPlan','menu_verification_failed','trim','Created\x20menu\x20','menu_parent_not_folder','menu_url_credentials_forbidden','body','includes','menu_open_mode_invalid','stringify','toLowerCase','2240147QsfNVH','call','parentId','flagMissing','hasOwnProperty','verification','cookie','\x20with\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','pre-write-recheck','rabetbase\x20menu\x20list\x20--appcode\x20','hash','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','visible','parent','appCode','Menu\x20label','\x20--format\x20compress','currentSnapshotHash','succeeded','create\x20external\x20menu','url','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Would\x20create\x20external\x20website\x20link\x20menu\x20','External\x20HTTPS\x20URL','Create\x20an\x20external\x20website\x20link\x20menu','readbackerror','isSafeInteger','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Recovered\x20created\x20external\x20menu\x20','How\x20to\x20open\x20the\x20external\x20website','plan','password','menu','parent-id','POST','get','Recovered\x20menu\x20','Created\x20external\x20menu\x20','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','URL','<platform-generated>','object','sort','prototype','new-window','751002mdVGxG','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','274848ZMyiTT','filter','path','length','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_sort_overflow','menu_url_https_required','type','Run\x20','link','https:','menu_mutation_failed','after','menus','Menu\x20','protocol','expectedPath','before','\x20has\x20an\x20unexpected\x20','menu_create_response_invalid','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','byId','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','string','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','2897765KomItR','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','selector','menu_not_found','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','code','6sXStoC','createdId','lookupCommand','str','Provide\x20an\x20HTTPS\x20URL.','expectedSnapshotHash','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create-menu','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','recovered','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','embedded','entries','menu_sort_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','82696KunWhr','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','replace','fact','rawFlags','write','has','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','boolean','External\x20menu\x20creation\x20failed.','menu_create_recovery_required','fromEntries','1715394dKsXCU','rawerror','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','external-link-create','/smartapi/menu/create','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x27\x5c\x27\x27'];a153_0x4bac=function(){return _0x44d06c;};return a153_0x4bac();}function resolveExternalMenuType(_0xfd0045){const _0x3477df=a153_0x47a633,_0x1a9a71=_0xfd0045['str']('open-mode')[_0x3477df(0x16a)]();if(!_0x1a9a71)throw CliErrors['flagMissing'](_0x3477df(0x162));const _0x3b68a0=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x1a9a71];if(!_0x3b68a0)throw menuError(_0x3477df(0x170),_0x3477df(0x14c),_0x3477df(0x1a9));return _0x3b68a0;}async function buildAddPlan(_0x2e5789,_0x3854b6){const _0x2a4038=a153_0x47a633,_0x1fe88c=await fetchMutationSnapshot(_0x2e5789,'create\x20external\x20menu'),_0x16eaf4=parseParentId(_0x2e5789,_0x2a4038(0x195))??null;if(_0x16eaf4!=null)requireFolder(_0x1fe88c,_0x16eaf4);const _0x36adff=validateSort(_0x2e5789),_0xdcaad3=_0x36adff??nextSiblingSort(_0x1fe88c,_0x16eaf4,_0x2a4038(0x194)),_0x211438=_0x2e5789[_0x2a4038(0x141)]('label')[_0x2a4038(0x16a)](),_0x589b61=resolveExternalMenuType(_0x2e5789),_0x21a915=validateExternalMenuUrl(_0x2e5789[_0x2a4038(0x141)](_0x2a4038(0x188))),_0x3e2abf=Object[_0x2a4038(0x19f)][_0x2a4038(0x177)][_0x2a4038(0x174)](_0x2e5789[_0x2a4038(0x151)],_0x2a4038(0x180))?_0x2e5789['bool'](_0x2a4038(0x180)):!![],_0x1ec8fd={'id':null,'parentId':_0x16eaf4,'label':_0x211438,'path':_0x2a4038(0x19c),'url':_0x21a915,'type':_0x589b61,'visible':_0x3e2abf,'sort':_0xdcaad3},_0x53c50b=buildMenuLookupCommand(_0x2e5789[_0x2a4038(0x182)]),_0xff1e51=mutationResult({'operation':'add','selector':{'parentId':_0x16eaf4,'type':_0x589b61,'label':_0x211438,'url':_0x21a915},'before':null,'after':_0x1ec8fd,'dryRun':_0x3854b6,'backend':[{'method':_0x2a4038(0x196),'path':_0x2a4038(0x15e)}],'plannedActions':[{'stage':_0x2a4038(0x145),'method':_0x2a4038(0x196),'path':'/smartapi/menu/create','body':createBody(_0x1ec8fd)}],'snapshotHash':_0x1fe88c[_0x2a4038(0x17e)],'warnings':[_0x2a4038(0x137)],'verification':{'lookupCommand':_0x53c50b}});return{'plan':_0xff1e51,'snapshot':_0x1fe88c};}async function buildSafeAddPlan(_0x25745e,_0x51b1a2){try{return await buildAddPlan(_0x25745e,_0x51b1a2);}catch(_0x1d31ad){throw safeMenuAddError(_0x1d31ad);}}function a153_0x2648(_0x15512f,_0x89f2ae){_0x15512f=_0x15512f-0x12d;const _0x4bacab=a153_0x4bac();let _0x26484d=_0x4bacab[_0x15512f];return _0x26484d;}async function recheckAddSnapshot(_0x35473f,_0x4490a7){const _0x484250=a153_0x47a633;try{await recheckMutationSnapshot(_0x35473f,_0x4490a7,_0x484250(0x187));}catch(_0x1477f8){const _0x5daf5a=getFailureRecord(_0x1477f8);throw externalLinkCreateFailure(_0x1477f8,_0x4490a7,{'stage':_0x484250(0x17c),'failed':{..._0x5daf5a?.[_0x484250(0x143)]?{'expectedSnapshotHash':_0x5daf5a[_0x484250(0x143)]}:{},..._0x5daf5a?.[_0x484250(0x185)]?{'currentSnapshotHash':_0x5daf5a[_0x484250(0x185)]}:{}}});}}function createBody(_0x1ad4dd){const _0x29ebbf=a153_0x47a633;return{'parentId':toApiParentId(_0x1ad4dd[_0x29ebbf(0x175)]),'label':String(_0x1ad4dd[_0x29ebbf(0x165)]),'type':String(_0x1ad4dd[_0x29ebbf(0x1ac)]),'url':String(_0x1ad4dd['url']),'visible':Boolean(_0x1ad4dd[_0x29ebbf(0x180)]),'sort':Number(_0x1ad4dd['sort']),'extend':{}};}function buildMenuLookupCommand(_0x5602a3){const _0x3f08b1=a153_0x47a633,_0x4ea06b='\x27'+_0x5602a3[_0x3f08b1(0x14f)](/'/g,_0x3f08b1(0x160))+'\x27';return _0x3f08b1(0x17d)+_0x4ea06b+_0x3f08b1(0x184);}async function recoverAfterResponseLoss(_0x537e13,_0x3d71ac,_0x1b7444){const _0x2c8cdd=a153_0x47a633,{plan:_0x3c5d56,snapshot:_0x379587}=_0x3d71ac,_0x145ed9=_0x3c5d56[_0x2c8cdd(0x1b1)];let _0xc6c9ad;try{_0xc6c9ad=await fetchMenuSnapshot(_0x537e13['appCode'],_0x537e13['cookie']);}catch(_0x33acc1){throw recoveryRequiredFailure(_0x3c5d56,_0x1b7444,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1acea9=_0xc6c9ad[_0x2c8cdd(0x1b2)][_0x2c8cdd(0x1a6)](_0x4cde52=>_0x4cde52['parentId']===_0x145ed9['parentId']&&_0x4cde52['type']===_0x145ed9[_0x2c8cdd(0x1ac)]&&_0x4cde52['label']===_0x145ed9['label']&&_0x4cde52[_0x2c8cdd(0x188)]===_0x145ed9['url']),_0x14b24c=_0x1acea9[_0x2c8cdd(0x1a6)](_0x26c907=>!_0x379587[_0x2c8cdd(0x134)][_0x2c8cdd(0x153)](_0x26c907['id'])),_0x3d6993=_0x1acea9[_0x2c8cdd(0x1a6)](_0x277a4e=>_0x379587['byId'][_0x2c8cdd(0x153)](_0x277a4e['id']));if(_0x1acea9[_0x2c8cdd(0x1a8)]!==0x1||_0x14b24c[_0x2c8cdd(0x1a8)]!==0x1)throw recoveryRequiredFailure(_0x3c5d56,_0x1b7444,{'matchCount':_0x1acea9[_0x2c8cdd(0x1a8)],'newMatchCount':_0x14b24c[_0x2c8cdd(0x1a8)],'preexistingMatchCount':_0x3d6993[_0x2c8cdd(0x1a8)]});const _0x2cfeeb=_0x14b24c[0x0];try{verifyCreatedFact(_0x2cfeeb,_0x2cfeeb['id'],_0x145ed9,null);}catch(_0x591cfe){const _0x27dfde=_0x591cfe instanceof Error&&_0x2c8cdd(0x13d)in _0x591cfe?_0x591cfe:menuError(_0x2c8cdd(0x169),_0x2c8cdd(0x198)+_0x2cfeeb['id']+'\x20could\x20not\x20be\x20verified.',_0x2c8cdd(0x1ad)+_0x1b7444+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x27dfde,_0x3c5d56,{'stage':'verification','succeeded':[{'id':_0x2cfeeb['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x2cfeeb['id'],'finalFactsConfirmed':![]},'after':_0x2cfeeb,'warnings':[_0x2c8cdd(0x1b3)+_0x2cfeeb['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2c8cdd(0x167),'targetId':_0x2cfeeb['id'],'recovered':!![],'lookupCommand':_0x1b7444}});}return creationSuccess(_0x3c5d56,_0xc6c9ad,_0x2cfeeb,!![]);}function recoveryRequiredFailure(_0x584e1c,_0x10a2de,_0x572c27){const _0x337220=a153_0x47a633,_0x50224b=menuError(_0x337220(0x158),_0x337220(0x18f),_0x337220(0x1ad)+_0x10a2de+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x50224b,_0x584e1c,{'stage':'create-recovery','failed':_0x572c27,'warnings':[_0x337220(0x144)],'verification':{'status':_0x337220(0x167),..._0x572c27,'lookupCommand':_0x10a2de}});}async function readAndVerifyCreatedMenu(_0x43dd88){const _0x3ac8d4=a153_0x47a633;let _0x291119;try{_0x291119=await fetchMenuSnapshot(_0x43dd88[_0x3ac8d4(0x182)],_0x43dd88['cookie']);}catch(_0x1259fb){const _0x26796a=menuError('menu_verification_failed',_0x3ac8d4(0x1b3)+_0x43dd88[_0x3ac8d4(0x13f)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.',_0x3ac8d4(0x1ad)+_0x43dd88[_0x3ac8d4(0x140)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x26796a,_0x43dd88[_0x3ac8d4(0x192)],{'stage':_0x3ac8d4(0x178),'succeeded':[{'id':_0x43dd88[_0x3ac8d4(0x13f)],'created':!![]}],'failed':{'id':_0x43dd88[_0x3ac8d4(0x13f)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x43dd88[_0x3ac8d4(0x168)],'id':_0x43dd88[_0x3ac8d4(0x13f)],'path':_0x43dd88[_0x3ac8d4(0x12e)]},'warnings':[_0x3ac8d4(0x1b3)+_0x43dd88[_0x3ac8d4(0x13f)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x43dd88[_0x3ac8d4(0x13f)],'lookupCommand':_0x43dd88[_0x3ac8d4(0x140)]}});}const _0x2d8300=_0x291119[_0x3ac8d4(0x134)][_0x3ac8d4(0x197)](_0x43dd88[_0x3ac8d4(0x13f)]);try{if(!_0x2d8300)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x43dd88[_0x3ac8d4(0x13f)]+_0x3ac8d4(0x15f),_0x3ac8d4(0x1ad)+_0x43dd88[_0x3ac8d4(0x140)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x2d8300,_0x43dd88[_0x3ac8d4(0x13f)],_0x43dd88[_0x3ac8d4(0x168)],_0x43dd88[_0x3ac8d4(0x12e)]);}catch(_0x6f943c){const _0x338ed2=_0x6f943c instanceof Error&&_0x3ac8d4(0x13d)in _0x6f943c?_0x6f943c:menuError(_0x3ac8d4(0x169),_0x3ac8d4(0x16b)+_0x43dd88[_0x3ac8d4(0x13f)]+'\x20failed\x20final\x20verification.',_0x3ac8d4(0x1ad)+_0x43dd88[_0x3ac8d4(0x140)]+_0x3ac8d4(0x1a4));throw externalLinkCreateFailure(_0x338ed2,_0x43dd88[_0x3ac8d4(0x192)],{'stage':_0x3ac8d4(0x178),'succeeded':[{'id':_0x43dd88['createdId'],'created':!![]}],'failed':{'id':_0x43dd88[_0x3ac8d4(0x13f)],'finalFactsConfirmed':![]},'after':_0x2d8300??{..._0x43dd88['afterPlan'],'id':_0x43dd88[_0x3ac8d4(0x13f)],'path':_0x43dd88[_0x3ac8d4(0x12e)]},'warnings':[_0x3ac8d4(0x1b3)+_0x43dd88['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x3ac8d4(0x167),'targetId':_0x43dd88[_0x3ac8d4(0x13f)],'recovered':_0x43dd88[_0x3ac8d4(0x147)],'lookupCommand':_0x43dd88[_0x3ac8d4(0x140)]}});}return{'snapshot':_0x291119,'fact':_0x2d8300};}function verifyCreatedFact(_0x593b3c,_0x448951,_0x2b43c2,_0x3d7168){const _0x45563d=a153_0x47a633;if(!Number['isSafeInteger'](_0x593b3c['id'])||_0x593b3c['id']<=0x0||_0x593b3c['id']!==_0x448951)throw menuError('menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x45563d(0x133));const _0x3df5d4=[[_0x45563d(0x181),_0x593b3c[_0x45563d(0x175)],_0x2b43c2[_0x45563d(0x175)]],['type',_0x593b3c['type'],_0x2b43c2[_0x45563d(0x1ac)]],[_0x45563d(0x165),_0x593b3c[_0x45563d(0x165)],_0x2b43c2['label']],[_0x45563d(0x19b),_0x593b3c[_0x45563d(0x188)],_0x2b43c2[_0x45563d(0x188)]],['visibility',_0x593b3c[_0x45563d(0x180)],_0x2b43c2[_0x45563d(0x180)]],['sort',_0x593b3c[_0x45563d(0x19e)],_0x2b43c2[_0x45563d(0x19e)]]];for(const [_0x510cb9,_0x8d4109,_0x216454]of _0x3df5d4){if(_0x8d4109!==_0x216454)throw menuError(_0x45563d(0x169),_0x45563d(0x16b)+_0x593b3c['id']+_0x45563d(0x130)+_0x510cb9+'.',_0x45563d(0x15c));}if(!_0x593b3c[_0x45563d(0x1a7)]['trim']()||_0x3d7168!==null&&_0x593b3c[_0x45563d(0x1a7)]!==_0x3d7168)throw menuError(_0x45563d(0x169),_0x45563d(0x16b)+_0x593b3c['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x45563d(0x15c));}function creationSuccess(_0x548d18,_0x428634,_0x9ec4c,_0x3847f8){const _0x5771f4=a153_0x47a633,_0x1b018d=mutationResult({..._0x548d18,'after':_0x9ec4c,'dryRun':![],'succeeded':[{'id':_0x9ec4c['id'],'created':!![],'recovered':_0x3847f8}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x428634[_0x5771f4(0x17e)],'targetId':_0x9ec4c['id'],'recovered':_0x3847f8,'path':_0x9ec4c[_0x5771f4(0x1a7)]}});return{'ok':!![],'message':_0x3847f8?_0x5771f4(0x190)+_0x9ec4c['id']+'\x20after\x20response\x20loss.':_0x5771f4(0x199)+_0x9ec4c['id']+'.','data':{..._0x1b018d,'recovered':_0x3847f8}};}function externalLinkCreateFailure(_0x17d00d,_0x1fb827,_0x13b97b){const _0x5b1619=a153_0x47a633;return menuFailure(safeMenuAddError(_0x17d00d),redactFailurePlan(_0x1fb827),{..._0x13b97b,'succeeded':_0x13b97b[_0x5b1619(0x186)]?.[_0x5b1619(0x166)](redactFailureRecord),'failed':_0x13b97b[_0x5b1619(0x167)]?redactFailureRecord(_0x13b97b[_0x5b1619(0x167)]):undefined,'verification':_0x13b97b['verification']?redactFailureRecord(_0x13b97b[_0x5b1619(0x178)]):undefined,'after':_0x13b97b[_0x5b1619(0x1b1)]===undefined?undefined:redactFailureValue(_0x13b97b[_0x5b1619(0x1b1)])});}function redactFailurePlan(_0x5e649e){const _0x28de81=a153_0x47a633;return{..._0x5e649e,'selector':redactFailureRecord(_0x5e649e[_0x28de81(0x13a)]),'before':redactFailureValue(_0x5e649e[_0x28de81(0x12f)]),'after':redactFailureValue(_0x5e649e[_0x28de81(0x1b1)]),'plannedActions':_0x5e649e['plannedActions']?.[_0x28de81(0x166)](_0x557ba0=>({..._0x557ba0,'body':redactFailureRecord(_0x557ba0[_0x28de81(0x16e)])})),'succeeded':_0x5e649e[_0x28de81(0x186)][_0x28de81(0x166)](redactFailureRecord),'failed':_0x5e649e['failed']['map'](redactFailureRecord),'verification':_0x5e649e[_0x28de81(0x178)]?redactFailureRecord(_0x5e649e[_0x28de81(0x178)]):undefined};}function redactFailureRecord(_0x429e21){return redactFailureValue(_0x429e21);}function redactFailureValue(_0x431a48,_0x5bdc17=''){const _0x39b186=a153_0x47a633,_0x176115=_0x5bdc17[_0x39b186(0x172)]()[_0x39b186(0x14f)](/[^a-z0-9]/g,'');if(['cause','causemessage',_0x39b186(0x18d),_0x39b186(0x15b)][_0x39b186(0x16f)](_0x176115))return'<redacted>';if(Array['isArray'](_0x431a48))return _0x431a48[_0x39b186(0x166)](_0x2b6bf9=>redactFailureValue(_0x2b6bf9));if(_0x431a48&&typeof _0x431a48===_0x39b186(0x19d))return Object[_0x39b186(0x159)](Object[_0x39b186(0x14a)](_0x431a48)[_0x39b186(0x166)](([_0x293226,_0x35c403])=>[_0x293226,redactFailureValue(_0x35c403,_0x293226)]));return _0x431a48;}function safeMenuAddError(_0x397a64){const _0x1e5019=a153_0x47a633,_0x94c493=_0x397a64 instanceof CliError?_0x397a64[_0x1e5019(0x13d)]:_0x1e5019(0x1b0);switch(_0x94c493){case'menu_state_drift':return menuError(_0x94c493,_0x1e5019(0x17f),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x94c493,_0x1e5019(0x146),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x1e5019(0x131):return menuError(_0x94c493,_0x1e5019(0x13c),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x1e5019(0x169):return menuError(_0x94c493,_0x1e5019(0x19a),_0x1e5019(0x17b));case'menu_create_recovery_required':return menuError(_0x94c493,_0x1e5019(0x189),_0x1e5019(0x14e));case _0x1e5019(0x1b0):case _0x1e5019(0x13b):case _0x1e5019(0x16c):case _0x1e5019(0x14b):case _0x1e5019(0x1aa):return menuError(_0x94c493,_0x1e5019(0x157),_0x1e5019(0x132));default:return menuError(_0x1e5019(0x1b0),_0x1e5019(0x157),_0x1e5019(0x132));}}function getFailureRecord(_0x286cc8){const _0x2b2a4f=a153_0x47a633;if(!(_0x286cc8 instanceof Error)||!('data'in _0x286cc8))return undefined;const _0x189ed4=_0x286cc8['data'];if(!_0x189ed4||typeof _0x189ed4!==_0x2b2a4f(0x19d))return undefined;const _0x388fd8=_0x189ed4['failed'];if(!Array['isArray'](_0x388fd8)||!_0x388fd8[0x0]||typeof _0x388fd8[0x0]!==_0x2b2a4f(0x19d))return undefined;return _0x388fd8[0x0];}
|
|
1
|
+
const a153_0x3504cc=a153_0x2a4a;function a153_0x34e6(){const _0x288bbc=['visible','parent-id','expectedPath','fromEntries','createdId','boolean','menu_url_credentials_forbidden','create-recovery','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','stringify','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','How\x20to\x20open\x20the\x20external\x20website','password','menu_create_recovery_required','create\x20external\x20menu','appCode','menu\x20list','menu_state_drift','map','menu_open_mode_invalid','Recovered\x20created\x20external\x20menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','causemessage','Menu\x20','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','label','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','afterPlan','527565ugOAyX','object','704KRzhXL','expectedSnapshotHash','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','7224EIeLkQ','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20label','str','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','body','menu_url_https_required','succeeded','223836jPzQJk','replace','readbackerror','protocol','currentSnapshotHash','rabetbase\x20menu\x20list\x20--appcode\x20','Run\x20','isArray','url','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','POST','13625530dxmNoG','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','recovered','menu_mutation_failed','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','hash','call','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','<redacted>','entries','External\x20HTTPS\x20URL','menu_sort_invalid','link','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','rawFlags','plan','before','\x20could\x20not\x20be\x20verified.','new-window','type','parentId','lookupCommand','Would\x20create\x20external\x20website\x20link\x20menu\x20','after','cookie','open-mode','cause','https:','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','sort','parent','byId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','bool','has','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','\x20with\x20','data','/smartapi/menu/create','username','embedded','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','503150QjCqia','684sAKdTR','\x20--format\x20compress','Provide\x20an\x20HTTPS\x20URL.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','path','create-response-validation','failed','isSafeInteger','Created\x20external\x20menu\x20','URL','length','Created\x20menu\x20','trim','37842VuBStf','menu_not_found','string','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20failed\x20final\x20verification.','code','hasOwnProperty','18441DeJhsh','create-menu','\x20has\x20an\x20unexpected\x20','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','includes','verification','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','485sEYlOq','menu','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','menu_verification_failed','menu_url_invalid','filter','flagMissing'];a153_0x34e6=function(){return _0x288bbc;};return a153_0x34e6();}(function(_0x27b36a,_0x10ead6){const _0x44dc41=a153_0x2a4a,_0x21f4a2=_0x27b36a();while(!![]){try{const _0x29adeb=-parseInt(_0x44dc41(0x1c2))/0x1+-parseInt(_0x44dc41(0x18d))/0x2+-parseInt(_0x44dc41(0x17f))/0x3+parseInt(_0x44dc41(0x184))/0x4*(parseInt(_0x44dc41(0x15b))/0x5)+-parseInt(_0x44dc41(0x1c3))/0x6*(parseInt(_0x44dc41(0x14d))/0x7)+parseInt(_0x44dc41(0x181))/0x8*(parseInt(_0x44dc41(0x154))/0x9)+parseInt(_0x44dc41(0x198))/0xa;if(_0x29adeb===_0x10ead6)break;else _0x21f4a2['push'](_0x21f4a2['shift']());}catch(_0xc6f724){_0x21f4a2['push'](_0x21f4a2['shift']());}}}(a153_0x34e6,0x4be38));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a153_0x3504cc(0x1a4)};export function validateExternalMenuUrl(_0x43657b){const _0x912021=a153_0x3504cc,_0x471c67=_0x43657b[_0x912021(0x14c)]();let _0x520ac3;try{_0x520ac3=new URL(_0x471c67);}catch{throw menuError(_0x912021(0x15f),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x912021(0x143));}if(_0x520ac3[_0x912021(0x190)]!==_0x912021(0x1b3))throw menuError(_0x912021(0x18b),_0x912021(0x19c),_0x912021(0x142));if(_0x520ac3[_0x912021(0x1bf)]||_0x520ac3[_0x912021(0x16e)])throw menuError(_0x912021(0x168),_0x912021(0x16c),_0x912021(0x183));return _0x471c67;}export const menuExternalLinkCreate={'service':a153_0x3504cc(0x15c),'command':'external-link-create','description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a153_0x3504cc(0x17c),'type':a153_0x3504cc(0x14f),'required':!![],'description':a153_0x3504cc(0x187)},{'name':a153_0x3504cc(0x1b1),'type':a153_0x3504cc(0x14f),'required':!![],'enum':[a153_0x3504cc(0x1c0),a153_0x3504cc(0x1aa)],'description':a153_0x3504cc(0x16d)},{'name':a153_0x3504cc(0x195),'type':'string','required':!![],'description':a153_0x3504cc(0x1a2)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a153_0x3504cc(0x162),'type':a153_0x3504cc(0x167),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e7f7d){validateAddInput(_0x3e7f7d);},async 'dryRun'(_0x2c5764){const _0x20c86b=a153_0x3504cc;validateAddInput(_0x2c5764);const {plan:_0x28469a}=await buildSafeAddPlan(_0x2c5764,!![]),_0x5a4c4a=_0x28469a[_0x20c86b(0x1af)],_0x12cc95=createBody(_0x5a4c4a);return menuDryRunResult(_0x28469a,{'method':_0x20c86b(0x197),'url':'/smartapi/menu/create','body':_0x12cc95,'description':_0x20c86b(0x1ae)+JSON[_0x20c86b(0x16b)](_0x5a4c4a[_0x20c86b(0x17c)])+_0x20c86b(0x1bc)+_0x2c5764[_0x20c86b(0x188)]('open-mode')+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x37dc14){const _0x4b7d7e=a153_0x3504cc;validateAddInput(_0x37dc14);const _0x367be6=await buildSafeAddPlan(_0x37dc14,![]),{plan:_0x154972,snapshot:_0x36c6c5}=_0x367be6,_0x3c3ff6=_0x154972[_0x4b7d7e(0x1af)],_0x13541f=buildMenuLookupCommand(_0x37dc14[_0x4b7d7e(0x171)]);await recheckAddSnapshot(_0x37dc14,_0x154972);let _0x7b8ee2;try{_0x7b8ee2=await createMenuEntity(_0x37dc14[_0x4b7d7e(0x171)],_0x37dc14['cookie'],createBody(_0x3c3ff6));}catch(_0x41f328){const _0x30b8e5=mapMenuApiError(_0x41f328,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x41f328)||_0x30b8e5['code']==='menu_permission_denied')throw externalLinkCreateFailure(_0x30b8e5,_0x154972,{'stage':'create','failed':{},'verification':{'status':_0x4b7d7e(0x146),'lookupCommand':_0x13541f}});return recoverAfterResponseLoss(_0x37dc14,_0x367be6,_0x13541f);}const _0x3aab82=Number(_0x7b8ee2?.['id']),_0x570ae9=typeof _0x7b8ee2?.[_0x4b7d7e(0x144)]===_0x4b7d7e(0x14f)?_0x7b8ee2[_0x4b7d7e(0x144)]:'';if(!Number['isSafeInteger'](_0x3aab82)||_0x3aab82<=0x0||!_0x570ae9[_0x4b7d7e(0x14c)]()){const _0x536fca=menuError('menu_create_response_invalid',_0x4b7d7e(0x185),_0x4b7d7e(0x193)+_0x13541f+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x536fca,_0x154972,{'stage':_0x4b7d7e(0x145),'succeeded':Number[_0x4b7d7e(0x147)](_0x3aab82)&&_0x3aab82>0x0?[{'id':_0x3aab82,'created':!![]}]:[],'failed':{'createdId':Number[_0x4b7d7e(0x147)](_0x3aab82)?_0x3aab82:null,'generatedPathConfirmed':Boolean(_0x570ae9['trim']())},'warnings':[_0x4b7d7e(0x177)],'after':Number[_0x4b7d7e(0x147)](_0x3aab82)&&_0x3aab82>0x0?{..._0x3c3ff6,'id':_0x3aab82,'path':_0x570ae9}:_0x3c3ff6,'verification':{'status':_0x4b7d7e(0x146),'lookupCommand':_0x13541f,...Number[_0x4b7d7e(0x147)](_0x3aab82)&&_0x3aab82>0x0?{'targetId':_0x3aab82}:{}}});}const _0x24af36=await readAndVerifyCreatedMenu({'appCode':_0x37dc14[_0x4b7d7e(0x171)],'cookie':_0x37dc14[_0x4b7d7e(0x1b0)],'plan':_0x154972,'afterPlan':_0x3c3ff6,'createdId':_0x3aab82,'expectedPath':_0x570ae9,'lookupCommand':_0x13541f,'recovered':![]});return creationSuccess(_0x154972,_0x24af36['snapshot'],_0x24af36['fact'],![]);}};function validateAddInput(_0x442d26){const _0x352024=a153_0x3504cc;if(!_0x442d26[_0x352024(0x188)]('label')[_0x352024(0x14c)]())throw CliErrors[_0x352024(0x161)]('label');resolveExternalMenuType(_0x442d26),validateExternalMenuUrl(_0x442d26[_0x352024(0x188)](_0x352024(0x195))),parseParentId(_0x442d26,_0x352024(0x163)),validateSort(_0x442d26);}function resolveExternalMenuType(_0x5d0a28){const _0x4fef19=a153_0x3504cc,_0xc57c5d=_0x5d0a28[_0x4fef19(0x188)](_0x4fef19(0x1b1))[_0x4fef19(0x14c)]();if(!_0xc57c5d)throw CliErrors['flagMissing']('open-mode');const _0x5744c0=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0xc57c5d];if(!_0x5744c0)throw menuError(_0x4fef19(0x175),_0x4fef19(0x19f),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x5744c0;}async function buildAddPlan(_0x313122,_0x3ab81d){const _0x3dbad6=a153_0x3504cc,_0x2cebf7=await fetchMutationSnapshot(_0x313122,_0x3dbad6(0x170)),_0x19f40e=parseParentId(_0x313122,_0x3dbad6(0x163))??null;if(_0x19f40e!=null)requireFolder(_0x2cebf7,_0x19f40e);const _0x11ba7c=validateSort(_0x313122),_0x15845e=_0x11ba7c??nextSiblingSort(_0x2cebf7,_0x19f40e,_0x3dbad6(0x15c)),_0x28520a=_0x313122[_0x3dbad6(0x188)](_0x3dbad6(0x17c))[_0x3dbad6(0x14c)](),_0x6f4f31=resolveExternalMenuType(_0x313122),_0x42dffb=validateExternalMenuUrl(_0x313122[_0x3dbad6(0x188)](_0x3dbad6(0x195))),_0x341e3d=Object['prototype'][_0x3dbad6(0x153)][_0x3dbad6(0x19e)](_0x313122[_0x3dbad6(0x1a6)],_0x3dbad6(0x162))?_0x313122[_0x3dbad6(0x1b9)]('visible'):!![],_0x439c1c={'id':null,'parentId':_0x19f40e,'label':_0x28520a,'path':'<platform-generated>','url':_0x42dffb,'type':_0x6f4f31,'visible':_0x341e3d,'sort':_0x15845e},_0x498124=buildMenuLookupCommand(_0x313122['appCode']),_0x493161=mutationResult({'operation':'add','selector':{'parentId':_0x19f40e,'type':_0x6f4f31,'label':_0x28520a,'url':_0x42dffb},'before':null,'after':_0x439c1c,'dryRun':_0x3ab81d,'backend':[{'method':_0x3dbad6(0x197),'path':_0x3dbad6(0x1be)}],'plannedActions':[{'stage':_0x3dbad6(0x155),'method':'POST','path':_0x3dbad6(0x1be),'body':createBody(_0x439c1c)}],'snapshotHash':_0x2cebf7[_0x3dbad6(0x19d)],'warnings':[_0x3dbad6(0x17b)],'verification':{'lookupCommand':_0x498124}});return{'plan':_0x493161,'snapshot':_0x2cebf7};}async function buildSafeAddPlan(_0x128c44,_0x1cac3b){try{return await buildAddPlan(_0x128c44,_0x1cac3b);}catch(_0x2d4ac4){throw safeMenuAddError(_0x2d4ac4);}}async function recheckAddSnapshot(_0x24d6ac,_0x202bac){const _0x25de27=a153_0x3504cc;try{await recheckMutationSnapshot(_0x24d6ac,_0x202bac,'create\x20external\x20menu');}catch(_0x23084b){const _0xa4499e=getFailureRecord(_0x23084b);throw externalLinkCreateFailure(_0x23084b,_0x202bac,{'stage':'pre-write-recheck','failed':{..._0xa4499e?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0xa4499e[_0x25de27(0x182)]}:{},..._0xa4499e?.['currentSnapshotHash']?{'currentSnapshotHash':_0xa4499e[_0x25de27(0x191)]}:{}}});}}function createBody(_0x377ede){const _0x3eb006=a153_0x3504cc;return{'parentId':toApiParentId(_0x377ede[_0x3eb006(0x1ac)]),'label':String(_0x377ede['label']),'type':String(_0x377ede['type']),'url':String(_0x377ede['url']),'visible':Boolean(_0x377ede[_0x3eb006(0x162)]),'sort':Number(_0x377ede[_0x3eb006(0x1b5)]),'extend':{}};}function buildMenuLookupCommand(_0x495dc0){const _0xcba7ae=a153_0x3504cc,_0x22a6d6='\x27'+_0x495dc0[_0xcba7ae(0x18e)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0xcba7ae(0x192)+_0x22a6d6+_0xcba7ae(0x1c4);}async function recoverAfterResponseLoss(_0x53f16d,_0x36a4d9,_0x53ecc1){const _0x4a50a1=a153_0x3504cc,{plan:_0x14bb9b,snapshot:_0x4e4420}=_0x36a4d9,_0x5b1ded=_0x14bb9b[_0x4a50a1(0x1af)];let _0x156e7c;try{_0x156e7c=await fetchMenuSnapshot(_0x53f16d[_0x4a50a1(0x171)],_0x53f16d[_0x4a50a1(0x1b0)]);}catch(_0x2cbb6b){throw recoveryRequiredFailure(_0x14bb9b,_0x53ecc1,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x232ca3=_0x156e7c['menus'][_0x4a50a1(0x160)](_0x1f9a51=>_0x1f9a51[_0x4a50a1(0x1ac)]===_0x5b1ded[_0x4a50a1(0x1ac)]&&_0x1f9a51[_0x4a50a1(0x1ab)]===_0x5b1ded['type']&&_0x1f9a51[_0x4a50a1(0x17c)]===_0x5b1ded[_0x4a50a1(0x17c)]&&_0x1f9a51[_0x4a50a1(0x195)]===_0x5b1ded[_0x4a50a1(0x195)]),_0x4e4cf2=_0x232ca3['filter'](_0x46c75a=>!_0x4e4420[_0x4a50a1(0x1b7)][_0x4a50a1(0x1ba)](_0x46c75a['id'])),_0x3fd212=_0x232ca3[_0x4a50a1(0x160)](_0x3db438=>_0x4e4420[_0x4a50a1(0x1b7)][_0x4a50a1(0x1ba)](_0x3db438['id']));if(_0x232ca3[_0x4a50a1(0x14a)]!==0x1||_0x4e4cf2[_0x4a50a1(0x14a)]!==0x1)throw recoveryRequiredFailure(_0x14bb9b,_0x53ecc1,{'matchCount':_0x232ca3[_0x4a50a1(0x14a)],'newMatchCount':_0x4e4cf2[_0x4a50a1(0x14a)],'preexistingMatchCount':_0x3fd212[_0x4a50a1(0x14a)]});const _0x7405ba=_0x4e4cf2[0x0];try{verifyCreatedFact(_0x7405ba,_0x7405ba['id'],_0x5b1ded,null);}catch(_0x228ca2){const _0x2658b7=_0x228ca2 instanceof Error&&_0x4a50a1(0x152)in _0x228ca2?_0x228ca2:menuError(_0x4a50a1(0x15e),'Recovered\x20menu\x20'+_0x7405ba['id']+_0x4a50a1(0x1a9),'Run\x20'+_0x53ecc1+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2658b7,_0x14bb9b,{'stage':'verification','succeeded':[{'id':_0x7405ba['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x7405ba['id'],'finalFactsConfirmed':![]},'after':_0x7405ba,'warnings':['Menu\x20'+_0x7405ba['id']+_0x4a50a1(0x157)],'verification':{'status':_0x4a50a1(0x146),'targetId':_0x7405ba['id'],'recovered':!![],'lookupCommand':_0x53ecc1}});}return creationSuccess(_0x14bb9b,_0x156e7c,_0x7405ba,!![]);}function recoveryRequiredFailure(_0x10e707,_0x1d6261,_0x81112b){const _0x103b60=a153_0x3504cc,_0x3f0891=menuError(_0x103b60(0x16f),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x103b60(0x193)+_0x1d6261+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x3f0891,_0x10e707,{'stage':_0x103b60(0x169),'failed':_0x81112b,'warnings':[_0x103b60(0x150)],'verification':{'status':_0x103b60(0x146),..._0x81112b,'lookupCommand':_0x1d6261}});}async function readAndVerifyCreatedMenu(_0x2916d2){const _0x85c8c6=a153_0x3504cc;let _0x2f5782;try{_0x2f5782=await fetchMenuSnapshot(_0x2916d2[_0x85c8c6(0x171)],_0x2916d2['cookie']);}catch(_0x20a246){const _0x512dea=menuError(_0x85c8c6(0x15e),_0x85c8c6(0x179)+_0x2916d2[_0x85c8c6(0x166)]+_0x85c8c6(0x1b8),_0x85c8c6(0x193)+_0x2916d2['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x512dea,_0x2916d2[_0x85c8c6(0x1a7)],{'stage':'verification','succeeded':[{'id':_0x2916d2[_0x85c8c6(0x166)],'created':!![]}],'failed':{'id':_0x2916d2['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x2916d2[_0x85c8c6(0x17e)],'id':_0x2916d2[_0x85c8c6(0x166)],'path':_0x2916d2[_0x85c8c6(0x164)]},'warnings':[_0x85c8c6(0x179)+_0x2916d2[_0x85c8c6(0x166)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x85c8c6(0x146),'targetId':_0x2916d2['createdId'],'lookupCommand':_0x2916d2[_0x85c8c6(0x1ad)]}});}const _0x31de1c=_0x2f5782[_0x85c8c6(0x1b7)]['get'](_0x2916d2[_0x85c8c6(0x166)]);try{if(!_0x31de1c)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x2916d2[_0x85c8c6(0x166)]+_0x85c8c6(0x1a5),_0x85c8c6(0x193)+_0x2916d2['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x31de1c,_0x2916d2[_0x85c8c6(0x166)],_0x2916d2[_0x85c8c6(0x17e)],_0x2916d2[_0x85c8c6(0x164)]);}catch(_0x366317){const _0x35bd63=_0x366317 instanceof Error&&_0x85c8c6(0x152)in _0x366317?_0x366317:menuError(_0x85c8c6(0x15e),_0x85c8c6(0x14b)+_0x2916d2['createdId']+_0x85c8c6(0x151),_0x85c8c6(0x193)+_0x2916d2[_0x85c8c6(0x1ad)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x35bd63,_0x2916d2[_0x85c8c6(0x1a7)],{'stage':_0x85c8c6(0x159),'succeeded':[{'id':_0x2916d2['createdId'],'created':!![]}],'failed':{'id':_0x2916d2[_0x85c8c6(0x166)],'finalFactsConfirmed':![]},'after':_0x31de1c??{..._0x2916d2[_0x85c8c6(0x17e)],'id':_0x2916d2[_0x85c8c6(0x166)],'path':_0x2916d2[_0x85c8c6(0x164)]},'warnings':[_0x85c8c6(0x179)+_0x2916d2[_0x85c8c6(0x166)]+_0x85c8c6(0x15d)],'verification':{'status':_0x85c8c6(0x146),'targetId':_0x2916d2[_0x85c8c6(0x166)],'recovered':_0x2916d2[_0x85c8c6(0x19a)],'lookupCommand':_0x2916d2[_0x85c8c6(0x1ad)]}});}return{'snapshot':_0x2f5782,'fact':_0x31de1c};}function verifyCreatedFact(_0x43751c,_0x32bcd5,_0x2dc72d,_0x16c265){const _0x2d5165=a153_0x3504cc;if(!Number['isSafeInteger'](_0x43751c['id'])||_0x43751c['id']<=0x0||_0x43751c['id']!==_0x32bcd5)throw menuError('menu_verification_failed',_0x2d5165(0x17a),_0x2d5165(0x17d));const _0x172179=[[_0x2d5165(0x1b6),_0x43751c[_0x2d5165(0x1ac)],_0x2dc72d[_0x2d5165(0x1ac)]],['type',_0x43751c[_0x2d5165(0x1ab)],_0x2dc72d[_0x2d5165(0x1ab)]],[_0x2d5165(0x17c),_0x43751c[_0x2d5165(0x17c)],_0x2dc72d['label']],[_0x2d5165(0x149),_0x43751c[_0x2d5165(0x195)],_0x2dc72d['url']],['visibility',_0x43751c[_0x2d5165(0x162)],_0x2dc72d[_0x2d5165(0x162)]],['sort',_0x43751c[_0x2d5165(0x1b5)],_0x2dc72d[_0x2d5165(0x1b5)]]];for(const [_0x38b23a,_0x28cd86,_0x525bd9]of _0x172179){if(_0x28cd86!==_0x525bd9)throw menuError(_0x2d5165(0x15e),'Created\x20menu\x20'+_0x43751c['id']+_0x2d5165(0x156)+_0x38b23a+'.',_0x2d5165(0x196));}if(!_0x43751c[_0x2d5165(0x144)]['trim']()||_0x16c265!==null&&_0x43751c[_0x2d5165(0x144)]!==_0x16c265)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x43751c['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x2d5165(0x196));}function creationSuccess(_0xc8481f,_0x25d550,_0x34456e,_0x23097b){const _0x40ce48=a153_0x3504cc,_0x396bbf=mutationResult({..._0xc8481f,'after':_0x34456e,'dryRun':![],'succeeded':[{'id':_0x34456e['id'],'created':!![],'recovered':_0x23097b}],'verification':{'checkedBy':_0x40ce48(0x172),'snapshotHash':_0x25d550[_0x40ce48(0x19d)],'targetId':_0x34456e['id'],'recovered':_0x23097b,'path':_0x34456e[_0x40ce48(0x144)]}});return{'ok':!![],'message':_0x23097b?_0x40ce48(0x176)+_0x34456e['id']+'\x20after\x20response\x20loss.':_0x40ce48(0x148)+_0x34456e['id']+'.','data':{..._0x396bbf,'recovered':_0x23097b}};}function externalLinkCreateFailure(_0x3fbcc9,_0x5142da,_0x424ea6){const _0x1c501e=a153_0x3504cc;return menuFailure(safeMenuAddError(_0x3fbcc9),redactFailurePlan(_0x5142da),{..._0x424ea6,'succeeded':_0x424ea6['succeeded']?.[_0x1c501e(0x174)](redactFailureRecord),'failed':_0x424ea6['failed']?redactFailureRecord(_0x424ea6[_0x1c501e(0x146)]):undefined,'verification':_0x424ea6[_0x1c501e(0x159)]?redactFailureRecord(_0x424ea6[_0x1c501e(0x159)]):undefined,'after':_0x424ea6[_0x1c501e(0x1af)]===undefined?undefined:redactFailureValue(_0x424ea6[_0x1c501e(0x1af)])});}function redactFailurePlan(_0x384673){const _0x43e2ab=a153_0x3504cc;return{..._0x384673,'selector':redactFailureRecord(_0x384673['selector']),'before':redactFailureValue(_0x384673[_0x43e2ab(0x1a8)]),'after':redactFailureValue(_0x384673[_0x43e2ab(0x1af)]),'plannedActions':_0x384673['plannedActions']?.[_0x43e2ab(0x174)](_0x47506f=>({..._0x47506f,'body':redactFailureRecord(_0x47506f[_0x43e2ab(0x18a)])})),'succeeded':_0x384673[_0x43e2ab(0x18c)][_0x43e2ab(0x174)](redactFailureRecord),'failed':_0x384673[_0x43e2ab(0x146)][_0x43e2ab(0x174)](redactFailureRecord),'verification':_0x384673['verification']?redactFailureRecord(_0x384673[_0x43e2ab(0x159)]):undefined};}function redactFailureRecord(_0x3c578e){return redactFailureValue(_0x3c578e);}function a153_0x2a4a(_0x3aa9b8,_0x5353ed){_0x3aa9b8=_0x3aa9b8-0x142;const _0x34e69a=a153_0x34e6();let _0x2a4af9=_0x34e69a[_0x3aa9b8];return _0x2a4af9;}function redactFailureValue(_0x157239,_0x2b41f1=''){const _0x5685ba=a153_0x3504cc,_0xc73f38=_0x2b41f1['toLowerCase']()[_0x5685ba(0x18e)](/[^a-z0-9]/g,'');if([_0x5685ba(0x1b2),_0x5685ba(0x178),_0x5685ba(0x18f),'rawerror'][_0x5685ba(0x158)](_0xc73f38))return _0x5685ba(0x1a0);if(Array[_0x5685ba(0x194)](_0x157239))return _0x157239[_0x5685ba(0x174)](_0x25be11=>redactFailureValue(_0x25be11));if(_0x157239&&typeof _0x157239===_0x5685ba(0x180))return Object[_0x5685ba(0x165)](Object[_0x5685ba(0x1a1)](_0x157239)[_0x5685ba(0x174)](([_0x3368f6,_0x385613])=>[_0x3368f6,redactFailureValue(_0x385613,_0x3368f6)]));return _0x157239;}function safeMenuAddError(_0x232434){const _0x3d321d=a153_0x3504cc,_0x52b2dd=_0x232434 instanceof CliError?_0x232434['code']:_0x3d321d(0x19b);switch(_0x52b2dd){case _0x3d321d(0x173):return menuError(_0x52b2dd,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x3d321d(0x1c1));case'menu_permission_denied':return menuError(_0x52b2dd,_0x3d321d(0x15a),_0x3d321d(0x16a));case'menu_create_response_invalid':return menuError(_0x52b2dd,_0x3d321d(0x1b4),_0x3d321d(0x189));case _0x3d321d(0x15e):return menuError(_0x52b2dd,_0x3d321d(0x186),_0x3d321d(0x189));case _0x3d321d(0x16f):return menuError(_0x52b2dd,_0x3d321d(0x1bb),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x3d321d(0x19b):case _0x3d321d(0x14e):case'menu_parent_not_folder':case _0x3d321d(0x1a3):case'menu_sort_overflow':return menuError(_0x52b2dd,'External\x20menu\x20creation\x20failed.',_0x3d321d(0x199));default:return menuError(_0x3d321d(0x19b),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x2590dd){const _0x56525a=a153_0x3504cc;if(!(_0x2590dd instanceof Error)||!(_0x56525a(0x1bd)in _0x2590dd))return undefined;const _0x3b1cf8=_0x2590dd[_0x56525a(0x1bd)];if(!_0x3b1cf8||typeof _0x3b1cf8!=='object')return undefined;const _0x10e7f5=_0x3b1cf8[_0x56525a(0x146)];if(!Array[_0x56525a(0x194)](_0x10e7f5)||!_0x10e7f5[0x0]||typeof _0x10e7f5[0x0]!==_0x56525a(0x180))return undefined;return _0x10e7f5[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a154_0x35308d=a154_0x5712;(function(_0xf0aed7,_0x28d200){const _0x4c5a3c=a154_0x5712,_0x1242e0=_0xf0aed7();while(!![]){try{const _0x3c2622=-parseInt(_0x4c5a3c(0x1fc))/0x1*(parseInt(_0x4c5a3c(0x217))/0x2)+-parseInt(_0x4c5a3c(0x222))/0x3+-parseInt(_0x4c5a3c(0x226))/0x4*(parseInt(_0x4c5a3c(0x21c))/0x5)+parseInt(_0x4c5a3c(0x1f2))/0x6*(parseInt(_0x4c5a3c(0x1f0))/0x7)+-parseInt(_0x4c5a3c(0x1f4))/0x8*(-parseInt(_0x4c5a3c(0x229))/0x9)+parseInt(_0x4c5a3c(0x211))/0xa*(-parseInt(_0x4c5a3c(0x21e))/0xb)+parseInt(_0x4c5a3c(0x227))/0xc;if(_0x3c2622===_0x28d200)break;else _0x1242e0['push'](_0x1242e0['shift']());}catch(_0x3cee0f){_0x1242e0['push'](_0x1242e0['shift']());}}}(a154_0x49fe,0x25414));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a154_0x35308d(0x212),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a154_0x35308d(0x1f3),'risk':a154_0x35308d(0x232),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a154_0x35308d(0x20d),'type':a154_0x35308d(0x208),'required':!![],'description':a154_0x35308d(0x205)},{'name':a154_0x35308d(0x216),'type':a154_0x35308d(0x208),'required':!![],'description':a154_0x35308d(0x22d)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x556b3e){validateInput(_0x556b3e);},async 'dryRun'(_0x26dcad){const _0x5d07d0=a154_0x35308d;validateInput(_0x26dcad);const _0x12fd8e=await buildPlan(_0x26dcad,!![]);return menuDryRunResult(_0x12fd8e[_0x5d07d0(0x22e)],{'method':_0x5d07d0(0x212),'url':_0x5d07d0(0x20c),'body':_0x12fd8e[_0x5d07d0(0x1f5)],'description':_0x5d07d0(0x235)+_0x12fd8e[_0x5d07d0(0x1f5)]['id']+'.'});},async 'execute'(_0x4bf066){const _0x760779=a154_0x35308d;validateInput(_0x4bf066);const _0xfc8fea=await buildPlan(_0x4bf066,![]),{plan:_0x5a7f11,body:_0x2fbe89,before:_0x39c6de,noChanges:_0x117959}=_0xfc8fea,_0x37e0c2=_0x2fbe89['id'];if(_0x117959)return updateSuccess(_0x5a7f11,_0xfc8fea[_0x760779(0x20a)],_0x39c6de,!![],![]);await recheckMutationSnapshot(_0x4bf066,_0x5a7f11,'update\x20external\x20menu\x20URL',_0x37e0c2);try{await updateMenuEntity(_0x4bf066[_0x760779(0x231)],_0x4bf066[_0x760779(0x22c)],{'id':_0x2fbe89['id'],'url':_0x2fbe89[_0x760779(0x20d)]});}catch(_0xa272d7){const _0x19d648=mapMenuApiError(_0xa272d7,_0x760779(0x1fa),_0x37e0c2);if(isMenuResponseLoss(_0xa272d7)&&_0x19d648[_0x760779(0x215)]!==_0x760779(0x1fd))return recoverAfterResponseLoss(_0x4bf066,_0xfc8fea);throw menuFailure(_0x19d648,_0x5a7f11,{'stage':_0x760779(0x22b),'failed':{'id':_0x37e0c2},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x760779(0x1f8),'targetId':_0x37e0c2,'lookupCommand':buildLookupCommand(_0x4bf066[_0x760779(0x231)])}});}let _0x23fcb1,_0x1fcd30;try{_0x23fcb1=await fetchMenuSnapshot(_0x4bf066['appCode'],_0x4bf066[_0x760779(0x22c)]),_0x1fcd30=requireMenu(_0x23fcb1,_0x37e0c2),verifyUpdatedFact(_0x39c6de,_0x1fcd30,_0x2fbe89[_0x760779(0x20d)]);}catch(_0x2ac8a4){const _0x52d73c=describeMenuErrorCause(_0x2ac8a4,_0x760779(0x1f9),_0x37e0c2),_0x2a5bce=asVerificationError(_0x2ac8a4,'Update\x20request\x20for\x20menu\x20'+_0x37e0c2+_0x760779(0x224));throw menuFailure(_0x2a5bce,_0x5a7f11,{'stage':_0x760779(0x237),'succeeded':[{'id':_0x37e0c2,'updateRequested':!![]}],'failed':{'id':_0x37e0c2,'requestedStateConfirmed':![],..._0x52d73c},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x760779(0x1f8),'targetId':_0x37e0c2,'lookupCommand':buildLookupCommand(_0x4bf066[_0x760779(0x231)])}});}return updateSuccess(_0x5a7f11,_0x23fcb1,_0x1fcd30,![],![]);}};function a154_0x5712(_0x25022d,_0x46accf){_0x25022d=_0x25022d-0x1ef;const _0x49fe38=a154_0x49fe();let _0x571237=_0x49fe38[_0x25022d];return _0x571237;}function validateInput(_0x4e33aa){const _0x151510=a154_0x35308d;validateExactId(_0x4e33aa),requiredUrl(_0x4e33aa,'url'),requiredExpectedUrl(_0x4e33aa),parseParentId(_0x4e33aa,_0x151510(0x20f),{'required':!![]});}function a154_0x49fe(){const _0x58d81c=['str','\x20direct\x20child\x20menu(s).','trim','Response\x20was\x20lost\x20and\x20menu\x20','\x20has\x20an\x20empty\x20platform\x20path.','New\x20external\x20HTTPS\x20URL','menu_update_recovery_required','unknown','string','visible','snapshot','flagMissing','/smartapi/menu/update','url','\x20could\x20not\x20be\x20verified\x20safely','expect-parent-id','readbackFailed','30hiBiKc','POST','external-link-update','replace','code','expect-url','8dKRhjQ','Menu\x20','type','menu\x20list','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','162505PRGTjw','label','572363lpoQVq','sort','parentId','rabetbase\x20menu\x20list\x20--appcode\x20','439854zspZFk','\x22,\x20not\x20iframe\x20or\x20link.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','28pxyKmR','8376396TTKdxi','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','150057iqPeNn','path','update','cookie','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','plan','byId','childrenCount','appCode','write','iframe','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_path_missing','verification','menu_state_drift','update-recovery','Updated\x20external\x20URL\x20for\x20menu\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Run\x20','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20has\x20','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','13230dEPZOH','\x20changed\x20during\x20the\x20URL-only\x20update.','474kuMiFs','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','40MSnzFs','body','menu_external_link_not_leaf','\x27\x5c\x27\x27','failed','verify\x20external\x20menu\x20URL\x20update','update\x20external\x20menu\x20URL','\x20is\x20type\x20\x22','61972nOeret','menu_permission_denied','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','requestedUrlObserved'];a154_0x49fe=function(){return _0x58d81c;};return a154_0x49fe();}function requiredUrl(_0x505752,_0x3277d7){const _0x2e8b94=a154_0x35308d;if(!hasFlag(_0x505752,_0x3277d7)||!_0x505752['str'](_0x3277d7)['trim']())throw CliErrors[_0x2e8b94(0x20b)](_0x3277d7);return validateExternalMenuUrl(_0x505752[_0x2e8b94(0x200)](_0x3277d7));}function requiredExpectedUrl(_0x7b7b68){const _0x5bea85=a154_0x35308d;if(!hasFlag(_0x7b7b68,'expect-url')||!_0x7b7b68[_0x5bea85(0x200)]('expect-url')['trim']())throw CliErrors[_0x5bea85(0x20b)]('expect-url');return _0x7b7b68[_0x5bea85(0x200)]('expect-url')[_0x5bea85(0x202)]();}async function buildPlan(_0x4d3e96,_0x1e772e){const _0x34805c=a154_0x35308d,_0x120b26=validateExactId(_0x4d3e96),_0x63ab43=requiredUrl(_0x4d3e96,_0x34805c(0x20d)),_0x4fb1f0=requiredExpectedUrl(_0x4d3e96),_0x48da0d=parseParentId(_0x4d3e96,_0x34805c(0x20f),{'required':!![]}),_0x2001a4=await fetchMutationSnapshot(_0x4d3e96,'update\x20external\x20menu\x20URL',_0x120b26),_0x384c8f=requireMenu(_0x2001a4,_0x120b26);assertExternalLinkLeaf(_0x384c8f);if(_0x384c8f[_0x34805c(0x220)]!==_0x48da0d)throw menuError(_0x34805c(0x238),'Menu\x20'+_0x120b26+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x48da0d)+',\x20current\x20'+formatParent(_0x384c8f['parentId'])+'.',_0x34805c(0x234));const _0x20c311=_0x384c8f[_0x34805c(0x20d)]===_0x63ab43;if(!_0x20c311&&_0x384c8f[_0x34805c(0x20d)]!==_0x4fb1f0)throw menuError(_0x34805c(0x238),'Menu\x20'+_0x120b26+_0x34805c(0x21b),_0x34805c(0x228));const _0x33b59f={'id':_0x120b26,'appCode':_0x4d3e96[_0x34805c(0x231)],'url':_0x63ab43},_0x7437e6={..._0x384c8f,'url':_0x63ab43};return{'body':_0x33b59f,'before':_0x384c8f,'noChanges':_0x20c311,'snapshot':_0x2001a4,'plan':mutationResult({'operation':_0x34805c(0x213),'selector':{'id':_0x120b26},'before':_0x384c8f,'after':_0x7437e6,'dryRun':_0x1e772e,'backend':[...BACKEND],'plannedActions':_0x20c311?[]:[{'stage':'update-external-link-url','method':_0x34805c(0x212),'path':'/smartapi/menu/update','body':_0x33b59f}],'snapshotHash':_0x2001a4['hash'],'warnings':_0x20c311?[_0x34805c(0x1fe)]:[]})};}function assertExternalLinkLeaf(_0x28e60b){const _0x63fbd0=a154_0x35308d;if(_0x28e60b['type']!==_0x63fbd0(0x233)&&_0x28e60b[_0x63fbd0(0x219)]!=='link')throw menuError('menu_external_link_type_required',_0x63fbd0(0x218)+_0x28e60b['id']+_0x63fbd0(0x1fb)+(_0x28e60b[_0x63fbd0(0x219)]||_0x63fbd0(0x207))+_0x63fbd0(0x223),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x28e60b['childrenCount']!==0x0)throw menuError(_0x63fbd0(0x1f6),_0x63fbd0(0x218)+_0x28e60b['id']+_0x63fbd0(0x23e)+_0x28e60b[_0x63fbd0(0x230)]+_0x63fbd0(0x201),_0x63fbd0(0x23b));if(!_0x28e60b[_0x63fbd0(0x22a)][_0x63fbd0(0x202)]())throw menuError(_0x63fbd0(0x236),_0x63fbd0(0x218)+_0x28e60b['id']+_0x63fbd0(0x204),_0x63fbd0(0x225));}function verifyUpdatedFact(_0x1e6789,_0x1e1455,_0x3c8fb0){const _0x4b6718=a154_0x35308d;assertExternalLinkLeaf(_0x1e1455);const _0x496683=[['id',_0x1e1455['id'],_0x1e6789['id']],[_0x4b6718(0x21d),_0x1e1455[_0x4b6718(0x21d)],_0x1e6789[_0x4b6718(0x21d)]],[_0x4b6718(0x219),_0x1e1455[_0x4b6718(0x219)],_0x1e6789[_0x4b6718(0x219)]],['path',_0x1e1455[_0x4b6718(0x22a)],_0x1e6789[_0x4b6718(0x22a)]],[_0x4b6718(0x220),_0x1e1455[_0x4b6718(0x220)],_0x1e6789[_0x4b6718(0x220)]],[_0x4b6718(0x21f),_0x1e1455[_0x4b6718(0x21f)],_0x1e6789['sort']],[_0x4b6718(0x209),_0x1e1455[_0x4b6718(0x209)],_0x1e6789[_0x4b6718(0x209)]]];for(const [_0x4897ea,_0x3af6f6,_0x5e6f6a]of _0x496683){assertVerified(_0x3af6f6===_0x5e6f6a,_0x4b6718(0x218)+_0x1e6789['id']+'\x20'+_0x4897ea+_0x4b6718(0x1f1));}assertVerified(_0x1e1455[_0x4b6718(0x20d)]===_0x3c8fb0,_0x4b6718(0x218)+_0x1e6789['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x4d3896,_0x4048f6,_0xa0e5e,_0xc6a80a,_0x2f7ef9){const _0xb56c03=a154_0x35308d,_0xd1add2=_0xa0e5e['id'],_0x221514=mutationResult({..._0x4d3896,'after':_0xa0e5e,'dryRun':![],'succeeded':[{'id':_0xd1add2,'updated':!_0xc6a80a,'skipped':_0xc6a80a,'recovered':_0x2f7ef9}],'verification':{'checkedBy':_0xb56c03(0x21a),'snapshotHash':_0x4048f6['hash'],'targetId':_0xd1add2,'matchesRequestedState':!![],'recovered':_0x2f7ef9}});return{'ok':!![],'message':_0x2f7ef9?_0xb56c03(0x23d)+_0xd1add2+'.':_0xc6a80a?_0xb56c03(0x218)+_0xd1add2+'\x20already\x20matches\x20the\x20requested\x20URL.':_0xb56c03(0x23a)+_0xd1add2+'.','data':{..._0x221514,'recovered':_0x2f7ef9}};}async function recoverAfterResponseLoss(_0x5026b1,_0x255b76){const _0x5829cf=a154_0x35308d,{plan:_0x2acec9,before:_0x316baa,body:_0x2ba234}=_0x255b76;let _0x3eede8;try{_0x3eede8=await fetchMenuSnapshot(_0x5026b1['appCode'],_0x5026b1[_0x5829cf(0x22c)]);}catch{throw recoveryRequired(_0x2acec9,_0x5026b1[_0x5829cf(0x231)],{'id':_0x2ba234['id'],'readbackFailed':!![]});}const _0x3720af=_0x3eede8[_0x5829cf(0x22f)]['get'](_0x2ba234['id']);if(!_0x3720af||_0x3720af[_0x5829cf(0x20d)]!==_0x2ba234[_0x5829cf(0x20d)])throw recoveryRequired(_0x2acec9,_0x5026b1[_0x5829cf(0x231)],{'id':_0x2ba234['id'],'requestedUrlObserved':![],'after':_0x3720af??null});try{verifyUpdatedFact(_0x316baa,_0x3720af,_0x2ba234[_0x5829cf(0x20d)]);}catch(_0x14d834){const _0x5b9223=asVerificationError(_0x14d834,_0x5829cf(0x203)+_0x2ba234['id']+_0x5829cf(0x20e));throw menuFailure(_0x5b9223,_0x2acec9,{'stage':_0x5829cf(0x239),'succeeded':[{'id':_0x2ba234['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x2ba234['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3720af,'warnings':[_0x5829cf(0x1ef)],'verification':{'status':_0x5829cf(0x1f8),'targetId':_0x2ba234['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5026b1[_0x5829cf(0x231)])}});}return updateSuccess(_0x2acec9,_0x3eede8,_0x3720af,![],!![]);}function recoveryRequired(_0x285037,_0x259870,_0x2462e7){const _0x550daf=a154_0x35308d,_0x2cc4de=menuError(_0x550daf(0x206),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x550daf(0x23c)+buildLookupCommand(_0x259870)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x2cc4de,_0x285037,{'stage':_0x550daf(0x239),'failed':{'id':_0x2462e7['id'],..._0x2462e7[_0x550daf(0x1ff)]===undefined?{}:{'requestedUrlObserved':_0x2462e7[_0x550daf(0x1ff)]},..._0x2462e7[_0x550daf(0x210)]?{'readbackFailed':!![]}:{}},'after':_0x2462e7['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x550daf(0x1f8),'targetId':_0x2462e7['id'],..._0x2462e7[_0x550daf(0x1ff)]===undefined?{}:{'requestedUrlObserved':_0x2462e7[_0x550daf(0x1ff)]},..._0x2462e7[_0x550daf(0x210)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x259870)}});}function buildLookupCommand(_0x1189f8){const _0x3c7d8d=a154_0x35308d,_0x10b867='\x27'+_0x1189f8[_0x3c7d8d(0x214)](/'/g,_0x3c7d8d(0x1f7))+'\x27';return _0x3c7d8d(0x221)+_0x10b867+'\x20--format\x20compress';}
|
|
1
|
+
const a154_0x4b4a89=a154_0x2e32;(function(_0x491f35,_0x272538){const _0x975c1f=a154_0x2e32,_0x32e5e7=_0x491f35();while(!![]){try{const _0x62b7ea=-parseInt(_0x975c1f(0xb1))/0x1*(parseInt(_0x975c1f(0xbb))/0x2)+-parseInt(_0x975c1f(0xc9))/0x3*(-parseInt(_0x975c1f(0xb0))/0x4)+-parseInt(_0x975c1f(0xc2))/0x5*(parseInt(_0x975c1f(0xd3))/0x6)+-parseInt(_0x975c1f(0xd8))/0x7*(parseInt(_0x975c1f(0xce))/0x8)+parseInt(_0x975c1f(0xc5))/0x9+-parseInt(_0x975c1f(0xcf))/0xa*(-parseInt(_0x975c1f(0xe6))/0xb)+parseInt(_0x975c1f(0xa6))/0xc;if(_0x62b7ea===_0x272538)break;else _0x32e5e7['push'](_0x32e5e7['shift']());}catch(_0x55ddf6){_0x32e5e7['push'](_0x32e5e7['shift']());}}}(a154_0x3980,0xe42e9));function a154_0x3980(){const _0x2316a4=['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','\x22,\x20not\x20iframe\x20or\x20link.','16824napSEa','cookie','visible','update','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','3395BGQZYh','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','verify\x20external\x20menu\x20URL\x20update','\x20parent\x20changed:\x20expected\x20','parentId','url','menu_permission_denied','Update\x20request\x20for\x20menu\x20','update-recovery','get','failed','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','/smartapi/menu/update','44nshxjH','menu\x20list','childrenCount','update\x20external\x20menu\x20URL','requestedUrlObserved','menu_external_link_path_missing','\x20could\x20not\x20be\x20verified\x20safely','\x20has\x20an\x20empty\x20platform\x20path.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_external_link_not_leaf','\x20--format\x20compress','verification','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','path','external-link-update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Response\x20was\x20lost\x20and\x20menu\x20','appCode','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','hash','flagMissing','sort','after','6678708NjQBld','expect-url','byId','iframe','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu','\x20URL\x20update\x20did\x20not\x20take\x20effect.','expect-parent-id','POST','body','44aIdETG','173xmnFRz','menu_state_drift','type','\x20already\x20matches\x20the\x20requested\x20URL.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','write','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--appcode\x20','Menu\x20',',\x20current\x20','10278wiFcRG','Run\x20','menu_update_recovery_required','label','New\x20external\x20HTTPS\x20URL','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','readbackFailed','865XVYsSo','update-external-link-url','menu_external_link_type_required','6692526KEyVVe','plan','\x27\x5c\x27\x27','replace','347910eBYqUF','trim','link','\x20has\x20','str','10360akEzJi','902510AmjqNX','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.'];a154_0x3980=function(){return _0x2316a4;};return a154_0x3980();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a154_0x4b4a89(0xae),'path':a154_0x4b4a89(0xe5)}];export const menuExternalLinkUpdate={'service':a154_0x4b4a89(0xab),'command':a154_0x4b4a89(0xf5),'description':a154_0x4b4a89(0xf9),'risk':a154_0x4b4a89(0xb6),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a154_0x4b4a89(0xbf)},{'name':a154_0x4b4a89(0xa7),'type':'string','required':!![],'description':a154_0x4b4a89(0xe4)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5a5878){validateInput(_0x5a5878);},async 'dryRun'(_0x80aed6){const _0x56558c=a154_0x4b4a89;validateInput(_0x80aed6);const _0x529cad=await buildPlan(_0x80aed6,!![]);return menuDryRunResult(_0x529cad[_0x56558c(0xc6)],{'method':_0x56558c(0xae),'url':_0x56558c(0xe5),'body':_0x529cad['body'],'description':_0x56558c(0xb5)+_0x529cad[_0x56558c(0xaf)]['id']+'.'});},async 'execute'(_0x37b405){const _0x40777d=a154_0x4b4a89;validateInput(_0x37b405);const _0x41ac5c=await buildPlan(_0x37b405,![]),{plan:_0x267746,body:_0x21936e,before:_0xe422ec,noChanges:_0x3544ff}=_0x41ac5c,_0x3629f4=_0x21936e['id'];if(_0x3544ff)return updateSuccess(_0x267746,_0x41ac5c['snapshot'],_0xe422ec,!![],![]);await recheckMutationSnapshot(_0x37b405,_0x267746,_0x40777d(0xe9),_0x3629f4);try{await updateMenuEntity(_0x37b405[_0x40777d(0xf8)],_0x37b405[_0x40777d(0xd4)],{'id':_0x21936e['id'],'url':_0x21936e[_0x40777d(0xdd)]});}catch(_0x36f8f8){const _0x7f5dd=mapMenuApiError(_0x36f8f8,'update\x20external\x20menu\x20URL',_0x3629f4);if(isMenuResponseLoss(_0x36f8f8)&&_0x7f5dd['code']!==_0x40777d(0xde))return recoverAfterResponseLoss(_0x37b405,_0x41ac5c);throw menuFailure(_0x7f5dd,_0x267746,{'stage':_0x40777d(0xd6),'failed':{'id':_0x3629f4},'warnings':[_0x40777d(0xee)],'verification':{'status':'failed','targetId':_0x3629f4,'lookupCommand':buildLookupCommand(_0x37b405[_0x40777d(0xf8)])}});}let _0x21cf67,_0x452588;try{_0x21cf67=await fetchMenuSnapshot(_0x37b405[_0x40777d(0xf8)],_0x37b405[_0x40777d(0xd4)]),_0x452588=requireMenu(_0x21cf67,_0x3629f4),verifyUpdatedFact(_0xe422ec,_0x452588,_0x21936e['url']);}catch(_0x509dd4){const _0x29daf6=describeMenuErrorCause(_0x509dd4,_0x40777d(0xda),_0x3629f4),_0x480064=asVerificationError(_0x509dd4,_0x40777d(0xdf)+_0x3629f4+_0x40777d(0xaa));throw menuFailure(_0x480064,_0x267746,{'stage':_0x40777d(0xf1),'succeeded':[{'id':_0x3629f4,'updateRequested':!![]}],'failed':{'id':_0x3629f4,'requestedStateConfirmed':![],..._0x29daf6},'warnings':[_0x40777d(0xc0)],'verification':{'status':_0x40777d(0xe2),'targetId':_0x3629f4,'lookupCommand':buildLookupCommand(_0x37b405[_0x40777d(0xf8)])}});}return updateSuccess(_0x267746,_0x21cf67,_0x452588,![],![]);}};function validateInput(_0xca9c03){const _0xb2ccf1=a154_0x4b4a89;validateExactId(_0xca9c03),requiredUrl(_0xca9c03,_0xb2ccf1(0xdd)),requiredExpectedUrl(_0xca9c03),parseParentId(_0xca9c03,_0xb2ccf1(0xad),{'required':!![]});}function a154_0x2e32(_0xeb3b6c,_0x242105){_0xeb3b6c=_0xeb3b6c-0xa4;const _0x398093=a154_0x3980();let _0x2e32d2=_0x398093[_0xeb3b6c];return _0x2e32d2;}function requiredUrl(_0x182b15,_0xa50569){const _0x13da40=a154_0x4b4a89;if(!hasFlag(_0x182b15,_0xa50569)||!_0x182b15[_0x13da40(0xcd)](_0xa50569)['trim']())throw CliErrors[_0x13da40(0xfb)](_0xa50569);return validateExternalMenuUrl(_0x182b15['str'](_0xa50569));}function requiredExpectedUrl(_0xa7fc78){const _0x1caa95=a154_0x4b4a89;if(!hasFlag(_0xa7fc78,_0x1caa95(0xa7))||!_0xa7fc78['str'](_0x1caa95(0xa7))['trim']())throw CliErrors[_0x1caa95(0xfb)]('expect-url');return _0xa7fc78[_0x1caa95(0xcd)](_0x1caa95(0xa7))[_0x1caa95(0xca)]();}async function buildPlan(_0x52e227,_0x59cc3e){const _0x4a163f=a154_0x4b4a89,_0x536e5b=validateExactId(_0x52e227),_0x17b9b5=requiredUrl(_0x52e227,_0x4a163f(0xdd)),_0x382053=requiredExpectedUrl(_0x52e227),_0x3c1dd1=parseParentId(_0x52e227,_0x4a163f(0xad),{'required':!![]}),_0x5848e9=await fetchMutationSnapshot(_0x52e227,_0x4a163f(0xe9),_0x536e5b),_0x22d7ed=requireMenu(_0x5848e9,_0x536e5b);assertExternalLinkLeaf(_0x22d7ed);if(_0x22d7ed[_0x4a163f(0xdc)]!==_0x3c1dd1)throw menuError('menu_state_drift',_0x4a163f(0xb9)+_0x536e5b+_0x4a163f(0xdb)+formatParent(_0x3c1dd1)+_0x4a163f(0xba)+formatParent(_0x22d7ed['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x52db10=_0x22d7ed[_0x4a163f(0xdd)]===_0x17b9b5;if(!_0x52db10&&_0x22d7ed[_0x4a163f(0xdd)]!==_0x382053)throw menuError(_0x4a163f(0xb2),_0x4a163f(0xb9)+_0x536e5b+_0x4a163f(0xf6),_0x4a163f(0xd0));const _0x68ec97={'id':_0x536e5b,'appCode':_0x52e227[_0x4a163f(0xf8)],'url':_0x17b9b5},_0x5d612c={..._0x22d7ed,'url':_0x17b9b5};return{'body':_0x68ec97,'before':_0x22d7ed,'noChanges':_0x52db10,'snapshot':_0x5848e9,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x536e5b},'before':_0x22d7ed,'after':_0x5d612c,'dryRun':_0x59cc3e,'backend':[...BACKEND],'plannedActions':_0x52db10?[]:[{'stage':_0x4a163f(0xc3),'method':_0x4a163f(0xae),'path':_0x4a163f(0xe5),'body':_0x68ec97}],'snapshotHash':_0x5848e9[_0x4a163f(0xfa)],'warnings':_0x52db10?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x53b04a){const _0x3be154=a154_0x4b4a89;if(_0x53b04a['type']!==_0x3be154(0xa9)&&_0x53b04a[_0x3be154(0xb3)]!==_0x3be154(0xcb))throw menuError(_0x3be154(0xc4),_0x3be154(0xb9)+_0x53b04a['id']+_0x3be154(0xf2)+(_0x53b04a[_0x3be154(0xb3)]||'unknown')+_0x3be154(0xd2),_0x3be154(0xe3));if(_0x53b04a[_0x3be154(0xe8)]!==0x0)throw menuError(_0x3be154(0xef),_0x3be154(0xb9)+_0x53b04a['id']+_0x3be154(0xcc)+_0x53b04a[_0x3be154(0xe8)]+'\x20direct\x20child\x20menu(s).','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x53b04a['path']['trim']())throw menuError(_0x3be154(0xeb),_0x3be154(0xb9)+_0x53b04a['id']+_0x3be154(0xed),_0x3be154(0xd7));}function verifyUpdatedFact(_0xe50524,_0x531e18,_0x5d7b67){const _0x17df00=a154_0x4b4a89;assertExternalLinkLeaf(_0x531e18);const _0x353d07=[['id',_0x531e18['id'],_0xe50524['id']],[_0x17df00(0xbe),_0x531e18[_0x17df00(0xbe)],_0xe50524[_0x17df00(0xbe)]],['type',_0x531e18[_0x17df00(0xb3)],_0xe50524[_0x17df00(0xb3)]],[_0x17df00(0xf4),_0x531e18[_0x17df00(0xf4)],_0xe50524['path']],[_0x17df00(0xdc),_0x531e18[_0x17df00(0xdc)],_0xe50524['parentId']],[_0x17df00(0xa4),_0x531e18[_0x17df00(0xa4)],_0xe50524[_0x17df00(0xa4)]],[_0x17df00(0xd5),_0x531e18[_0x17df00(0xd5)],_0xe50524[_0x17df00(0xd5)]]];for(const [_0x3253e8,_0x129e1a,_0x214dc7]of _0x353d07){assertVerified(_0x129e1a===_0x214dc7,_0x17df00(0xb9)+_0xe50524['id']+'\x20'+_0x3253e8+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x531e18[_0x17df00(0xdd)]===_0x5d7b67,_0x17df00(0xb9)+_0xe50524['id']+_0x17df00(0xac));}function updateSuccess(_0x3585e8,_0x234cac,_0x4b18fc,_0x5b767c,_0x89f37d){const _0x3e7a17=a154_0x4b4a89,_0x1e6cb5=_0x4b18fc['id'],_0x163255=mutationResult({..._0x3585e8,'after':_0x4b18fc,'dryRun':![],'succeeded':[{'id':_0x1e6cb5,'updated':!_0x5b767c,'skipped':_0x5b767c,'recovered':_0x89f37d}],'verification':{'checkedBy':_0x3e7a17(0xe7),'snapshotHash':_0x234cac[_0x3e7a17(0xfa)],'targetId':_0x1e6cb5,'matchesRequestedState':!![],'recovered':_0x89f37d}});return{'ok':!![],'message':_0x89f37d?_0x3e7a17(0xd9)+_0x1e6cb5+'.':_0x5b767c?'Menu\x20'+_0x1e6cb5+_0x3e7a17(0xb4):_0x3e7a17(0xf3)+_0x1e6cb5+'.','data':{..._0x163255,'recovered':_0x89f37d}};}async function recoverAfterResponseLoss(_0x460b81,_0x1dceb0){const _0x4f1f34=a154_0x4b4a89,{plan:_0x207c6d,before:_0x4de6cf,body:_0x3a6642}=_0x1dceb0;let _0x39995f;try{_0x39995f=await fetchMenuSnapshot(_0x460b81[_0x4f1f34(0xf8)],_0x460b81[_0x4f1f34(0xd4)]);}catch{throw recoveryRequired(_0x207c6d,_0x460b81[_0x4f1f34(0xf8)],{'id':_0x3a6642['id'],'readbackFailed':!![]});}const _0x36552c=_0x39995f[_0x4f1f34(0xa8)][_0x4f1f34(0xe1)](_0x3a6642['id']);if(!_0x36552c||_0x36552c[_0x4f1f34(0xdd)]!==_0x3a6642[_0x4f1f34(0xdd)])throw recoveryRequired(_0x207c6d,_0x460b81['appCode'],{'id':_0x3a6642['id'],'requestedUrlObserved':![],'after':_0x36552c??null});try{verifyUpdatedFact(_0x4de6cf,_0x36552c,_0x3a6642[_0x4f1f34(0xdd)]);}catch(_0x4fb88f){const _0x4f719f=asVerificationError(_0x4fb88f,_0x4f1f34(0xf7)+_0x3a6642['id']+_0x4f1f34(0xec));throw menuFailure(_0x4f719f,_0x207c6d,{'stage':'update-recovery','succeeded':[{'id':_0x3a6642['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3a6642['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x36552c,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x4f1f34(0xe2),'targetId':_0x3a6642['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x460b81['appCode'])}});}return updateSuccess(_0x207c6d,_0x39995f,_0x36552c,![],!![]);}function recoveryRequired(_0x9465da,_0x43d3e0,_0x1f974c){const _0x57ec36=a154_0x4b4a89,_0x5c5118=menuError(_0x57ec36(0xbd),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x57ec36(0xbc)+buildLookupCommand(_0x43d3e0)+_0x57ec36(0xb7));return menuFailure(_0x5c5118,_0x9465da,{'stage':_0x57ec36(0xe0),'failed':{'id':_0x1f974c['id'],..._0x1f974c[_0x57ec36(0xea)]===undefined?{}:{'requestedUrlObserved':_0x1f974c[_0x57ec36(0xea)]},..._0x1f974c[_0x57ec36(0xc1)]?{'readbackFailed':!![]}:{}},'after':_0x1f974c[_0x57ec36(0xa5)],'warnings':[_0x57ec36(0xd1)],'verification':{'status':_0x57ec36(0xe2),'targetId':_0x1f974c['id'],..._0x1f974c['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1f974c[_0x57ec36(0xea)]},..._0x1f974c[_0x57ec36(0xc1)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x43d3e0)}});}function buildLookupCommand(_0x2c5394){const _0x1bf669=a154_0x4b4a89,_0x3c26dd='\x27'+_0x2c5394[_0x1bf669(0xc8)](/'/g,_0x1bf669(0xc7))+'\x27';return _0x1bf669(0xb8)+_0x3c26dd+_0x1bf669(0xf0);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a155_0x274cb6=a155_0x55cd;(function(_0x39623b,_0xd333c2){const _0x202b27=a155_0x55cd,_0x28ef9d=_0x39623b();while(!![]){try{const _0x233c2d=parseInt(_0x202b27(0x219))/0x1*(parseInt(_0x202b27(0x20d))/0x2)+-parseInt(_0x202b27(0x1ed))/0x3*(parseInt(_0x202b27(0x1f4))/0x4)+parseInt(_0x202b27(0x1e7))/0x5+parseInt(_0x202b27(0x1d8))/0x6*(parseInt(_0x202b27(0x21a))/0x7)+-parseInt(_0x202b27(0x211))/0x8*(parseInt(_0x202b27(0x1fa))/0x9)+parseInt(_0x202b27(0x20f))/0xa+-parseInt(_0x202b27(0x1fd))/0xb*(parseInt(_0x202b27(0x205))/0xc);if(_0x233c2d===_0xd333c2)break;else _0x28ef9d['push'](_0x28ef9d['shift']());}catch(_0x5d7559){_0x28ef9d['push'](_0x28ef9d['shift']());}}}(a155_0x22db,0xdd6c4));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a155_0x274cb6(0x1e5),'path':'/smartapi/menu/create'}];function a155_0x55cd(_0x2cb7a2,_0x5320f7){_0x2cb7a2=_0x2cb7a2-0x1d8;const _0x22db1d=a155_0x22db();let _0x55cd64=_0x22db1d[_0x2cb7a2];return _0x55cd64;}export const menuGroupCreate={'service':a155_0x274cb6(0x1ec),'command':'group-create','description':a155_0x274cb6(0x1f5),'risk':a155_0x274cb6(0x1f8),'structuredErrors':!![],'flags':[{'name':a155_0x274cb6(0x215),'type':a155_0x274cb6(0x200),'required':!![],'description':a155_0x274cb6(0x217)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2893d7){validateCreateInput(_0x2893d7);},async 'dryRun'(_0x1ece61){const _0x54447f=a155_0x274cb6,_0x2cb855=await buildCreatePlan(_0x1ece61,!![]),_0x248e67=_0x2cb855[_0x54447f(0x202)];return menuDryRunResult(_0x2cb855,{'method':_0x54447f(0x1e5),'url':_0x54447f(0x1dc),'body':{'parentId':toApiParentId(_0x248e67[_0x54447f(0x1db)]),'label':_0x248e67[_0x54447f(0x215)],'type':_0x54447f(0x1f3),'visible':!![],'sort':_0x248e67[_0x54447f(0x1fe)],'extend':{}},'description':_0x54447f(0x1f2)+String(_0x248e67[_0x54447f(0x215)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x23df9b){const _0x3de5b0=a155_0x274cb6;validateCreateInput(_0x23df9b);const _0x74c4fb=await buildCreatePlan(_0x23df9b,![]),_0x6ba41d=_0x74c4fb['after'];await recheckMutationSnapshot(_0x23df9b,_0x74c4fb,_0x3de5b0(0x1ff));let _0x33d55f;try{_0x33d55f=await createMenuEntity(_0x23df9b[_0x3de5b0(0x1eb)],_0x23df9b[_0x3de5b0(0x1ef)],{'parentId':toApiParentId(_0x6ba41d['parentId']),'label':String(_0x6ba41d[_0x3de5b0(0x215)]),'type':_0x3de5b0(0x1f3),'visible':!![],'sort':Number(_0x6ba41d[_0x3de5b0(0x1fe)]),'extend':{}});}catch(_0x11da3b){const _0x5b7136=mapMenuApiError(_0x11da3b,_0x3de5b0(0x1ff));throw menuFailure(_0x5b7136,_0x74c4fb,{'stage':_0x3de5b0(0x21b),'failed':{}});}const _0x5b7acb=Number(_0x33d55f['id']);if(!Number[_0x3de5b0(0x1e1)](_0x5b7acb)||_0x5b7acb<=0x0){const _0x4dea72=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x3de5b0(0x1dd));throw menuFailure(_0x4dea72,_0x74c4fb,{'stage':_0x3de5b0(0x1e3),'failed':{'createdId':_0x33d55f['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':_0x3de5b0(0x21d),'lookupCommand':_0x3de5b0(0x218)}});}const _0xaf8452=typeof _0x33d55f['path']===_0x3de5b0(0x200)?_0x33d55f[_0x3de5b0(0x21c)]:'';if(!_0xaf8452[_0x3de5b0(0x20c)]()){const _0x1c5e47=menuError('menu_create_response_invalid',_0x3de5b0(0x216)+_0x5b7acb+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x3de5b0(0x214));throw menuFailure(_0x1c5e47,_0x74c4fb,{'stage':'create-response-validation','succeeded':[{'id':_0x5b7acb,'created':!![]}],'failed':{'id':_0x5b7acb,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x5b7acb+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x6ba41d,'id':_0x5b7acb,'path':_0xaf8452},'verification':{'status':_0x3de5b0(0x21d),'lookupCommand':_0x3de5b0(0x218),'targetId':_0x5b7acb}});}let _0x301e86;try{_0x301e86=await fetchMenuSnapshot(_0x23df9b['appCode'],_0x23df9b['cookie']);}catch(_0x12e047){const _0x1a4592=describeMenuErrorCause(_0x12e047,_0x3de5b0(0x1e0),_0x5b7acb),_0x4dc517=asVerificationError(_0x12e047,_0x3de5b0(0x208)+_0x5b7acb+_0x3de5b0(0x1f1));throw menuFailure(_0x4dc517,_0x74c4fb,{'stage':_0x3de5b0(0x213),'succeeded':[{'id':_0x5b7acb,'created':!![],'path':_0xaf8452}],'failed':{'id':_0x5b7acb,'finalFactsConfirmed':![],..._0x1a4592},'warnings':['Folder\x20'+_0x5b7acb+_0x3de5b0(0x21e)+JSON[_0x3de5b0(0x20a)](_0xaf8452)+_0x3de5b0(0x1ee)],'after':{..._0x6ba41d,'id':_0x5b7acb,'path':_0xaf8452},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5b7acb}});}const _0x598a56=_0x301e86[_0x3de5b0(0x207)][_0x3de5b0(0x1fb)](_0x5b7acb);let _0x233719;try{assertVerified(Boolean(_0x598a56),_0x3de5b0(0x204)+_0x5b7acb+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x233719=_0x598a56,assertVerified(_0x233719[_0x3de5b0(0x1e2)]===_0x3de5b0(0x1f3),_0x3de5b0(0x1fc)+_0x5b7acb+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x233719[_0x3de5b0(0x215)]===_0x6ba41d[_0x3de5b0(0x215)],_0x3de5b0(0x204)+_0x5b7acb+_0x3de5b0(0x1da)),assertVerified(_0x233719['path']===_0xaf8452&&Boolean(_0x233719['path']['trim']()),_0x3de5b0(0x204)+_0x5b7acb+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x233719[_0x3de5b0(0x1e8)]===!![],_0x3de5b0(0x204)+_0x5b7acb+_0x3de5b0(0x1df)),assertVerified(_0x233719[_0x3de5b0(0x212)][_0x3de5b0(0x1e4)]===0x0,_0x3de5b0(0x204)+_0x5b7acb+'\x20has\x20resources.'),assertVerified(_0x233719[_0x3de5b0(0x1de)]===0x0,_0x3de5b0(0x204)+_0x5b7acb+'\x20is\x20not\x20empty.'),assertVerified(_0x233719[_0x3de5b0(0x1fe)]===_0x6ba41d[_0x3de5b0(0x1fe)],_0x3de5b0(0x204)+_0x5b7acb+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x233719['parentId']===_0x6ba41d[_0x3de5b0(0x1db)],_0x3de5b0(0x204)+_0x5b7acb+_0x3de5b0(0x20b)+(_0x233719[_0x3de5b0(0x1db)]??_0x3de5b0(0x1ea))+'.'),assertVerified(_0x233719[_0x3de5b0(0x1f6)]==null,_0x3de5b0(0x204)+_0x5b7acb+_0x3de5b0(0x201));const _0x1a2ed8=_0x233719['parentId']==null?undefined:requireFolder(_0x301e86,_0x233719[_0x3de5b0(0x1db)]);assertVerified(_0x233719[_0x3de5b0(0x1f7)]===(_0x1a2ed8?_0x1a2ed8['depth']+0x1:0x0),_0x3de5b0(0x204)+_0x5b7acb+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x1b0e1e){const _0x1931b6=describeMenuErrorCause(_0x1b0e1e,_0x3de5b0(0x1e0),_0x5b7acb),_0x4a26ca=asVerificationError(_0x1b0e1e,_0x3de5b0(0x208)+_0x5b7acb+_0x3de5b0(0x1e9));throw menuFailure(_0x4a26ca,_0x74c4fb,{'stage':_0x3de5b0(0x213),'succeeded':[{'id':_0x5b7acb,'created':!![],'path':_0xaf8452}],'failed':{'id':_0x5b7acb,'finalFactsConfirmed':![],..._0x1931b6},'warnings':['Folder\x20'+_0x5b7acb+_0x3de5b0(0x209)],'after':_0x598a56??{..._0x6ba41d,'id':_0x5b7acb,'path':_0xaf8452},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x5b7acb}});}const _0x197867=mutationResult({..._0x74c4fb,'after':_0x233719,'dryRun':![],'succeeded':[{'id':_0x5b7acb,'type':'folder','path':_0xaf8452}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x301e86['hash'],'folder':!![],'path':_0xaf8452,'emptyResources':!![]}});return{'ok':!![],'data':_0x197867,'message':'Created\x20menu\x20folder\x20'+_0x5b7acb+'.'};}};function a155_0x22db(){const _0x3b7285=['Folder\x20label','rabetbase\x20menu\x20list\x20--format\x20json','1103892umTBLm','28WKriNd','create','path','failed','\x20may\x20exist\x20online\x20at\x20path\x20','1333938HizpAd','group-create','\x20has\x20an\x20unexpected\x20label.','parentId','/smartapi/menu/create','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','childrenCount','\x20is\x20not\x20visible.','verify\x20folder\x20creation','isSafeInteger','type','create-response-validation','length','POST','hash','8387950cagSuW','visible','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','root','appCode','menu','9597SzrnCg',';\x20verify\x20it\x20before\x20retrying.','cookie','flagMissing','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','Would\x20create\x20empty\x20folder\x20\x22','folder','1908eiUNuL','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','pageId','depth','write','<platform-generated>','473193ffTVVU','get','Created\x20menu\x20','23007083WNtlzZ','sort','create\x20folder','string','\x20unexpectedly\x20owns\x20a\x20page.','after','create-folder','Created\x20folder\x20','12jLwtUK','str','byId','Folder\x20','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','stringify','\x20has\x20unexpected\x20parent\x20','trim','2bxtYSx','parent-id','14319970FypjAf','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','88dDnbFM','resources','verification','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','label','Menu\x20create\x20response\x20for\x20folder\x20'];a155_0x22db=function(){return _0x3b7285;};return a155_0x22db();}function validateCreateInput(_0x3ce802){const _0x484299=a155_0x274cb6,_0x4e8fad=_0x3ce802[_0x484299(0x206)](_0x484299(0x215))[_0x484299(0x20c)]();if(!_0x4e8fad)throw CliErrors[_0x484299(0x1f0)](_0x484299(0x215));parseParentId(_0x3ce802,_0x484299(0x20e)),validateSort(_0x3ce802);}async function buildCreatePlan(_0x456364,_0x193a61){const _0x14cd3f=a155_0x274cb6,_0x2cb42a=await fetchMutationSnapshot(_0x456364,_0x14cd3f(0x1ff)),_0x208da4=parseParentId(_0x456364,_0x14cd3f(0x20e))??null;if(_0x208da4!=null)requireFolder(_0x2cb42a,_0x208da4);const _0x3a1709=validateSort(_0x456364),_0x1fd707=_0x3a1709??nextSiblingSort(_0x2cb42a,_0x208da4,_0x14cd3f(0x1f3)),_0x7174e4=_0x456364[_0x14cd3f(0x206)](_0x14cd3f(0x215))['trim']();return mutationResult({'operation':_0x14cd3f(0x1d9),'selector':{'label':_0x7174e4,'parentId':_0x208da4},'before':null,'after':{'id':null,'parentId':_0x208da4,'label':_0x7174e4,'path':_0x14cd3f(0x1f9),'type':_0x14cd3f(0x1f3),'visible':!![],'sort':_0x1fd707,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x193a61,'backend':[...BACKEND],'plannedActions':[{'stage':_0x14cd3f(0x203),'method':_0x14cd3f(0x1e5),'path':_0x14cd3f(0x1dc),'body':{'parentId':toApiParentId(_0x208da4),'label':_0x7174e4,'type':_0x14cd3f(0x1f3),'visible':!![],'sort':_0x1fd707,'extend':{}}}],'snapshotHash':_0x2cb42a[_0x14cd3f(0x1e6)],'warnings':[_0x14cd3f(0x210)]});}
|
|
1
|
+
function a155_0x2faa(){const _0x2eeeee=['59555eVcYCx','isSafeInteger','type','parent-id','Created\x20menu\x20folder\x20','write','1uBVVpN','839814rCjXQW','rabetbase\x20menu\x20list\x20--format\x20json','root','\x20is\x20not\x20empty.','byId','stringify','POST','label','create','1087208GvuVDE','\x20has\x20an\x20unexpected\x20sort.','cookie','menu','verify\x20folder\x20creation','folder','2972560hUfnlJ','\x20may\x20exist\x20online\x20at\x20path\x20','visible','sort','Folder\x20label','\x20is\x20missing\x20from\x20menu\x20list.','menu\x20list','create\x20folder','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','1211961GWrHzr','687087tdsboB','resources','childrenCount','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','str','\x20is\x20not\x20visible.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20has\x20unexpected\x20parent\x20','get','\x20has\x20an\x20unexpected\x20label.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','/smartapi/menu/create','parentId','create-response-validation','depth','14XInkRq','length','\x20unexpectedly\x20owns\x20a\x20page.','12XxYCgJ','path','hash','Menu\x20create\x20response\x20for\x20folder\x20','failed','create-folder','Folder\x20','22DQHrOs','group-create','string','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','2323530fgaUTW','Created\x20folder\x20','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','verification','trim','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','menu_create_response_invalid','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','appCode','flagMissing'];a155_0x2faa=function(){return _0x2eeeee;};return a155_0x2faa();}const a155_0x40e9ca=a155_0x4787;function a155_0x4787(_0x4efde6,_0x2b3368){_0x4efde6=_0x4efde6-0x154;const _0x2faabf=a155_0x2faa();let _0x4787ad=_0x2faabf[_0x4efde6];return _0x4787ad;}(function(_0x16ebdc,_0xe2daa6){const _0x1ae7db=a155_0x4787,_0x3f8a6e=_0x16ebdc();while(!![]){try{const _0x141342=-parseInt(_0x1ae7db(0x157))/0x1*(parseInt(_0x1ae7db(0x158))/0x2)+parseInt(_0x1ae7db(0x170))/0x3+parseInt(_0x1ae7db(0x167))/0x4+-parseInt(_0x1ae7db(0x199))/0x5*(parseInt(_0x1ae7db(0x184))/0x6)+-parseInt(_0x1ae7db(0x181))/0x7*(-parseInt(_0x1ae7db(0x161))/0x8)+-parseInt(_0x1ae7db(0x171))/0x9+parseInt(_0x1ae7db(0x18f))/0xa*(-parseInt(_0x1ae7db(0x18b))/0xb);if(_0x141342===_0xe2daa6)break;else _0x3f8a6e['push'](_0x3f8a6e['shift']());}catch(_0x41a88e){_0x3f8a6e['push'](_0x3f8a6e['shift']());}}}(a155_0x2faa,0x69fe7));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a155_0x40e9ca(0x15e),'path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a155_0x40e9ca(0x164),'command':a155_0x40e9ca(0x18c),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a155_0x40e9ca(0x156),'structuredErrors':!![],'flags':[{'name':'label','type':a155_0x40e9ca(0x18d),'required':!![],'description':a155_0x40e9ca(0x16b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4c6e1d){validateCreateInput(_0x4c6e1d);},async 'dryRun'(_0x118c16){const _0x240eb9=a155_0x40e9ca,_0x389aa7=await buildCreatePlan(_0x118c16,!![]),_0x520c25=_0x389aa7['after'];return menuDryRunResult(_0x389aa7,{'method':'POST','url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x520c25[_0x240eb9(0x17e)]),'label':_0x520c25['label'],'type':_0x240eb9(0x166),'visible':!![],'sort':_0x520c25[_0x240eb9(0x16a)],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x520c25[_0x240eb9(0x15f)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x135495){const _0x946354=a155_0x40e9ca;validateCreateInput(_0x135495);const _0x45a30c=await buildCreatePlan(_0x135495,![]),_0x4964ae=_0x45a30c['after'];await recheckMutationSnapshot(_0x135495,_0x45a30c,'create\x20folder');let _0x465cdf;try{_0x465cdf=await createMenuEntity(_0x135495[_0x946354(0x197)],_0x135495[_0x946354(0x163)],{'parentId':toApiParentId(_0x4964ae['parentId']),'label':String(_0x4964ae[_0x946354(0x15f)]),'type':_0x946354(0x166),'visible':!![],'sort':Number(_0x4964ae[_0x946354(0x16a)]),'extend':{}});}catch(_0x421011){const _0x579339=mapMenuApiError(_0x421011,'create\x20folder');throw menuFailure(_0x579339,_0x45a30c,{'stage':_0x946354(0x160),'failed':{}});}const _0x2ed03a=Number(_0x465cdf['id']);if(!Number[_0x946354(0x19a)](_0x2ed03a)||_0x2ed03a<=0x0){const _0x40a95b=menuError(_0x946354(0x195),_0x946354(0x191),_0x946354(0x17b));throw menuFailure(_0x40a95b,_0x45a30c,{'stage':'create-response-validation','failed':{'createdId':_0x465cdf['id']??null},'warnings':[_0x946354(0x177)],'verification':{'status':_0x946354(0x188),'lookupCommand':_0x946354(0x159)}});}const _0x4adabf=typeof _0x465cdf[_0x946354(0x185)]==='string'?_0x465cdf['path']:'';if(!_0x4adabf[_0x946354(0x193)]()){const _0x58fa1b=menuError(_0x946354(0x195),_0x946354(0x187)+_0x2ed03a+_0x946354(0x174),_0x946354(0x196));throw menuFailure(_0x58fa1b,_0x45a30c,{'stage':_0x946354(0x17f),'succeeded':[{'id':_0x2ed03a,'created':!![]}],'failed':{'id':_0x2ed03a,'generatedPathConfirmed':![]},'warnings':[_0x946354(0x18a)+_0x2ed03a+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x4964ae,'id':_0x2ed03a,'path':_0x4adabf},'verification':{'status':_0x946354(0x188),'lookupCommand':_0x946354(0x159),'targetId':_0x2ed03a}});}let _0x432662;try{_0x432662=await fetchMenuSnapshot(_0x135495[_0x946354(0x197)],_0x135495[_0x946354(0x163)]);}catch(_0x2f951f){const _0x453553=describeMenuErrorCause(_0x2f951f,_0x946354(0x165),_0x2ed03a),_0x29ce0f=asVerificationError(_0x2f951f,_0x946354(0x18a)+_0x2ed03a+_0x946354(0x194));throw menuFailure(_0x29ce0f,_0x45a30c,{'stage':'verification','succeeded':[{'id':_0x2ed03a,'created':!![],'path':_0x4adabf}],'failed':{'id':_0x2ed03a,'finalFactsConfirmed':![],..._0x453553},'warnings':[_0x946354(0x18a)+_0x2ed03a+_0x946354(0x168)+JSON[_0x946354(0x15d)](_0x4adabf)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x4964ae,'id':_0x2ed03a,'path':_0x4adabf},'verification':{'status':_0x946354(0x188),'lookupCommand':_0x946354(0x159),'targetId':_0x2ed03a}});}const _0x53774d=_0x432662[_0x946354(0x15c)][_0x946354(0x179)](_0x2ed03a);let _0x333ee9;try{assertVerified(Boolean(_0x53774d),'Created\x20folder\x20'+_0x2ed03a+_0x946354(0x16c)),_0x333ee9=_0x53774d,assertVerified(_0x333ee9[_0x946354(0x19b)]===_0x946354(0x166),'Created\x20menu\x20'+_0x2ed03a+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x333ee9[_0x946354(0x15f)]===_0x4964ae[_0x946354(0x15f)],'Created\x20folder\x20'+_0x2ed03a+_0x946354(0x17a)),assertVerified(_0x333ee9['path']===_0x4adabf&&Boolean(_0x333ee9[_0x946354(0x185)]['trim']()),_0x946354(0x190)+_0x2ed03a+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x333ee9[_0x946354(0x169)]===!![],_0x946354(0x190)+_0x2ed03a+_0x946354(0x176)),assertVerified(_0x333ee9[_0x946354(0x172)][_0x946354(0x182)]===0x0,_0x946354(0x190)+_0x2ed03a+'\x20has\x20resources.'),assertVerified(_0x333ee9[_0x946354(0x173)]===0x0,'Created\x20folder\x20'+_0x2ed03a+_0x946354(0x15b)),assertVerified(_0x333ee9[_0x946354(0x16a)]===_0x4964ae[_0x946354(0x16a)],_0x946354(0x190)+_0x2ed03a+_0x946354(0x162)),assertVerified(_0x333ee9['parentId']===_0x4964ae[_0x946354(0x17e)],'Created\x20folder\x20'+_0x2ed03a+_0x946354(0x178)+(_0x333ee9[_0x946354(0x17e)]??_0x946354(0x15a))+'.'),assertVerified(_0x333ee9['pageId']==null,_0x946354(0x190)+_0x2ed03a+_0x946354(0x183));const _0x349def=_0x333ee9[_0x946354(0x17e)]==null?undefined:requireFolder(_0x432662,_0x333ee9[_0x946354(0x17e)]);assertVerified(_0x333ee9[_0x946354(0x180)]===(_0x349def?_0x349def[_0x946354(0x180)]+0x1:0x0),_0x946354(0x190)+_0x2ed03a+_0x946354(0x16f));}catch(_0x187c91){const _0x14cf67=describeMenuErrorCause(_0x187c91,_0x946354(0x165),_0x2ed03a),_0x4a3b38=asVerificationError(_0x187c91,'Folder\x20'+_0x2ed03a+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x4a3b38,_0x45a30c,{'stage':_0x946354(0x192),'succeeded':[{'id':_0x2ed03a,'created':!![],'path':_0x4adabf}],'failed':{'id':_0x2ed03a,'finalFactsConfirmed':![],..._0x14cf67},'warnings':[_0x946354(0x18a)+_0x2ed03a+_0x946354(0x17c)],'after':_0x53774d??{..._0x4964ae,'id':_0x2ed03a,'path':_0x4adabf},'verification':{'status':_0x946354(0x188),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2ed03a}});}const _0x5dcaf6=mutationResult({..._0x45a30c,'after':_0x333ee9,'dryRun':![],'succeeded':[{'id':_0x2ed03a,'type':_0x946354(0x166),'path':_0x4adabf}],'verification':{'checkedBy':_0x946354(0x16d),'snapshotHash':_0x432662[_0x946354(0x186)],'folder':!![],'path':_0x4adabf,'emptyResources':!![]}});return{'ok':!![],'data':_0x5dcaf6,'message':_0x946354(0x155)+_0x2ed03a+'.'};}};function validateCreateInput(_0x3096aa){const _0x58889e=a155_0x40e9ca,_0x24e067=_0x3096aa[_0x58889e(0x175)](_0x58889e(0x15f))[_0x58889e(0x193)]();if(!_0x24e067)throw CliErrors[_0x58889e(0x198)](_0x58889e(0x15f));parseParentId(_0x3096aa,'parent-id'),validateSort(_0x3096aa);}async function buildCreatePlan(_0x74649b,_0x5233ef){const _0x5bb596=a155_0x40e9ca,_0x1e2b0a=await fetchMutationSnapshot(_0x74649b,_0x5bb596(0x16e)),_0xbe8ca0=parseParentId(_0x74649b,_0x5bb596(0x154))??null;if(_0xbe8ca0!=null)requireFolder(_0x1e2b0a,_0xbe8ca0);const _0x2d5e7b=validateSort(_0x74649b),_0x4ece5b=_0x2d5e7b??nextSiblingSort(_0x1e2b0a,_0xbe8ca0,_0x5bb596(0x166)),_0x99969e=_0x74649b[_0x5bb596(0x175)](_0x5bb596(0x15f))[_0x5bb596(0x193)]();return mutationResult({'operation':_0x5bb596(0x18c),'selector':{'label':_0x99969e,'parentId':_0xbe8ca0},'before':null,'after':{'id':null,'parentId':_0xbe8ca0,'label':_0x99969e,'path':'<platform-generated>','type':_0x5bb596(0x166),'visible':!![],'sort':_0x4ece5b,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5233ef,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5bb596(0x189),'method':'POST','path':_0x5bb596(0x17d),'body':{'parentId':toApiParentId(_0xbe8ca0),'label':_0x99969e,'type':_0x5bb596(0x166),'visible':!![],'sort':_0x4ece5b,'extend':{}}}],'snapshotHash':_0x1e2b0a['hash'],'warnings':[_0x5bb596(0x18e)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a156_0x235b7b=a156_0x18f8;function a156_0x5b19(){const _0x462140=['selector','unknown','65dkWSsq','folder','appCode','validation','failed','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','verify\x20folder\x20update','54YeYKkf','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','group-update','\x20label\x20update\x20did\x20not\x20take\x20effect.','sort','parentId','hash','/smartapi/menu/update','1109568hBgsCE','7WBroJg','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','menu\x20list','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','trim','menu_not_folder','New\x20folder\x20label','verification','parent-id','label','\x22,\x20not\x20folder.','1704084gYHNXz','write','23214gWeasb','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','114296riJIzB','update','string','Would\x20update\x20folder\x20','1043470rwWFIG','update\x20folder','cookie','Menu\x20','POST','--label\x20cannot\x20be\x20empty.','\x20already\x20matches\x20the\x20requested\x20state.','10VkReNU','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu','14275921IJGkwv','type','256824DpDzNA','No\x20online\x20fields\x20would\x20change.','Folder\x20'];a156_0x5b19=function(){return _0x462140;};return a156_0x5b19();}(function(_0x226fda,_0x84ba11){const _0x5ca3e8=a156_0x18f8,_0x23f7b4=_0x226fda();while(!![]){try{const _0x6dfb40=parseInt(_0x5ca3e8(0xa7))/0x1*(parseInt(_0x5ca3e8(0xb2))/0x2)+parseInt(_0x5ca3e8(0xa3))/0x3+-parseInt(_0x5ca3e8(0x83))/0x4+-parseInt(_0x5ca3e8(0x88))/0x5*(-parseInt(_0x5ca3e8(0xa5))/0x6)+-parseInt(_0x5ca3e8(0x98))/0x7*(-parseInt(_0x5ca3e8(0x97))/0x8)+parseInt(_0x5ca3e8(0x8f))/0x9*(parseInt(_0x5ca3e8(0xab))/0xa)+-parseInt(_0x5ca3e8(0x81))/0xb;if(_0x6dfb40===_0x84ba11)break;else _0x23f7b4['push'](_0x23f7b4['shift']());}catch(_0x1429ba){_0x23f7b4['push'](_0x23f7b4['shift']());}}}(a156_0x5b19,0x90ab6));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a156_0x18f8(_0x6e2e1,_0x20002a){_0x6e2e1=_0x6e2e1-0x81;const _0x5b1928=a156_0x5b19();let _0x18f863=_0x5b1928[_0x6e2e1];return _0x18f863;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a156_0x235b7b(0xaf),'path':a156_0x235b7b(0x96)}];export const menuGroupUpdate={'service':a156_0x235b7b(0xb4),'command':a156_0x235b7b(0x91),'description':a156_0x235b7b(0xa6),'risk':a156_0x235b7b(0xa4),'structuredErrors':!![],'rejectedFlags':[{'name':a156_0x235b7b(0xa0),'message':a156_0x235b7b(0x90),'hint':a156_0x235b7b(0x8d)}],'flags':[MENU_ID_FLAG,{'name':a156_0x235b7b(0xa1),'type':a156_0x235b7b(0xa9),'description':a156_0x235b7b(0x9e)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x360491){validateUpdateInput(_0x360491);},async 'dryRun'(_0x1a63ee){const _0x269243=a156_0x235b7b;validateUpdateInput(_0x1a63ee);const {plan:_0x21263a,patch:_0x1af7f7}=await buildUpdatePlan(_0x1a63ee,!![]);return menuDryRunResult(_0x21263a,{'method':_0x269243(0xaf),'url':'/smartapi/menu/update','body':_0x1af7f7,'description':_0x269243(0xaa)+_0x21263a[_0x269243(0x86)]['id']+'.'});},async 'execute'(_0x1f463b){const _0x45d7ce=a156_0x235b7b;validateUpdateInput(_0x1f463b);const {plan:_0x2fa0e6,patch:_0x47d82d,noChanges:_0x42e1bf}=await buildUpdatePlan(_0x1f463b,![]),_0x22f36f=Number(_0x2fa0e6[_0x45d7ce(0x86)]['id']),_0x25e7a6=await recheckMutationSnapshot(_0x1f463b,_0x2fa0e6,_0x45d7ce(0xac),_0x22f36f);if(!_0x42e1bf)try{await updateMenuEntity(_0x1f463b[_0x45d7ce(0x8a)],_0x1f463b[_0x45d7ce(0xad)],_0x47d82d);}catch(_0x1edf93){const _0x29f0a4=mapMenuApiError(_0x1edf93,'update\x20folder',_0x22f36f);throw menuFailure(_0x29f0a4,_0x2fa0e6,{'stage':_0x45d7ce(0xa8),'failed':{'id':_0x22f36f}});}let _0x4239aa=_0x25e7a6,_0x1c8501;try{!_0x42e1bf&&(_0x4239aa=await fetchMenuSnapshot(_0x1f463b['appCode'],_0x1f463b[_0x45d7ce(0xad)])),_0x1c8501=requireMenu(_0x4239aa,_0x22f36f),verifyPatch(_0x1c8501,_0x47d82d),_0x1c8501[_0x45d7ce(0x94)]!=null&&requireFolder(_0x4239aa,_0x1c8501['parentId']);}catch(_0x1949c3){const _0x344655=describeMenuErrorCause(_0x1949c3,_0x45d7ce(0x8e),_0x22f36f),_0x543e2e=asVerificationError(_0x1949c3,'Update\x20request\x20for\x20folder\x20'+_0x22f36f+_0x45d7ce(0xb3));throw menuFailure(_0x543e2e,_0x2fa0e6,{'stage':_0x45d7ce(0x9f),'succeeded':[{'id':_0x22f36f,'updateRequested':!_0x42e1bf,'skipped':_0x42e1bf}],'failed':{'id':_0x22f36f,'requestedStateConfirmed':![],..._0x344655},'warnings':[_0x45d7ce(0x99)],'verification':{'status':_0x45d7ce(0x8c),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x22f36f}});}const _0x36ee60=mutationResult({..._0x2fa0e6,'after':_0x1c8501,'dryRun':![],'succeeded':[{'id':_0x22f36f,'updated':!_0x42e1bf,'skipped':_0x42e1bf}],'verification':{'checkedBy':_0x45d7ce(0x9a),'snapshotHash':_0x4239aa[_0x45d7ce(0x95)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x36ee60,'message':_0x42e1bf?_0x45d7ce(0x85)+_0x22f36f+_0x45d7ce(0xb1):'Updated\x20folder\x20'+_0x22f36f+'.'};}};function validateUpdateInput(_0x4ba438){const _0xf5c77d=a156_0x235b7b;validateExactId(_0x4ba438);if(hasFlag(_0x4ba438,_0xf5c77d(0xa0)))throw CliErrors[_0xf5c77d(0x8b)]('Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.',_0xf5c77d(0x8d));if(!hasFlag(_0x4ba438,_0xf5c77d(0xa1))&&!hasFlag(_0x4ba438,_0xf5c77d(0x93)))throw CliErrors[_0xf5c77d(0x8b)]('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x4ba438,_0xf5c77d(0xa1))&&!_0x4ba438['str'](_0xf5c77d(0xa1))[_0xf5c77d(0x9c)]())throw CliErrors['validation'](_0xf5c77d(0xb0));validateSort(_0x4ba438);}async function buildUpdatePlan(_0x5a51ac,_0x417cde){const _0x4c38a0=a156_0x235b7b,_0x40350d=validateExactId(_0x5a51ac),_0x90a192=await fetchMutationSnapshot(_0x5a51ac,_0x4c38a0(0xac),_0x40350d),_0x397181=requireMenu(_0x90a192,_0x40350d);if(_0x397181[_0x4c38a0(0x82)]!==_0x4c38a0(0x89))throw menuError(_0x4c38a0(0x9d),_0x4c38a0(0xae)+_0x40350d+'\x20is\x20type\x20\x22'+(_0x397181[_0x4c38a0(0x82)]||_0x4c38a0(0x87))+_0x4c38a0(0xa2),_0x4c38a0(0x9b));assertExpectedState(_0x5a51ac,_0x397181);const _0x417fa3={'id':_0x40350d},_0x17cfea={..._0x397181};if(hasFlag(_0x5a51ac,_0x4c38a0(0xa1))){const _0x4ec3c0=_0x5a51ac['str'](_0x4c38a0(0xa1))[_0x4c38a0(0x9c)]();_0x417fa3[_0x4c38a0(0xa1)]=_0x4ec3c0,_0x17cfea[_0x4c38a0(0xa1)]=_0x4ec3c0;}if(hasFlag(_0x5a51ac,_0x4c38a0(0x93))){const _0x19ecce=validateSort(_0x5a51ac);_0x417fa3[_0x4c38a0(0x93)]=_0x19ecce,_0x17cfea[_0x4c38a0(0x93)]=_0x19ecce;}const _0x50231a=sameRequestedState(_0x397181,_0x17cfea),_0x1eac91=_0x50231a?[_0x4c38a0(0x84)]:[];return{'patch':_0x417fa3,'noChanges':_0x50231a,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x40350d},'before':_0x397181,'after':_0x17cfea,'dryRun':_0x417cde,'backend':[...BACKEND],'snapshotHash':_0x90a192[_0x4c38a0(0x95)],'warnings':_0x1eac91})};}function sameRequestedState(_0x841eb1,_0x2dd30e){const _0x12fff0=a156_0x235b7b;return _0x841eb1[_0x12fff0(0xa1)]===_0x2dd30e[_0x12fff0(0xa1)]&&_0x841eb1[_0x12fff0(0x93)]===_0x2dd30e['sort'];}function verifyPatch(_0x1e4c58,_0x337923){const _0x54b9ea=a156_0x235b7b;assertVerified(_0x1e4c58[_0x54b9ea(0x82)]==='folder',_0x54b9ea(0xae)+_0x1e4c58['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x337923[_0x54b9ea(0xa1)]!==undefined&&assertVerified(_0x1e4c58[_0x54b9ea(0xa1)]===_0x337923[_0x54b9ea(0xa1)],'Folder\x20'+_0x1e4c58['id']+_0x54b9ea(0x92)),_0x337923['sort']!==undefined&&assertVerified(_0x1e4c58['sort']===_0x337923['sort'],_0x54b9ea(0x85)+_0x1e4c58['id']+'\x20sort\x20update\x20did\x20not\x20take\x20effect.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3c1360,_0x3f3cd6){const _0x2ad926=a157_0x1528,_0x1657ff=_0x3c1360();while(!![]){try{const _0x3ec7da=parseInt(_0x2ad926(0x83))/0x1+parseInt(_0x2ad926(0x7e))/0x2+parseInt(_0x2ad926(0x78))/0x3*(parseInt(_0x2ad926(0x7b))/0x4)+-parseInt(_0x2ad926(0x79))/0x5*(parseInt(_0x2ad926(0x7a))/0x6)+parseInt(_0x2ad926(0x82))/0x7*(-parseInt(_0x2ad926(0x7d))/0x8)+-parseInt(_0x2ad926(0x81))/0x9*(-parseInt(_0x2ad926(0x7f))/0xa)+parseInt(_0x2ad926(0x7c))/0xb*(-parseInt(_0x2ad926(0x80))/0xc);if(_0x3ec7da===_0x3f3cd6)break;else _0x1657ff['push'](_0x1657ff['shift']());}catch(_0x3c5271){_0x1657ff['push'](_0x1657ff['shift']());}}}(a157_0xf893,0x27191));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';function a157_0x1528(_0x3d4e5a,_0x53e71c){_0x3d4e5a=_0x3d4e5a-0x78;const _0xf89352=a157_0xf893();let _0x152830=_0xf89352[_0x3d4e5a];return _0x152830;}function a157_0xf893(){const _0x1256a5=['252544GrNJYl','25347HBpBAR','23070moAgex','12QoioCn','52xYhioD','49654eWeXpn','72tQwKVQ','33828Tpldsb','25290oDinRi','684SBPPvu','297EOmnXw','28063XwpoUr'];a157_0xf893=function(){return _0x1256a5;};return a157_0xf893();}import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';import{menuSubappAssetsStatus}from'../../commands/menu/subapp-assets-status.js';import{menuSubappAssetsUpdate}from'../../commands/menu/subapp-assets-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuSubappAssetsStatus,menuSubappAssetsUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a158_0x4e5f(){const _0x4d92d7=['bool','appCode','442158kUFPon','verbose','read','map','966048zOjQtN','403620ZMvaPJ','2oaMZQJ','8dJjKWe','total','menus','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','No\x20menus\x20found.','610hFRFaS','1971747ImixZd','94468ohrGPa','hash','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','cookie','209027GAUspb','15BdVsXS','6087ZhxDRd'];a158_0x4e5f=function(){return _0x4d92d7;};return a158_0x4e5f();}const a158_0x381658=a158_0x29ef;(function(_0x2e15a3,_0x40ff78){const _0x2181ab=a158_0x29ef,_0x79b81b=_0x2e15a3();while(!![]){try{const _0x52c9e0=parseInt(_0x2181ab(0x197))/0x1*(-parseInt(_0x2181ab(0x18b))/0x2)+parseInt(_0x2181ab(0x199))/0x3+-parseInt(_0x2181ab(0x189))/0x4+parseInt(_0x2181ab(0x198))/0x5*(-parseInt(_0x2181ab(0x19c))/0x6)+parseInt(_0x2181ab(0x18a))/0x7+-parseInt(_0x2181ab(0x18c))/0x8*(-parseInt(_0x2181ab(0x192))/0x9)+-parseInt(_0x2181ab(0x191))/0xa*(-parseInt(_0x2181ab(0x193))/0xb);if(_0x52c9e0===_0x40ff78)break;else _0x79b81b['push'](_0x79b81b['shift']());}catch(_0x33596b){_0x79b81b['push'](_0x79b81b['shift']());}}}(a158_0x4e5f,0x1ffce));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a158_0x29ef(_0x5385a5,_0x284cc8){_0x5385a5=_0x5385a5-0x188;const _0x4e5fd8=a158_0x4e5f();let _0x29ef28=_0x4e5fd8[_0x5385a5];return _0x29ef28;}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':'list','description':a158_0x381658(0x18f),'risk':a158_0x381658(0x19e),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a158_0x381658(0x19d),'type':'boolean','description':a158_0x381658(0x195)}],async 'execute'(_0x23a866){const _0xabba7a=a158_0x381658,_0x465971=_0x23a866[_0xabba7a(0x19a)]('verbose'),_0x53a680=await fetchMenuSnapshot(_0x23a866[_0xabba7a(0x19b)],_0x23a866[_0xabba7a(0x196)],{'verbose':_0x465971});return{'ok':!![],'data':{'total':_0x53a680[_0xabba7a(0x18d)],'snapshotHash':_0x53a680[_0xabba7a(0x194)],'menus':_0x53a680[_0xabba7a(0x18e)][_0xabba7a(0x188)](toMenuListItem)},'message':_0x53a680[_0xabba7a(0x18d)]===0x0?_0xabba7a(0x190):'Found\x20'+_0x53a680['total']+'\x20menu(s)'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a159_0x343a45=a159_0x58cd;(function(_0x1481a4,_0x21c4e7){const _0x25a810=a159_0x58cd,_0xe06b9e=_0x1481a4();while(!![]){try{const _0x457a88=parseInt(_0x25a810(0x1f5))/0x1*(parseInt(_0x25a810(0x214))/0x2)+-parseInt(_0x25a810(0x200))/0x3+-parseInt(_0x25a810(0x1f8))/0x4*(-parseInt(_0x25a810(0x20d))/0x5)+-parseInt(_0x25a810(0x213))/0x6*(-parseInt(_0x25a810(0x1f3))/0x7)+-parseInt(_0x25a810(0x1ec))/0x8+parseInt(_0x25a810(0x1f6))/0x9+-parseInt(_0x25a810(0x204))/0xa*(-parseInt(_0x25a810(0x1f7))/0xb);if(_0x457a88===_0x21c4e7)break;else _0xe06b9e['push'](_0xe06b9e['shift']());}catch(_0x28210b){_0xe06b9e['push'](_0xe06b9e['shift']());}}}(a159_0x1c59,0x46d3f));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a159_0x343a45(0x1f9),'path':a159_0x343a45(0x1f2)}];function a159_0x58cd(_0x5a24e7,_0x13ebfe){_0x5a24e7=_0x5a24e7-0x1eb;const _0x1c59d7=a159_0x1c59();let _0x58cda0=_0x1c59d7[_0x5a24e7];return _0x58cda0;}export const menuMove={'service':a159_0x343a45(0x20f),'command':a159_0x343a45(0x202),'description':'Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1ef832){validateMoveInput(_0x1ef832);},async 'dryRun'(_0x38707d){const _0x4b531e=a159_0x343a45,{plan:_0x5823b7,patch:_0x3bb71a}=await buildMovePlan(_0x38707d,!![]);return menuDryRunResult(_0x5823b7,{'method':_0x4b531e(0x1f9),'url':_0x4b531e(0x1f2),'body':{..._0x3bb71a,'appCode':_0x38707d['appCode']},'description':_0x4b531e(0x212)+_0x3bb71a['id']+'.'});},async 'execute'(_0x29ab1e){const _0x2917ad=a159_0x343a45;validateMoveInput(_0x29ab1e);const {plan:_0x535c2c,patch:_0xeceb5b,noChanges:_0xa366aa,snapshot:_0x54ab8}=await buildMovePlan(_0x29ab1e,![]),_0x54fdcf=_0xeceb5b['id'];if(!_0xa366aa)try{await updateMenuEntity(_0x29ab1e[_0x2917ad(0x1f4)],_0x29ab1e[_0x2917ad(0x1ff)],_0xeceb5b);}catch(_0x44074c){const _0x2b99be=mapMenuApiError(_0x44074c,_0x2917ad(0x202),_0x54fdcf);throw menuFailure(_0x2b99be,_0x535c2c,{'stage':'update','failed':{'id':_0x54fdcf},'warnings':[_0x2917ad(0x20e)],'verification':{'status':_0x2917ad(0x1fd),'targetId':_0x54fdcf,'lookupCommand':_0x2917ad(0x20a)}});}let _0x5748a0,_0x427be7;try{_0x5748a0=_0xa366aa?_0x54ab8:await fetchMenuSnapshot(_0x29ab1e[_0x2917ad(0x1f4)],_0x29ab1e[_0x2917ad(0x1ff)]),_0x427be7=requireMenu(_0x5748a0,_0x54fdcf),verifyMove(_0x427be7,_0x535c2c[_0x2917ad(0x20c)]),_0x427be7[_0x2917ad(0x211)]!==null&&requireFolder(_0x5748a0,_0x427be7[_0x2917ad(0x211)]);}catch(_0x1b4cc3){const _0x5d08b8=describeMenuErrorCause(_0x1b4cc3,'verify\x20menu\x20move',_0x54fdcf),_0x187e29=asVerificationError(_0x1b4cc3,_0x2917ad(0x1f0)+_0x54fdcf+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x187e29,_0x535c2c,{'stage':_0x2917ad(0x205),'succeeded':[{'id':_0x54fdcf,'updateRequested':!_0xa366aa,'skipped':_0xa366aa}],'failed':{'id':_0x54fdcf,'requestedStateConfirmed':![],..._0x5d08b8},'warnings':[_0x2917ad(0x1eb)],'verification':{'status':_0x2917ad(0x1fd),'targetId':_0x54fdcf,'lookupCommand':_0x2917ad(0x20a)}});}const _0x3233d6=mutationResult({..._0x535c2c,'after':_0x427be7,'dryRun':![],'succeeded':[{'id':_0x54fdcf,'updated':!_0xa366aa,'skipped':_0xa366aa}],'verification':{'checkedBy':_0x2917ad(0x217),'snapshotHash':_0x5748a0[_0x2917ad(0x1ed)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3233d6,'message':_0xa366aa?_0x2917ad(0x208)+_0x54fdcf+_0x2917ad(0x207):_0x2917ad(0x209)+_0x54fdcf+'.'};}};function validateMoveInput(_0x4f7182){const _0x50ff7e=a159_0x343a45;validateExactId(_0x4f7182),parseParentId(_0x4f7182,_0x50ff7e(0x201),{'required':!![]}),parseParentId(_0x4f7182,_0x50ff7e(0x20b),{'required':!![]}),validateSort(_0x4f7182);}async function buildMovePlan(_0x5bad77,_0x3f42f7){const _0x26738d=a159_0x343a45,_0x59e99c=validateExactId(_0x5bad77),_0x183895=parseParentId(_0x5bad77,'parent-id',{'required':!![]}),_0x34527a=parseParentId(_0x5bad77,'expect-parent-id',{'required':!![]}),_0x3d4605=validateSort(_0x5bad77),_0x3ea3fd=await fetchMutationSnapshot(_0x5bad77,'move\x20menu',_0x59e99c),_0x32113e=requireMenu(_0x3ea3fd,_0x59e99c);if(_0x32113e[_0x26738d(0x1fb)]===_0x26738d(0x206)||_0x32113e['childrenCount']!==0x0)throw menuError(_0x26738d(0x1ee),_0x26738d(0x208)+_0x59e99c+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x26738d(0x1f1));if(_0x32113e[_0x26738d(0x211)]!==_0x34527a)throw menuError(_0x26738d(0x1fe),_0x26738d(0x208)+_0x59e99c+_0x26738d(0x215)+formatParent(_0x34527a)+_0x26738d(0x1fa)+formatParent(_0x32113e[_0x26738d(0x211)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x183895!==null&&requireFolder(_0x3ea3fd,_0x183895);const _0xda342=_0x3d4605??(_0x32113e[_0x26738d(0x211)]===_0x183895?_0x32113e[_0x26738d(0x203)]??0x0:nextSiblingSort(_0x3ea3fd,_0x183895,_0x26738d(0x20f))),_0x2b3651={..._0x32113e,'parentId':_0x183895,'sort':_0xda342},_0x24487d={'id':_0x59e99c,'parentId':toApiParentId(_0x183895),'sort':_0xda342},_0x4040b8=_0x32113e[_0x26738d(0x211)]===_0x183895&&_0x32113e[_0x26738d(0x203)]===_0xda342;return{'patch':_0x24487d,'noChanges':_0x4040b8,'snapshot':_0x3ea3fd,'plan':mutationResult({'operation':_0x26738d(0x202),'selector':{'id':_0x59e99c,'parentId':_0x183895},'before':_0x32113e,'after':_0x2b3651,'dryRun':_0x3f42f7,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':_0x26738d(0x1f9),'path':_0x26738d(0x1f2),'body':{..._0x24487d,'appCode':_0x5bad77[_0x26738d(0x1f4)]}}],'snapshotHash':_0x3ea3fd['hash'],'warnings':_0x4040b8?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x44a075,_0x2d5d55){const _0xd3dd69=a159_0x343a45;assertVerified(_0x44a075[_0xd3dd69(0x1fb)]!==_0xd3dd69(0x206),_0xd3dd69(0x208)+_0x44a075['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x44a075[_0xd3dd69(0x1fc)]===0x0,_0xd3dd69(0x208)+_0x44a075['id']+_0xd3dd69(0x216)),assertVerified(_0x44a075[_0xd3dd69(0x211)]===_0x2d5d55['parentId'],_0xd3dd69(0x208)+_0x44a075['id']+_0xd3dd69(0x1ef)),assertVerified(_0x44a075[_0xd3dd69(0x203)]===_0x2d5d55['sort'],_0xd3dd69(0x208)+_0x44a075['id']+_0xd3dd69(0x210));}function a159_0x1c59(){const _0x10e574=['\x20is\x20no\x20longer\x20a\x20leaf.','menu\x20list','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','4167288HCiojl','hash','menu_move_source_not_leaf','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Move\x20request\x20for\x20menu\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','/smartapi/menu/update','278243QHkgWO','appCode','24359nMEizV','4820004MEjtFR','231UGIgag','792eQSYIX','POST',',\x20current\x20','type','childrenCount','failed','menu_state_drift','cookie','1263969fraPHS','parent-id','move','sort','36970ixYxmZ','verification','folder','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Menu\x20','Moved\x20menu\x20','rabetbase\x20menu\x20list\x20--format\x20compress','expect-parent-id','after','7865eWDGDq','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','parentId','Would\x20move\x20menu\x20','6JSreki','22dKbwuq','\x20parent\x20changed:\x20expected\x20'];a159_0x1c59=function(){return _0x10e574;};return a159_0x1c59();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a160_0xb68fb7=a160_0x510b;(function(_0x55544b,_0x653f5a){const _0x595e9d=a160_0x510b,_0x4e2579=_0x55544b();while(!![]){try{const _0x4a82a0=parseInt(_0x595e9d(0x1e6))/0x1+-parseInt(_0x595e9d(0x1f4))/0x2+parseInt(_0x595e9d(0x200))/0x3*(-parseInt(_0x595e9d(0x20e))/0x4)+parseInt(_0x595e9d(0x211))/0x5+parseInt(_0x595e9d(0x1bd))/0x6+parseInt(_0x595e9d(0x1cb))/0x7+-parseInt(_0x595e9d(0x1de))/0x8*(-parseInt(_0x595e9d(0x1fc))/0x9);if(_0x4a82a0===_0x653f5a)break;else _0x4e2579['push'](_0x4e2579['shift']());}catch(_0x25d98a){_0x4e2579['push'](_0x4e2579['shift']());}}}(a160_0x54c6,0x8dd66));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a160_0x510b(_0xc88ef2,_0x1cc330){_0xc88ef2=_0xc88ef2-0x1b9;const _0x54c667=a160_0x54c6();let _0x510b60=_0x54c667[_0xc88ef2];return _0x510b60;}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a160_0xb68fb7(0x1ca),'path':a160_0xb68fb7(0x1d8)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a160_0xb68fb7(0x1d9),'command':a160_0xb68fb7(0x1d0),'description':a160_0xb68fb7(0x1da),'risk':a160_0xb68fb7(0x1dd),'structuredErrors':!![],'flags':[{'name':a160_0xb68fb7(0x1e7),'type':a160_0xb68fb7(0x203),'required':!![],'description':a160_0xb68fb7(0x1e0)},{'name':a160_0xb68fb7(0x1f0),'type':a160_0xb68fb7(0x203),'required':!![],'description':a160_0xb68fb7(0x210)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1c22a5){validateRegroupInput(_0x1c22a5);},async 'dryRun'(_0x2649ef){const _0x2f40ba=a160_0xb68fb7;validateRegroupInput(_0x2649ef);const _0x27d7fb=await buildRegroupPlan(_0x2649ef,!![]);return menuDryRunResult(_0x27d7fb['plan'],{'method':_0x2f40ba(0x1ca),'url':_0x2f40ba(0x1d8),'body':_0x27d7fb[_0x2f40ba(0x1db)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON['stringify'](_0x27d7fb['label'])+_0x2f40ba(0x204)+_0x27d7fb[_0x2f40ba(0x1c7)][_0x2f40ba(0x1c4)](',\x20')+_0x2f40ba(0x1bf)});},async 'execute'(_0x493b00){const _0x1ae46c=a160_0xb68fb7;validateRegroupInput(_0x493b00);const _0x11d965=await buildRegroupPlan(_0x493b00,![]);await recheckMutationSnapshot(_0x493b00,_0x11d965[_0x1ae46c(0x1f1)],'start\x20regroup');const _0x5f5cdd=buildMenuLookupCommand(_0x493b00[_0x1ae46c(0x1f6)]);let _0x2c994a,_0x10f58e;try{_0x2c994a=await startMenuRegroup(_0x493b00[_0x1ae46c(0x20a)],_0x11d965[_0x1ae46c(0x1db)]),_0x10f58e=normalizeAsyncTask(_0x2c994a);}catch(_0x91297c){const _0x1c2089=await inspectRegroupAfterFailure(_0x493b00[_0x1ae46c(0x1f6)],_0x493b00[_0x1ae46c(0x20a)],_0x11d965[_0x1ae46c(0x1e7)],_0x11d965[_0x1ae46c(0x1c7)]),_0x358130=typeof _0x2c994a?.[_0x1ae46c(0x1e4)]===_0x1ae46c(0x203)&&_0x2c994a[_0x1ae46c(0x1e4)][_0x1ae46c(0x218)]()?_0x2c994a['taskId'][_0x1ae46c(0x218)]():null,_0x1014e2=_0x358130?{'command':buildAsyncTaskStatusCommand(_0x358130,_0x493b00[_0x1ae46c(0x1f6)])}:null,_0x2c1723=mapMenuApiError(_0x91297c,_0x1ae46c(0x1c2));throw menuFailure(_0x2c1723,_0x11d965[_0x1ae46c(0x1f1)],{'stage':_0x1ae46c(0x209),'failed':{'menuIds':_0x11d965[_0x1ae46c(0x1c7)],'taskId':_0x358130,'groupingApplied':_0x1c2089[_0x1ae46c(0x1ef)]?!![]:'unconfirmed'},'after':_0x1c2089[_0x1ae46c(0x1ef)]??null,'warnings':[_0x1ae46c(0x20f),..._0x1c2089[_0x1ae46c(0x1e3)]?[_0x1ae46c(0x1eb)+_0x1c2089[_0x1ae46c(0x1e3)]]:[],..._0x358130?[_0x1ae46c(0x1ba)]:[]],'verification':{'status':_0x1ae46c(0x207),'groupingApplied':_0x1c2089['applied']?!![]:_0x1ae46c(0x20b),'taskId':_0x358130,'query':_0x1014e2,'lookupCommand':_0x5f5cdd}});}const _0x2577f5=buildAsyncTaskStatusCommand(_0x10f58e[_0x1ae46c(0x1e4)],_0x493b00['appCode']);let _0x524c28=null,_0x20ee92=null,_0x1f703c=null;try{_0x524c28=await fetchMenuSnapshot(_0x493b00[_0x1ae46c(0x1f6)],_0x493b00[_0x1ae46c(0x20a)]),_0x20ee92=findAppliedRegroup(_0x524c28,_0x11d965['label'],_0x11d965[_0x1ae46c(0x1c7)]);}catch(_0x5eedcf){_0x1f703c=_0x5eedcf instanceof Error?_0x5eedcf['message']:String(_0x5eedcf);}const _0x53e16a=mutationResult({..._0x11d965['plan'],'after':_0x20ee92??null,'dryRun':![],'succeeded':[{'groupId':_0x20ee92?.[_0x1ae46c(0x1c6)]['id']??null,'menuIds':_0x11d965[_0x1ae46c(0x1c7)],'taskId':_0x10f58e['taskId'],'status':_0x10f58e[_0x1ae46c(0x1ce)],'groupingApplied':_0x20ee92?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x1ae46c(0x1ff),'snapshotHash':_0x524c28?.[_0x1ae46c(0x216)]??null,'groupId':_0x20ee92?.[_0x1ae46c(0x1c6)]['id']??null,'groupingApplied':_0x20ee92?!![]:'unconfirmed','readbackError':_0x1f703c,'lookupCommand':_0x5f5cdd},'warnings':[..._0x11d965[_0x1ae46c(0x1f1)][_0x1ae46c(0x1cf)],...!_0x20ee92?[unconfirmedRegroupWarning(_0x10f58e)]:[],..._0x1f703c?[_0x1ae46c(0x1bc)+_0x1f703c]:[]]}),_0x3829fc=_0x10f58e[_0x1ae46c(0x1ce)]==='SUCCESS'&&!_0x20ee92?_0x1ae46c(0x1bb)+_0x10f58e[_0x1ae46c(0x1e4)]+'\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.':_0x1ae46c(0x1c5)+asyncTaskMessage(_0x10f58e);return{'ok':!![],'message':_0x3829fc,'data':{..._0x53e16a,'task':_0x10f58e,'query':_0x10f58e[_0x1ae46c(0x1ea)]?null:{'command':_0x2577f5}}};}};function validateRegroupInput(_0x1fb405){const _0x34f067=a160_0xb68fb7;if(!_0x1fb405[_0x34f067(0x21a)](_0x34f067(0x1e7))[_0x34f067(0x218)]())throw CliErrors[_0x34f067(0x1c1)](_0x34f067(0x1e7));parseMenuIds(_0x1fb405['str'](_0x34f067(0x1f0)));}function parseMenuIds(_0x20623c){const _0x4ed920=a160_0xb68fb7,_0x4bd73e=_0x20623c['split'](',')[_0x4ed920(0x1ec)](_0x38ee25=>_0x38ee25[_0x4ed920(0x218)]());if(_0x4bd73e[_0x4ed920(0x1d1)]===0x0||_0x4bd73e[_0x4ed920(0x1e1)](_0x1f3919=>!_0x1f3919))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x3957a6=_0x4bd73e[_0x4ed920(0x1ec)](_0x417246=>{const _0xe42979=_0x4ed920;if(!/^\d+$/[_0xe42979(0x1d7)](_0x417246))throw CliErrors[_0xe42979(0x1d6)](_0xe42979(0x1e8));const _0x3ede83=Number(_0x417246);if(!Number['isSafeInteger'](_0x3ede83)||_0x3ede83<=0x0)throw CliErrors['validation'](_0xe42979(0x1e8));return _0x3ede83;});if(new Set(_0x3957a6)[_0x4ed920(0x1d2)]!==_0x3957a6[_0x4ed920(0x1d1)])throw CliErrors[_0x4ed920(0x1d6)](_0x4ed920(0x1d5));if(_0x3957a6[_0x4ed920(0x1d1)]>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x4ed920(0x202)+MAX_REGROUP_MENU_COUNT+_0x4ed920(0x20c));return _0x3957a6;}function buildMenuLookupCommand(_0x5bff0c){const _0x31bf3d=a160_0xb68fb7,_0x51b869='\x27'+_0x5bff0c[_0x31bf3d(0x1e5)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x51b869+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x1b9ff7){const _0x5b2e60=a160_0xb68fb7;if(_0x1b9ff7[_0x5b2e60(0x1ce)]===_0x5b2e60(0x1e9))return _0x5b2e60(0x1f8);if(_0x1b9ff7[_0x5b2e60(0x1ce)]===_0x5b2e60(0x1fe))return _0x5b2e60(0x1df);if(_0x1b9ff7[_0x5b2e60(0x214)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x5b2e60(0x1dc);}async function buildRegroupPlan(_0x596010,_0x1cd359){const _0xa971ce=a160_0xb68fb7,_0x2cf40f=_0x596010[_0xa971ce(0x21a)](_0xa971ce(0x1e7))[_0xa971ce(0x218)](),_0xa78e74=parseMenuIds(_0x596010[_0xa971ce(0x21a)]('menu-ids')),_0x68d102=await fetchMutationSnapshot(_0x596010,_0xa971ce(0x215)),_0x375b8a=_0xa78e74['map'](_0x108ee6=>requireMenu(_0x68d102,_0x108ee6));for(const _0x15c75e of _0x375b8a){if(_0x15c75e[_0xa971ce(0x1c0)][_0xa971ce(0x218)]()['toLowerCase']()==='folder'||_0x15c75e['childrenCount']>0x0)throw menuError(_0xa971ce(0x213),_0xa971ce(0x219)+_0x15c75e['id']+_0xa971ce(0x1be),_0xa971ce(0x1fd));if(!_0x15c75e[_0xa971ce(0x1e7)][_0xa971ce(0x218)]())throw menuError(_0xa971ce(0x1d4),_0xa971ce(0x219)+_0x15c75e['id']+_0xa971ce(0x201),_0xa971ce(0x1b9));}const _0x345645=findAppliedRegroup(_0x68d102,_0x2cf40f,_0xa78e74);if(_0x345645)throw menuError(_0xa971ce(0x1ed),_0xa971ce(0x1c9)+_0xa78e74[_0xa971ce(0x1c4)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x345645[_0xa971ce(0x1c6)]['id']+'\x20('+JSON[_0xa971ce(0x1f3)](_0x2cf40f)+').',_0xa971ce(0x1f7));const _0x4551ca=_0x68d102[_0xa971ce(0x1ee)][_0xa971ce(0x1fa)](_0x54bde0=>_0x54bde0[_0xa971ce(0x1fb)]==null&&_0x54bde0[_0xa971ce(0x1c0)][_0xa971ce(0x218)]()['toLowerCase']()===_0xa971ce(0x1c3)&&_0x54bde0[_0xa971ce(0x1e7)]===_0x2cf40f);if(_0x4551ca[_0xa971ce(0x1d1)]>0x0)throw menuError(_0xa971ce(0x20d),_0xa971ce(0x206)+JSON[_0xa971ce(0x1f3)](_0x2cf40f)+_0xa971ce(0x1f5)+_0x4551ca[_0xa971ce(0x1ec)](_0x2eea4d=>_0x2eea4d['id'])[_0xa971ce(0x1c4)](',\x20')+'.',_0xa971ce(0x208));const _0x34f929={'appCode':_0x596010[_0xa971ce(0x1f6)],'menuGroups':[{'label':_0x2cf40f,'type':_0xa971ce(0x1c3),'children':_0x375b8a[_0xa971ce(0x1ec)](_0x1e451f=>({'id':_0x1e451f['id'],'label':_0x1e451f[_0xa971ce(0x1e7)]}))}]},_0x5bf345=mutationResult({'operation':_0xa971ce(0x1d0),'selector':{'label':_0x2cf40f,'menuIds':_0xa78e74},'before':{'menus':_0x375b8a},'after':{'group':{'id':null,'parentId':null,'label':_0x2cf40f,'path':_0xa971ce(0x1f9),'type':_0xa971ce(0x1c3),'childrenIds':_0xa78e74},'children':_0x375b8a['map'](_0x40c1ea=>({'id':_0x40c1ea['id'],'label':_0x40c1ea['label'],'beforeParentId':_0x40c1ea[_0xa971ce(0x1fb)],'afterParentId':_0xa971ce(0x1cc)}))},'dryRun':_0x1cd359,'backend':[...BACKEND],'plannedActions':[{'stage':_0xa971ce(0x1d3),'method':_0xa971ce(0x1ca),'path':_0xa971ce(0x1d8),'body':_0x34f929}],'snapshotHash':_0x68d102[_0xa971ce(0x216)],'warnings':[_0xa971ce(0x212),_0xa971ce(0x1f2)]});return{'label':_0x2cf40f,'menuIds':_0xa78e74,'input':_0x34f929,'plan':_0x5bf345};}function findAppliedRegroup(_0x8e3805,_0xea65ac,_0x2e9325){const _0x5a950a=a160_0xb68fb7,_0x9bea3b=_0x2e9325['map'](_0x27fb9b=>_0x8e3805['byId']['get'](_0x27fb9b))[_0x5a950a(0x1fa)](_0x4bbcd4=>Boolean(_0x4bbcd4));if(_0x9bea3b[_0x5a950a(0x1d1)]!==_0x2e9325[_0x5a950a(0x1d1)])return null;const _0x5b53bd=_0x9bea3b[0x0]?.[_0x5a950a(0x1fb)];if(_0x5b53bd==null||_0x9bea3b['some'](_0x6e110e=>_0x6e110e[_0x5a950a(0x1fb)]!==_0x5b53bd))return null;const _0xfce614=_0x8e3805[_0x5a950a(0x1c8)]['get'](_0x5b53bd);if(!_0xfce614||_0xfce614[_0x5a950a(0x1fb)]!=null||_0xfce614[_0x5a950a(0x1c0)]['trim']()[_0x5a950a(0x217)]()!==_0x5a950a(0x1c3)||_0xfce614[_0x5a950a(0x1e7)]!==_0xea65ac)return null;const _0x470e32=[..._0x2e9325]['sort']((_0x592434,_0x58a42c)=>_0x592434-_0x58a42c),_0x5c63ab=[..._0xfce614[_0x5a950a(0x1e2)]][_0x5a950a(0x1cd)]((_0x4d4f83,_0x5e8fad)=>_0x4d4f83-_0x5e8fad);if(JSON[_0x5a950a(0x1f3)](_0x5c63ab)!==JSON[_0x5a950a(0x1f3)](_0x470e32))return null;return{'group':_0xfce614,'children':_0x9bea3b};}function a160_0x54c6(){const _0x5ee1e3=['childrenIds','readbackError','taskId','replace','43240pRKRpm','label','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','SUCCESS','isTerminal','Regroup\x20readback\x20also\x20failed:\x20','map','menu_regroup_already_applied','menus','applied','menu-ids','plan','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','stringify','645544fXTfNq','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','appCode','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','<platform-generated>','filter','parentId','1854GQppQl','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','FAILED','menu\x20list','3CNUmgS','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','--menu-ids\x20supports\x20at\x20most\x20','string','\x20and\x20regroup\x20menu\x20ids\x20','message','Root\x20folder\x20label\x20','failed','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','regroup-submit','cookie','unconfirmed','\x20menus\x20per\x20regroup\x20request.','menu_regroup_label_conflict','4191848qPMVqu','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','1943965ZKfYSx','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','menu_regroup_target_not_leaf','knownStatus','plan\x20regroup','hash','toLowerCase','trim','Menu\x20','str','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','Regroup\x20task\x20','Regroup\x20readback\x20failed:\x20','1422150lODFJO','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','type','flagMissing','start\x20menu\x20regroup','folder','join','Regroup\x20task\x20accepted.\x20','group','menuIds','byId','Menus\x20','POST','7160132ncxGtg','<new-group-id>','sort','status','warnings','regroup-start','length','size','submit-regroup-task','menu_regroup_target_label_missing','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','validation','test','/smartapi/menu/regroup','menu','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','input','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','write','10088QtOXhR','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','Label\x20of\x20the\x20new\x20root\x20folder','some'];a160_0x54c6=function(){return _0x5ee1e3;};return a160_0x54c6();}async function inspectRegroupAfterFailure(_0x56703b,_0x4d3803,_0x41219e,_0x46c2bf){const _0x37d041=a160_0xb68fb7;try{const _0xe8f1f3=await fetchMenuSnapshot(_0x56703b,_0x4d3803);return{'applied':findAppliedRegroup(_0xe8f1f3,_0x41219e,_0x46c2bf),'readbackError':null};}catch(_0x1843a0){return{'applied':null,'readbackError':_0x1843a0 instanceof Error?_0x1843a0[_0x37d041(0x205)]:String(_0x1843a0)};}}
|
|
1
|
+
const a160_0xa5eabe=a160_0x5714;(function(_0x48864c,_0x562ac1){const _0x19d1db=a160_0x5714,_0x58c1b2=_0x48864c();while(!![]){try{const _0x2dd4e0=-parseInt(_0x19d1db(0xba))/0x1*(-parseInt(_0x19d1db(0xc8))/0x2)+-parseInt(_0x19d1db(0x8f))/0x3+parseInt(_0x19d1db(0xbe))/0x4+parseInt(_0x19d1db(0x7c))/0x5+-parseInt(_0x19d1db(0x7d))/0x6*(parseInt(_0x19d1db(0x9d))/0x7)+parseInt(_0x19d1db(0x88))/0x8*(-parseInt(_0x19d1db(0xc3))/0x9)+parseInt(_0x19d1db(0x81))/0xa;if(_0x2dd4e0===_0x562ac1)break;else _0x58c1b2['push'](_0x58c1b2['shift']());}catch(_0x4e0f29){_0x58c1b2['push'](_0x58c1b2['shift']());}}}(a160_0x2447,0x68eaa));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a160_0xa5eabe(0xa2),'path':a160_0xa5eabe(0x72)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a160_0xa5eabe(0xa7),'command':'regroup-start','description':a160_0xa5eabe(0xc7),'risk':a160_0xa5eabe(0x95),'structuredErrors':!![],'flags':[{'name':a160_0xa5eabe(0xd0),'type':a160_0xa5eabe(0x91),'required':!![],'description':a160_0xa5eabe(0x97)},{'name':a160_0xa5eabe(0xac),'type':'string','required':!![],'description':a160_0xa5eabe(0x87)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x14330c){validateRegroupInput(_0x14330c);},async 'dryRun'(_0x274e8a){const _0x4049dd=a160_0xa5eabe;validateRegroupInput(_0x274e8a);const _0x7989e0=await buildRegroupPlan(_0x274e8a,!![]);return menuDryRunResult(_0x7989e0[_0x4049dd(0xb0)],{'method':'POST','url':_0x4049dd(0x72),'body':_0x7989e0['input'],'description':_0x4049dd(0xcb)+JSON[_0x4049dd(0xbf)](_0x7989e0[_0x4049dd(0xd0)])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x7989e0['menuIds'][_0x4049dd(0xb8)](',\x20')+_0x4049dd(0xca)});},async 'execute'(_0x2895c1){const _0x53beb7=a160_0xa5eabe;validateRegroupInput(_0x2895c1);const _0xfdbfad=await buildRegroupPlan(_0x2895c1,![]);await recheckMutationSnapshot(_0x2895c1,_0xfdbfad[_0x53beb7(0xb0)],_0x53beb7(0x78));const _0x507c2e=buildMenuLookupCommand(_0x2895c1['appCode']);let _0x21ef55,_0x21c0b9;try{_0x21ef55=await startMenuRegroup(_0x2895c1[_0x53beb7(0xb5)],_0xfdbfad[_0x53beb7(0x8b)]),_0x21c0b9=normalizeAsyncTask(_0x21ef55);}catch(_0x22a6de){const _0x48fae0=await inspectRegroupAfterFailure(_0x2895c1[_0x53beb7(0xc5)],_0x2895c1[_0x53beb7(0xb5)],_0xfdbfad[_0x53beb7(0xd0)],_0xfdbfad[_0x53beb7(0x9c)]),_0x463741=typeof _0x21ef55?.[_0x53beb7(0xb1)]==='string'&&_0x21ef55[_0x53beb7(0xb1)][_0x53beb7(0x75)]()?_0x21ef55['taskId'][_0x53beb7(0x75)]():null,_0x28e064=_0x463741?{'command':buildAsyncTaskStatusCommand(_0x463741,_0x2895c1['appCode'])}:null,_0x44473c=mapMenuApiError(_0x22a6de,'start\x20menu\x20regroup');throw menuFailure(_0x44473c,_0xfdbfad[_0x53beb7(0xb0)],{'stage':_0x53beb7(0xc6),'failed':{'menuIds':_0xfdbfad[_0x53beb7(0x9c)],'taskId':_0x463741,'groupingApplied':_0x48fae0[_0x53beb7(0xaa)]?!![]:_0x53beb7(0x99)},'after':_0x48fae0[_0x53beb7(0xaa)]??null,'warnings':[_0x53beb7(0x8c),..._0x48fae0[_0x53beb7(0x94)]?[_0x53beb7(0xc9)+_0x48fae0[_0x53beb7(0x94)]]:[],..._0x463741?[_0x53beb7(0xa3)]:[]],'verification':{'status':_0x53beb7(0xa5),'groupingApplied':_0x48fae0[_0x53beb7(0xaa)]?!![]:_0x53beb7(0x99),'taskId':_0x463741,'query':_0x28e064,'lookupCommand':_0x507c2e}});}const _0x11c592=buildAsyncTaskStatusCommand(_0x21c0b9[_0x53beb7(0xb1)],_0x2895c1[_0x53beb7(0xc5)]);let _0x3fdac3=null,_0x15d736=null,_0x952b9b=null;try{_0x3fdac3=await fetchMenuSnapshot(_0x2895c1['appCode'],_0x2895c1['cookie']),_0x15d736=findAppliedRegroup(_0x3fdac3,_0xfdbfad[_0x53beb7(0xd0)],_0xfdbfad[_0x53beb7(0x9c)]);}catch(_0x205eae){_0x952b9b=_0x205eae instanceof Error?_0x205eae[_0x53beb7(0xa8)]:String(_0x205eae);}const _0x1f6758=mutationResult({..._0xfdbfad[_0x53beb7(0xb0)],'after':_0x15d736??null,'dryRun':![],'succeeded':[{'groupId':_0x15d736?.['group']['id']??null,'menuIds':_0xfdbfad['menuIds'],'taskId':_0x21c0b9[_0x53beb7(0xb1)],'status':_0x21c0b9[_0x53beb7(0xcf)],'groupingApplied':_0x15d736?!![]:_0x53beb7(0x99)}],'verification':{'checkedBy':_0x53beb7(0xa6),'snapshotHash':_0x3fdac3?.[_0x53beb7(0xae)]??null,'groupId':_0x15d736?.['group']['id']??null,'groupingApplied':_0x15d736?!![]:_0x53beb7(0x99),'readbackError':_0x952b9b,'lookupCommand':_0x507c2e},'warnings':[..._0xfdbfad[_0x53beb7(0xb0)][_0x53beb7(0x84)],...!_0x15d736?[unconfirmedRegroupWarning(_0x21c0b9)]:[],..._0x952b9b?[_0x53beb7(0x9a)+_0x952b9b]:[]]}),_0x98ba69=_0x21c0b9[_0x53beb7(0xcf)]===_0x53beb7(0x77)&&!_0x15d736?_0x53beb7(0xb6)+_0x21c0b9['taskId']+_0x53beb7(0xbb):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x21c0b9);return{'ok':!![],'message':_0x98ba69,'data':{..._0x1f6758,'task':_0x21c0b9,'query':_0x21c0b9[_0x53beb7(0x83)]?null:{'command':_0x11c592}}};}};function validateRegroupInput(_0x2fb787){const _0x29bbc0=a160_0xa5eabe;if(!_0x2fb787[_0x29bbc0(0x89)](_0x29bbc0(0xd0))[_0x29bbc0(0x75)]())throw CliErrors[_0x29bbc0(0xb7)]('label');parseMenuIds(_0x2fb787[_0x29bbc0(0x89)](_0x29bbc0(0xac)));}function parseMenuIds(_0x388005){const _0x29d15b=a160_0xa5eabe,_0x2d006f=_0x388005[_0x29d15b(0x9b)](',')[_0x29d15b(0xaf)](_0x4385b3=>_0x4385b3['trim']());if(_0x2d006f['length']===0x0||_0x2d006f[_0x29d15b(0x7f)](_0x510382=>!_0x510382))throw CliErrors['validation'](_0x29d15b(0xa9));const _0x4f94a5=_0x2d006f[_0x29d15b(0xaf)](_0x554e2f=>{const _0x201549=_0x29d15b;if(!/^\d+$/[_0x201549(0xb3)](_0x554e2f))throw CliErrors[_0x201549(0x7a)](_0x201549(0xa9));const _0x3e6d73=Number(_0x554e2f);if(!Number['isSafeInteger'](_0x3e6d73)||_0x3e6d73<=0x0)throw CliErrors['validation'](_0x201549(0xa9));return _0x3e6d73;});if(new Set(_0x4f94a5)[_0x29d15b(0xce)]!==_0x4f94a5[_0x29d15b(0xa4)])throw CliErrors[_0x29d15b(0x7a)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x4f94a5[_0x29d15b(0xa4)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x29d15b(0x7a)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+'\x20menus\x20per\x20regroup\x20request.');return _0x4f94a5;}function buildMenuLookupCommand(_0x276bdd){const _0x24cb35=a160_0xa5eabe,_0x2af5c6='\x27'+_0x276bdd[_0x24cb35(0x76)](/'/g,_0x24cb35(0x86))+'\x27';return CLI_BIN_NAME+_0x24cb35(0xbd)+_0x2af5c6+_0x24cb35(0xcc);}function unconfirmedRegroupWarning(_0xd6b83d){const _0x1bc10c=a160_0xa5eabe;if(_0xd6b83d['status']==='SUCCESS')return _0x1bc10c(0x7b);if(_0xd6b83d[_0x1bc10c(0xcf)]===_0x1bc10c(0xc4))return _0x1bc10c(0xa1);if(_0xd6b83d[_0x1bc10c(0xad)])return _0x1bc10c(0xbc);return _0x1bc10c(0x8d);}function a160_0x5714(_0x51bf64,_0xd43e6a){_0x51bf64=_0x51bf64-0x70;const _0x244761=a160_0x2447();let _0x571459=_0x244761[_0x51bf64];return _0x571459;}async function buildRegroupPlan(_0x535283,_0x1652a2){const _0x446810=a160_0xa5eabe,_0x4972f4=_0x535283[_0x446810(0x89)]('label')['trim'](),_0x5a197e=parseMenuIds(_0x535283[_0x446810(0x89)](_0x446810(0xac))),_0x43a666=await fetchMutationSnapshot(_0x535283,_0x446810(0xb2)),_0x15d3d7=_0x5a197e[_0x446810(0xaf)](_0x335114=>requireMenu(_0x43a666,_0x335114));for(const _0x580ea1 of _0x15d3d7){if(_0x580ea1['type']['trim']()['toLowerCase']()===_0x446810(0x93)||_0x580ea1[_0x446810(0x8e)]>0x0)throw menuError('menu_regroup_target_not_leaf',_0x446810(0xb4)+_0x580ea1['id']+_0x446810(0x90),_0x446810(0xab));if(!_0x580ea1[_0x446810(0xd0)]['trim']())throw menuError(_0x446810(0x70),_0x446810(0xb4)+_0x580ea1['id']+_0x446810(0x8a),_0x446810(0x73));}const _0x240b47=findAppliedRegroup(_0x43a666,_0x4972f4,_0x5a197e);if(_0x240b47)throw menuError(_0x446810(0x74),'Menus\x20'+_0x5a197e['join'](',\x20')+_0x446810(0x92)+_0x240b47[_0x446810(0xa0)]['id']+'\x20('+JSON[_0x446810(0xbf)](_0x4972f4)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x914225=_0x43a666['menus'][_0x446810(0x98)](_0x369129=>_0x369129['parentId']==null&&_0x369129[_0x446810(0xc0)][_0x446810(0x75)]()['toLowerCase']()==='folder'&&_0x369129[_0x446810(0xd0)]===_0x4972f4);if(_0x914225[_0x446810(0xa4)]>0x0)throw menuError(_0x446810(0x9f),'Root\x20folder\x20label\x20'+JSON[_0x446810(0xbf)](_0x4972f4)+_0x446810(0xc2)+_0x914225[_0x446810(0xaf)](_0x2389b1=>_0x2389b1['id'])[_0x446810(0xb8)](',\x20')+'.',_0x446810(0x7e));const _0x3b8f5f={'appCode':_0x535283['appCode'],'menuGroups':[{'label':_0x4972f4,'type':'folder','children':_0x15d3d7[_0x446810(0xaf)](_0x3e71c7=>({'id':_0x3e71c7['id'],'label':_0x3e71c7[_0x446810(0xd0)]}))}]},_0x2e97a6=mutationResult({'operation':_0x446810(0x85),'selector':{'label':_0x4972f4,'menuIds':_0x5a197e},'before':{'menus':_0x15d3d7},'after':{'group':{'id':null,'parentId':null,'label':_0x4972f4,'path':'<platform-generated>','type':_0x446810(0x93),'childrenIds':_0x5a197e},'children':_0x15d3d7[_0x446810(0xaf)](_0x13abcc=>({'id':_0x13abcc['id'],'label':_0x13abcc['label'],'beforeParentId':_0x13abcc['parentId'],'afterParentId':_0x446810(0xb9)}))},'dryRun':_0x1652a2,'backend':[...BACKEND],'plannedActions':[{'stage':_0x446810(0x82),'method':'POST','path':'/smartapi/menu/regroup','body':_0x3b8f5f}],'snapshotHash':_0x43a666[_0x446810(0xae)],'warnings':[_0x446810(0x79),_0x446810(0x96)]});return{'label':_0x4972f4,'menuIds':_0x5a197e,'input':_0x3b8f5f,'plan':_0x2e97a6};}function findAppliedRegroup(_0x2f89c2,_0xc9f3db,_0x3555b3){const _0x4845e4=a160_0xa5eabe,_0x36d690=_0x3555b3[_0x4845e4(0xaf)](_0x2b8e38=>_0x2f89c2['byId']['get'](_0x2b8e38))['filter'](_0x225300=>Boolean(_0x225300));if(_0x36d690['length']!==_0x3555b3[_0x4845e4(0xa4)])return null;const _0x57eb63=_0x36d690[0x0]?.[_0x4845e4(0xc1)];if(_0x57eb63==null||_0x36d690[_0x4845e4(0x7f)](_0x357ca4=>_0x357ca4['parentId']!==_0x57eb63))return null;const _0x45c92d=_0x2f89c2[_0x4845e4(0x80)][_0x4845e4(0x71)](_0x57eb63);if(!_0x45c92d||_0x45c92d[_0x4845e4(0xc1)]!=null||_0x45c92d[_0x4845e4(0xc0)][_0x4845e4(0x75)]()[_0x4845e4(0x9e)]()!==_0x4845e4(0x93)||_0x45c92d[_0x4845e4(0xd0)]!==_0xc9f3db)return null;const _0x3864d5=[..._0x3555b3][_0x4845e4(0xcd)]((_0x58a415,_0x1956b2)=>_0x58a415-_0x1956b2),_0xe0df56=[..._0x45c92d['childrenIds']][_0x4845e4(0xcd)]((_0x3a9098,_0x5e9e1f)=>_0x3a9098-_0x5e9e1f);if(JSON[_0x4845e4(0xbf)](_0xe0df56)!==JSON[_0x4845e4(0xbf)](_0x3864d5))return null;return{'group':_0x45c92d,'children':_0x36d690};}async function inspectRegroupAfterFailure(_0x14b237,_0x44a32a,_0x907f96,_0xc1f801){const _0x3b8cb2=a160_0xa5eabe;try{const _0x360741=await fetchMenuSnapshot(_0x14b237,_0x44a32a);return{'applied':findAppliedRegroup(_0x360741,_0x907f96,_0xc1f801),'readbackError':null};}catch(_0x528f8f){return{'applied':null,'readbackError':_0x528f8f instanceof Error?_0x528f8f[_0x3b8cb2(0xa8)]:String(_0x528f8f)};}}function a160_0x2447(){const _0x3e2aff=['join','<new-group-id>','909NTTpSs','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','\x20menu\x20list\x20--appcode\x20','3318928xQTJjs','stringify','type','parentId','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','90ZAVOvf','FAILED','appCode','regroup-submit','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','908DLUMsX','Regroup\x20readback\x20also\x20failed:\x20',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','\x20--format\x20compress','sort','size','status','label','menu_regroup_target_label_missing','get','/smartapi/menu/regroup','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','menu_regroup_already_applied','trim','replace','SUCCESS','start\x20regroup','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','validation','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','3196370RKJext','1092zYawdi','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','some','byId','723490CVKuKg','submit-regroup-task','isTerminal','warnings','regroup-start','\x27\x5c\x27\x27','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','46712LSpvRy','str','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','input','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','childrenCount','1976229OWmUji','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','string','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','folder','readbackError','write','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','Label\x20of\x20the\x20new\x20root\x20folder','filter','unconfirmed','Regroup\x20readback\x20failed:\x20','split','menuIds','31045JCUkVQ','toLowerCase','menu_regroup_label_conflict','group','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','POST','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','length','failed','menu\x20list','menu','message','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','applied','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','menu-ids','knownStatus','hash','map','plan','taskId','plan\x20regroup','test','Menu\x20','cookie','Regroup\x20task\x20','flagMissing'];a160_0x2447=function(){return _0x3e2aff;};return a160_0x2447();}
|