@lovrabet/rabetbase-cli 2.5.4-beta.4 → 2.5.4-beta.5
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/README.md +8 -2
- 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.d.ts +2 -0
- package/lib/commands/app/detail.js +1 -0
- 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.d.ts +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.d.ts +3 -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.d.ts +2 -0
- package/lib/commands/menu/shared/path.js +1 -0
- package/lib/commands/menu/shared/service.d.ts +6 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.d.ts +28 -0
- package/lib/commands/menu/shared/subapp-assets.js +1 -0
- package/lib/commands/menu/shared/sync-core.d.ts +2 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/types.d.ts +14 -4
- 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.d.ts +2 -0
- package/lib/commands/menu/subapp-assets-status.js +1 -0
- package/lib/commands/menu/subapp-assets-update.d.ts +2 -0
- package/lib/commands/menu/subapp-assets-update.js +1 -0
- 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.d.ts +15 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.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 +1 -1
- package/skills/rabetbase/SKILL.md +21 -12
- package/skills/rabetbase/guides/backend-function.md +2 -7
- package/skills/rabetbase/guides/bff-creation-workflow.md +24 -23
- package/skills/rabetbase/guides/host-frontend-integration.md +62 -0
- package/skills/rabetbase/guides/independent-deployment.md +45 -0
- package/skills/rabetbase/guides/troubleshooting.md +9 -1
- package/skills/rabetbase/references/rabetbase-app-detail.md +31 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-push.md +2 -2
- package/skills/rabetbase/references/rabetbase-data-list-status.md +1 -0
- package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +5 -1
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -7
- package/skills/rabetbase/references/rabetbase-menu-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-menu-subapp-assets-status.md +19 -0
- package/skills/rabetbase/references/rabetbase-menu-subapp-assets-update.md +27 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +40 -14
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +5 -3
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +1 -0
- package/skills/rabetbase.manifest.json +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a152_0x2ca6cb=a152_0x3c07;(function(_0x3d1b39,_0x2513c){const _0x1ce584=a152_0x3c07,_0x46afee=_0x3d1b39();while(!![]){try{const _0x33ce28=-parseInt(_0x1ce584(0x12e))/0x1*(-parseInt(_0x1ce584(0xf6))/0x2)+-parseInt(_0x1ce584(0xce))/0x3*(-parseInt(_0x1ce584(0xcc))/0x4)+parseInt(_0x1ce584(0xf8))/0x5*(parseInt(_0x1ce584(0xb0))/0x6)+-parseInt(_0x1ce584(0x130))/0x7*(parseInt(_0x1ce584(0xd5))/0x8)+parseInt(_0x1ce584(0x118))/0x9*(-parseInt(_0x1ce584(0xc4))/0xa)+parseInt(_0x1ce584(0x10c))/0xb+-parseInt(_0x1ce584(0xee))/0xc*(parseInt(_0x1ce584(0xe4))/0xd);if(_0x33ce28===_0x2513c)break;else _0x46afee['push'](_0x46afee['shift']());}catch(_0x4ea1b8){_0x46afee['push'](_0x46afee['shift']());}}}(a152_0x1a79,0x7227f));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':a152_0x2ca6cb(0xb4)};export function validateExternalMenuUrl(_0xf3b726){const _0x215fde=a152_0x2ca6cb,_0x4e2d66=_0xf3b726[_0x215fde(0x133)]();let _0x3584ec;try{_0x3584ec=new URL(_0x4e2d66);}catch{throw menuError(_0x215fde(0xf7),_0x215fde(0x10b),_0x215fde(0xc2));}if(_0x3584ec[_0x215fde(0xf4)]!=='https:')throw menuError(_0x215fde(0x135),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x215fde(0xdf));if(_0x3584ec[_0x215fde(0x10f)]||_0x3584ec[_0x215fde(0x104)])throw menuError(_0x215fde(0x100),_0x215fde(0xd3),_0x215fde(0xf3));return _0x4e2d66;}export const menuExternalLinkCreate={'service':a152_0x2ca6cb(0xc8),'command':a152_0x2ca6cb(0xca),'description':a152_0x2ca6cb(0x13a),'risk':a152_0x2ca6cb(0xe5),'structuredErrors':!![],'flags':[{'name':a152_0x2ca6cb(0xcf),'type':a152_0x2ca6cb(0x10e),'required':!![],'description':a152_0x2ca6cb(0xd0)},{'name':a152_0x2ca6cb(0x106),'type':a152_0x2ca6cb(0x10e),'required':!![],'enum':[a152_0x2ca6cb(0x138),a152_0x2ca6cb(0x10d)],'description':a152_0x2ca6cb(0xf9)},{'name':a152_0x2ca6cb(0x128),'type':a152_0x2ca6cb(0x10e),'required':!![],'description':a152_0x2ca6cb(0x127)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a152_0x2ca6cb(0x131),'type':a152_0x2ca6cb(0xb5),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5c7c0f){validateAddInput(_0x5c7c0f);},async 'dryRun'(_0x29853a){const _0x45a43e=a152_0x2ca6cb;validateAddInput(_0x29853a);const {plan:_0x31da93}=await buildSafeAddPlan(_0x29853a,!![]),_0x3393ff=_0x31da93[_0x45a43e(0xcd)],_0x50235f=createBody(_0x3393ff);return menuDryRunResult(_0x31da93,{'method':_0x45a43e(0xf5),'url':'/smartapi/menu/create','body':_0x50235f,'description':_0x45a43e(0x11f)+JSON['stringify'](_0x3393ff[_0x45a43e(0xcf)])+_0x45a43e(0xf0)+_0x29853a[_0x45a43e(0x11e)](_0x45a43e(0x106))+_0x45a43e(0x105)});},async 'execute'(_0xfb42e6){const _0x3857dd=a152_0x2ca6cb;validateAddInput(_0xfb42e6);const _0x19216b=await buildSafeAddPlan(_0xfb42e6,![]),{plan:_0x165033,snapshot:_0x5e9585}=_0x19216b,_0x17df78=_0x165033[_0x3857dd(0xcd)],_0x3b866e=buildMenuLookupCommand(_0xfb42e6[_0x3857dd(0xd2)]);await recheckAddSnapshot(_0xfb42e6,_0x165033);let _0x19e370;try{_0x19e370=await createMenuEntity(_0xfb42e6[_0x3857dd(0xd2)],_0xfb42e6['cookie'],createBody(_0x17df78));}catch(_0x192768){const _0x59baec=mapMenuApiError(_0x192768,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x192768)||_0x59baec['code']===_0x3857dd(0xc0))throw externalLinkCreateFailure(_0x59baec,_0x165033,{'stage':_0x3857dd(0xe3),'failed':{},'verification':{'status':_0x3857dd(0xc6),'lookupCommand':_0x3b866e}});return recoverAfterResponseLoss(_0xfb42e6,_0x19216b,_0x3b866e);}const _0x265850=Number(_0x19e370?.['id']),_0x2240ff=typeof _0x19e370?.['path']==='string'?_0x19e370[_0x3857dd(0xba)]:'';if(!Number[_0x3857dd(0x126)](_0x265850)||_0x265850<=0x0||!_0x2240ff[_0x3857dd(0x133)]()){const _0x2b8f00=menuError(_0x3857dd(0xfb),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Run\x20'+_0x3b866e+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x2b8f00,_0x165033,{'stage':'create-response-validation','succeeded':Number[_0x3857dd(0x126)](_0x265850)&&_0x265850>0x0?[{'id':_0x265850,'created':!![]}]:[],'failed':{'createdId':Number[_0x3857dd(0x126)](_0x265850)?_0x265850:null,'generatedPathConfirmed':Boolean(_0x2240ff[_0x3857dd(0x133)]())},'warnings':[_0x3857dd(0x125)],'after':Number[_0x3857dd(0x126)](_0x265850)&&_0x265850>0x0?{..._0x17df78,'id':_0x265850,'path':_0x2240ff}:_0x17df78,'verification':{'status':_0x3857dd(0xc6),'lookupCommand':_0x3b866e,...Number['isSafeInteger'](_0x265850)&&_0x265850>0x0?{'targetId':_0x265850}:{}}});}const _0x55323c=await readAndVerifyCreatedMenu({'appCode':_0xfb42e6['appCode'],'cookie':_0xfb42e6['cookie'],'plan':_0x165033,'afterPlan':_0x17df78,'createdId':_0x265850,'expectedPath':_0x2240ff,'lookupCommand':_0x3b866e,'recovered':![]});return creationSuccess(_0x165033,_0x55323c[_0x3857dd(0xc7)],_0x55323c[_0x3857dd(0x108)],![]);}};function validateAddInput(_0x557059){const _0x23f66f=a152_0x2ca6cb;if(!_0x557059[_0x23f66f(0x11e)](_0x23f66f(0xcf))[_0x23f66f(0x133)]())throw CliErrors[_0x23f66f(0x13e)](_0x23f66f(0xcf));resolveExternalMenuType(_0x557059),validateExternalMenuUrl(_0x557059['str']('url')),parseParentId(_0x557059,_0x23f66f(0xed)),validateSort(_0x557059);}function resolveExternalMenuType(_0x4dea57){const _0x382235=a152_0x2ca6cb,_0x19ee02=_0x4dea57[_0x382235(0x11e)]('open-mode')[_0x382235(0x133)]();if(!_0x19ee02)throw CliErrors[_0x382235(0x13e)](_0x382235(0x106));const _0x482b32=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x19ee02];if(!_0x482b32)throw menuError(_0x382235(0x12c),_0x382235(0x102),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x482b32;}async function buildAddPlan(_0x421165,_0x3715b7){const _0x3b4a44=a152_0x2ca6cb,_0x5df277=await fetchMutationSnapshot(_0x421165,_0x3b4a44(0xfa)),_0x6bcee1=parseParentId(_0x421165,_0x3b4a44(0xed))??null;if(_0x6bcee1!=null)requireFolder(_0x5df277,_0x6bcee1);const _0x4171cf=validateSort(_0x421165),_0x350b15=_0x4171cf??nextSiblingSort(_0x5df277,_0x6bcee1,_0x3b4a44(0xc8)),_0x42db60=_0x421165['str'](_0x3b4a44(0xcf))[_0x3b4a44(0x133)](),_0x76e326=resolveExternalMenuType(_0x421165),_0x3f31c9=validateExternalMenuUrl(_0x421165['str'](_0x3b4a44(0x128))),_0x13ae51=Object[_0x3b4a44(0xdd)]['hasOwnProperty'][_0x3b4a44(0x13c)](_0x421165[_0x3b4a44(0xb1)],'visible')?_0x421165['bool'](_0x3b4a44(0x131)):!![],_0xff5853={'id':null,'parentId':_0x6bcee1,'label':_0x42db60,'path':_0x3b4a44(0xd1),'url':_0x3f31c9,'type':_0x76e326,'visible':_0x13ae51,'sort':_0x350b15},_0x133e26=buildMenuLookupCommand(_0x421165[_0x3b4a44(0xd2)]),_0x4e6359=mutationResult({'operation':'add','selector':{'parentId':_0x6bcee1,'type':_0x76e326,'label':_0x42db60,'url':_0x3f31c9},'before':null,'after':_0xff5853,'dryRun':_0x3715b7,'backend':[{'method':_0x3b4a44(0xf5),'path':_0x3b4a44(0x129)}],'plannedActions':[{'stage':_0x3b4a44(0x103),'method':_0x3b4a44(0xf5),'path':'/smartapi/menu/create','body':createBody(_0xff5853)}],'snapshotHash':_0x5df277['hash'],'warnings':[_0x3b4a44(0xe8)],'verification':{'lookupCommand':_0x133e26}});return{'plan':_0x4e6359,'snapshot':_0x5df277};}async function buildSafeAddPlan(_0x25fffb,_0x3fcdcc){try{return await buildAddPlan(_0x25fffb,_0x3fcdcc);}catch(_0x590af5){throw safeMenuAddError(_0x590af5);}}async function recheckAddSnapshot(_0x554bd8,_0x39f7d4){const _0x51495b=a152_0x2ca6cb;try{await recheckMutationSnapshot(_0x554bd8,_0x39f7d4,_0x51495b(0xfa));}catch(_0x5e7444){const _0x2286db=getFailureRecord(_0x5e7444);throw externalLinkCreateFailure(_0x5e7444,_0x39f7d4,{'stage':_0x51495b(0x12b),'failed':{..._0x2286db?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x2286db[_0x51495b(0xeb)]}:{},..._0x2286db?.['currentSnapshotHash']?{'currentSnapshotHash':_0x2286db[_0x51495b(0x116)]}:{}}});}}function createBody(_0x5d1d82){const _0x18a349=a152_0x2ca6cb;return{'parentId':toApiParentId(_0x5d1d82[_0x18a349(0x112)]),'label':String(_0x5d1d82[_0x18a349(0xcf)]),'type':String(_0x5d1d82[_0x18a349(0xd7)]),'url':String(_0x5d1d82[_0x18a349(0x128)]),'visible':Boolean(_0x5d1d82[_0x18a349(0x131)]),'sort':Number(_0x5d1d82[_0x18a349(0xb6)]),'extend':{}};}function buildMenuLookupCommand(_0x2d58bb){const _0x523e92=a152_0x2ca6cb,_0x18174a='\x27'+_0x2d58bb[_0x523e92(0xd6)](/'/g,_0x523e92(0x11a))+'\x27';return _0x523e92(0xe7)+_0x18174a+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x50b467,_0x1ac9b8,_0x118705){const _0x56aaf=a152_0x2ca6cb,{plan:_0x1ff7d3,snapshot:_0x3959ed}=_0x1ac9b8,_0x47d391=_0x1ff7d3['after'];let _0x333a18;try{_0x333a18=await fetchMenuSnapshot(_0x50b467[_0x56aaf(0xd2)],_0x50b467[_0x56aaf(0x11b)]);}catch(_0x55c231){throw recoveryRequiredFailure(_0x1ff7d3,_0x118705,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x28f469=_0x333a18[_0x56aaf(0x12f)][_0x56aaf(0x110)](_0x33d8d0=>_0x33d8d0[_0x56aaf(0x112)]===_0x47d391[_0x56aaf(0x112)]&&_0x33d8d0['type']===_0x47d391['type']&&_0x33d8d0['label']===_0x47d391[_0x56aaf(0xcf)]&&_0x33d8d0[_0x56aaf(0x128)]===_0x47d391[_0x56aaf(0x128)]),_0x5d0a54=_0x28f469['filter'](_0x42569e=>!_0x3959ed[_0x56aaf(0xc9)][_0x56aaf(0xef)](_0x42569e['id'])),_0x21aced=_0x28f469['filter'](_0xfd9150=>_0x3959ed[_0x56aaf(0xc9)][_0x56aaf(0xef)](_0xfd9150['id']));if(_0x28f469[_0x56aaf(0x12d)]!==0x1||_0x5d0a54[_0x56aaf(0x12d)]!==0x1)throw recoveryRequiredFailure(_0x1ff7d3,_0x118705,{'matchCount':_0x28f469['length'],'newMatchCount':_0x5d0a54[_0x56aaf(0x12d)],'preexistingMatchCount':_0x21aced[_0x56aaf(0x12d)]});const _0x4c93dd=_0x5d0a54[0x0];try{verifyCreatedFact(_0x4c93dd,_0x4c93dd['id'],_0x47d391,null);}catch(_0x2458b4){const _0x15ceef=_0x2458b4 instanceof Error&&_0x56aaf(0xfc)in _0x2458b4?_0x2458b4:menuError(_0x56aaf(0xde),_0x56aaf(0x121)+_0x4c93dd['id']+_0x56aaf(0xe6),_0x56aaf(0x13f)+_0x118705+_0x56aaf(0xe9));throw externalLinkCreateFailure(_0x15ceef,_0x1ff7d3,{'stage':_0x56aaf(0x107),'succeeded':[{'id':_0x4c93dd['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4c93dd['id'],'finalFactsConfirmed':![]},'after':_0x4c93dd,'warnings':[_0x56aaf(0x109)+_0x4c93dd['id']+_0x56aaf(0xec)],'verification':{'status':_0x56aaf(0xc6),'targetId':_0x4c93dd['id'],'recovered':!![],'lookupCommand':_0x118705}});}return creationSuccess(_0x1ff7d3,_0x333a18,_0x4c93dd,!![]);}function recoveryRequiredFailure(_0x159151,_0x550d01,_0x532c33){const _0x501101=a152_0x2ca6cb,_0x7d5f35=menuError(_0x501101(0x13b),_0x501101(0xe2),_0x501101(0x13f)+_0x550d01+_0x501101(0xf2));return externalLinkCreateFailure(_0x7d5f35,_0x159151,{'stage':_0x501101(0xaf),'failed':_0x532c33,'warnings':[_0x501101(0xb7)],'verification':{'status':_0x501101(0xc6),..._0x532c33,'lookupCommand':_0x550d01}});}async function readAndVerifyCreatedMenu(_0x5199d6){const _0x3b15e8=a152_0x2ca6cb;let _0x16cffa;try{_0x16cffa=await fetchMenuSnapshot(_0x5199d6[_0x3b15e8(0xd2)],_0x5199d6[_0x3b15e8(0x11b)]);}catch(_0x26634b){const _0x542565=menuError(_0x3b15e8(0xde),_0x3b15e8(0x109)+_0x5199d6[_0x3b15e8(0xc1)]+_0x3b15e8(0x139),_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));throw externalLinkCreateFailure(_0x542565,_0x5199d6[_0x3b15e8(0xb8)],{'stage':_0x3b15e8(0x107),'succeeded':[{'id':_0x5199d6[_0x3b15e8(0xc1)],'created':!![]}],'failed':{'id':_0x5199d6[_0x3b15e8(0xc1)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x5199d6[_0x3b15e8(0xd4)],'id':_0x5199d6[_0x3b15e8(0xc1)],'path':_0x5199d6[_0x3b15e8(0xe1)]},'warnings':[_0x3b15e8(0x109)+_0x5199d6[_0x3b15e8(0xc1)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x3b15e8(0xc6),'targetId':_0x5199d6[_0x3b15e8(0xc1)],'lookupCommand':_0x5199d6[_0x3b15e8(0xe0)]}});}const _0x5e44f7=_0x16cffa[_0x3b15e8(0xc9)][_0x3b15e8(0x124)](_0x5199d6['createdId']);try{if(!_0x5e44f7)throw menuError(_0x3b15e8(0xde),_0x3b15e8(0xd8)+_0x5199d6[_0x3b15e8(0xc1)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));verifyCreatedFact(_0x5e44f7,_0x5199d6[_0x3b15e8(0xc1)],_0x5199d6['afterPlan'],_0x5199d6[_0x3b15e8(0xe1)]);}catch(_0x178fc5){const _0x4231c2=_0x178fc5 instanceof Error&&'code'in _0x178fc5?_0x178fc5:menuError(_0x3b15e8(0xde),'Created\x20menu\x20'+_0x5199d6[_0x3b15e8(0xc1)]+_0x3b15e8(0xdb),_0x3b15e8(0x13f)+_0x5199d6[_0x3b15e8(0xe0)]+_0x3b15e8(0x11d));throw externalLinkCreateFailure(_0x4231c2,_0x5199d6['plan'],{'stage':_0x3b15e8(0x107),'succeeded':[{'id':_0x5199d6[_0x3b15e8(0xc1)],'created':!![]}],'failed':{'id':_0x5199d6[_0x3b15e8(0xc1)],'finalFactsConfirmed':![]},'after':_0x5e44f7??{..._0x5199d6[_0x3b15e8(0xd4)],'id':_0x5199d6[_0x3b15e8(0xc1)],'path':_0x5199d6[_0x3b15e8(0xe1)]},'warnings':[_0x3b15e8(0x109)+_0x5199d6['createdId']+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x3b15e8(0xc6),'targetId':_0x5199d6['createdId'],'recovered':_0x5199d6[_0x3b15e8(0x136)],'lookupCommand':_0x5199d6['lookupCommand']}});}return{'snapshot':_0x16cffa,'fact':_0x5e44f7};}function verifyCreatedFact(_0x2e9dfe,_0x354515,_0x3eabd3,_0x51a129){const _0x10a5a6=a152_0x2ca6cb;if(!Number['isSafeInteger'](_0x2e9dfe['id'])||_0x2e9dfe['id']<=0x0||_0x2e9dfe['id']!==_0x354515)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xdc),_0x10a5a6(0x137));const _0x2cea5f=[[_0x10a5a6(0x101),_0x2e9dfe['parentId'],_0x3eabd3[_0x10a5a6(0x112)]],[_0x10a5a6(0xd7),_0x2e9dfe[_0x10a5a6(0xd7)],_0x3eabd3[_0x10a5a6(0xd7)]],[_0x10a5a6(0xcf),_0x2e9dfe[_0x10a5a6(0xcf)],_0x3eabd3[_0x10a5a6(0xcf)]],[_0x10a5a6(0x10a),_0x2e9dfe['url'],_0x3eabd3[_0x10a5a6(0x128)]],[_0x10a5a6(0x123),_0x2e9dfe[_0x10a5a6(0x131)],_0x3eabd3[_0x10a5a6(0x131)]],[_0x10a5a6(0xb6),_0x2e9dfe[_0x10a5a6(0xb6)],_0x3eabd3[_0x10a5a6(0xb6)]]];for(const [_0x2312f8,_0xcd51b5,_0x10bee8]of _0x2cea5f){if(_0xcd51b5!==_0x10bee8)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xd8)+_0x2e9dfe['id']+_0x10a5a6(0x115)+_0x2312f8+'.',_0x10a5a6(0x120));}if(!_0x2e9dfe['path'][_0x10a5a6(0x133)]()||_0x51a129!==null&&_0x2e9dfe['path']!==_0x51a129)throw menuError(_0x10a5a6(0xde),_0x10a5a6(0xd8)+_0x2e9dfe['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x10a5a6(0x120));}function creationSuccess(_0x175536,_0x3de025,_0x52059c,_0x27f224){const _0x1d8bdd=a152_0x2ca6cb,_0x5b5a45=mutationResult({..._0x175536,'after':_0x52059c,'dryRun':![],'succeeded':[{'id':_0x52059c['id'],'created':!![],'recovered':_0x27f224}],'verification':{'checkedBy':_0x1d8bdd(0xfd),'snapshotHash':_0x3de025[_0x1d8bdd(0x132)],'targetId':_0x52059c['id'],'recovered':_0x27f224,'path':_0x52059c[_0x1d8bdd(0xba)]}});return{'ok':!![],'message':_0x27f224?_0x1d8bdd(0xda)+_0x52059c['id']+'\x20after\x20response\x20loss.':_0x1d8bdd(0xbe)+_0x52059c['id']+'.','data':{..._0x5b5a45,'recovered':_0x27f224}};}function externalLinkCreateFailure(_0x5b815d,_0x5e3e67,_0x2a1378){const _0x28fee2=a152_0x2ca6cb;return menuFailure(safeMenuAddError(_0x5b815d),redactFailurePlan(_0x5e3e67),{..._0x2a1378,'succeeded':_0x2a1378[_0x28fee2(0x134)]?.[_0x28fee2(0xbf)](redactFailureRecord),'failed':_0x2a1378['failed']?redactFailureRecord(_0x2a1378[_0x28fee2(0xc6)]):undefined,'verification':_0x2a1378[_0x28fee2(0x107)]?redactFailureRecord(_0x2a1378[_0x28fee2(0x107)]):undefined,'after':_0x2a1378[_0x28fee2(0xcd)]===undefined?undefined:redactFailureValue(_0x2a1378['after'])});}function a152_0x1a79(){const _0x548deb=['readbackerror','\x20has\x20an\x20unexpected\x20','currentSnapshotHash','rawerror','3960vJwXrD','entries','\x27\x5c\x27\x27','cookie','toLowerCase','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','str','Would\x20create\x20external\x20website\x20link\x20menu\x20','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','Recovered\x20menu\x20','<redacted>','visibility','get','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','isSafeInteger','External\x20HTTPS\x20URL','url','/smartapi/menu/create','body','pre-write-recheck','menu_open_mode_invalid','length','14RSKizm','menus','16779tgzecC','visible','hash','trim','succeeded','menu_url_https_required','recovered','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','embedded','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Create\x20an\x20external\x20website\x20link\x20menu','menu_create_recovery_required','call','isArray','flagMissing','Run\x20','data','create-recovery','108330xMtFRk','rawFlags','menu_state_drift','plannedActions','link','boolean','sort','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plan','object','path','External\x20menu\x20creation\x20failed.','menu_parent_not_folder','before','Created\x20external\x20menu\x20','map','menu_permission_denied','createdId','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','menu_sort_invalid','10850XnaNVU','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','failed','snapshot','menu','byId','external-link-create','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','4csfvMp','after','1296723PleMPv','label','Menu\x20label','<platform-generated>','appCode','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','afterPlan','2984jmbpAS','replace','type','Created\x20menu\x20','causemessage','Recovered\x20created\x20external\x20menu\x20','\x20failed\x20final\x20verification.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','prototype','menu_verification_failed','Provide\x20an\x20HTTPS\x20URL.','lookupCommand','expectedPath','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','create','190541eVRHON','write','\x20could\x20not\x20be\x20verified.','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','includes','expectedSnapshotHash','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','parent-id','60GiikkE','has','\x20with\x20','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','protocol','POST','129242QlMrKJ','menu_url_invalid','125ojXvWW','How\x20to\x20open\x20the\x20external\x20website','create\x20external\x20menu','menu_create_response_invalid','code','menu\x20list','selector','menu_mutation_failed','menu_url_credentials_forbidden','parent','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','create-menu','password','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','open-mode','verification','fact','Menu\x20','URL','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','1364429rCBMpO','new-window','string','username','filter','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','parentId','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.'];a152_0x1a79=function(){return _0x548deb;};return a152_0x1a79();}function redactFailurePlan(_0x86a0c1){const _0x12b80f=a152_0x2ca6cb;return{..._0x86a0c1,'selector':redactFailureRecord(_0x86a0c1[_0x12b80f(0xfe)]),'before':redactFailureValue(_0x86a0c1[_0x12b80f(0xbd)]),'after':redactFailureValue(_0x86a0c1[_0x12b80f(0xcd)]),'plannedActions':_0x86a0c1[_0x12b80f(0xb3)]?.['map'](_0x287a9b=>({..._0x287a9b,'body':redactFailureRecord(_0x287a9b[_0x12b80f(0x12a)])})),'succeeded':_0x86a0c1[_0x12b80f(0x134)]['map'](redactFailureRecord),'failed':_0x86a0c1[_0x12b80f(0xc6)][_0x12b80f(0xbf)](redactFailureRecord),'verification':_0x86a0c1[_0x12b80f(0x107)]?redactFailureRecord(_0x86a0c1[_0x12b80f(0x107)]):undefined};}function redactFailureRecord(_0x243de3){return redactFailureValue(_0x243de3);}function redactFailureValue(_0x28fa10,_0x51b71f=''){const _0x28fef2=a152_0x2ca6cb,_0x4bb98d=_0x51b71f[_0x28fef2(0x11c)]()[_0x28fef2(0xd6)](/[^a-z0-9]/g,'');if(['cause',_0x28fef2(0xd9),_0x28fef2(0x114),_0x28fef2(0x117)][_0x28fef2(0xea)](_0x4bb98d))return _0x28fef2(0x122);if(Array[_0x28fef2(0x13d)](_0x28fa10))return _0x28fa10['map'](_0x40e591=>redactFailureValue(_0x40e591));if(_0x28fa10&&typeof _0x28fa10===_0x28fef2(0xb9))return Object['fromEntries'](Object[_0x28fef2(0x119)](_0x28fa10)[_0x28fef2(0xbf)](([_0x56bc0f,_0xe10d4d])=>[_0x56bc0f,redactFailureValue(_0xe10d4d,_0x56bc0f)]));return _0x28fa10;}function a152_0x3c07(_0x25c4ac,_0x45c5b9){_0x25c4ac=_0x25c4ac-0xaf;const _0x1a7934=a152_0x1a79();let _0x3c0737=_0x1a7934[_0x25c4ac];return _0x3c0737;}function safeMenuAddError(_0x19df7b){const _0x267a8f=a152_0x2ca6cb,_0x44c9e5=_0x19df7b instanceof CliError?_0x19df7b[_0x267a8f(0xfc)]:_0x267a8f(0xff);switch(_0x44c9e5){case _0x267a8f(0xb2):return menuError(_0x44c9e5,_0x267a8f(0xf1),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case _0x267a8f(0xc0):return menuError(_0x44c9e5,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x267a8f(0xcb));case'menu_create_response_invalid':return menuError(_0x44c9e5,_0x267a8f(0x111),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x267a8f(0xde):return menuError(_0x44c9e5,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x44c9e5,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x267a8f(0xc5));case'menu_mutation_failed':case'menu_not_found':case _0x267a8f(0xbc):case _0x267a8f(0xc3):case'menu_sort_overflow':return menuError(_0x44c9e5,_0x267a8f(0xbb),_0x267a8f(0x113));default:return menuError(_0x267a8f(0xff),_0x267a8f(0xbb),_0x267a8f(0x113));}}function getFailureRecord(_0x35072a){const _0x31614b=a152_0x2ca6cb;if(!(_0x35072a instanceof Error)||!(_0x31614b(0x140)in _0x35072a))return undefined;const _0x771522=_0x35072a[_0x31614b(0x140)];if(!_0x771522||typeof _0x771522!==_0x31614b(0xb9))return undefined;const _0x444e71=_0x771522[_0x31614b(0xc6)];if(!Array['isArray'](_0x444e71)||!_0x444e71[0x0]||typeof _0x444e71[0x0]!==_0x31614b(0xb9))return undefined;return _0x444e71[0x0];}
|
|
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 +1 @@
|
|
|
1
|
-
const a153_0x3e7a6e=a153_0x3715;(function(_0xe23a7,_0xc04db5){const _0x5f57d1=a153_0x3715,_0x4eec70=_0xe23a7();while(!![]){try{const _0x3c0a52=parseInt(_0x5f57d1(0x119))/0x1*(parseInt(_0x5f57d1(0x104))/0x2)+-parseInt(_0x5f57d1(0x11a))/0x3+-parseInt(_0x5f57d1(0x118))/0x4+parseInt(_0x5f57d1(0x110))/0x5*(-parseInt(_0x5f57d1(0x10a))/0x6)+-parseInt(_0x5f57d1(0x143))/0x7+-parseInt(_0x5f57d1(0x124))/0x8+parseInt(_0x5f57d1(0x13c))/0x9*(parseInt(_0x5f57d1(0x123))/0xa);if(_0x3c0a52===_0xc04db5)break;else _0x4eec70['push'](_0x4eec70['shift']());}catch(_0x1e42ae){_0x4eec70['push'](_0x4eec70['shift']());}}}(a153_0x6bad,0xc8630));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';function a153_0x6bad(){const _0x3208b2=['menu_external_link_path_missing','Update\x20request\x20for\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','7618163miYUjO','parentId',',\x20current\x20','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','visible','requestedUrlObserved','type','Run\x20','cookie','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','28492NDWDgw','failed','menu','flagMissing','unknown','write','30gymvXQ','trim','replace','string','menu_update_recovery_required','\x20URL\x20update\x20did\x20not\x20take\x20effect.','203995PkplKp','/smartapi/menu/update','expect-parent-id','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','snapshot','\x20has\x20','\x20already\x20matches\x20the\x20requested\x20URL.','6298028wWoNEx','114UeAHVy','4866474edLgtz','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','update\x20external\x20menu\x20URL','body','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','POST','link','185570hzQPsz','8222152ZFbaKj','Response\x20was\x20lost\x20and\x20menu\x20','childrenCount','\x20has\x20an\x20empty\x20platform\x20path.','label','menu_external_link_type_required','url','Menu\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Updated\x20external\x20URL\x20for\x20menu\x20','\x20is\x20type\x20\x22','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','expect-url','rabetbase\x20menu\x20list\x20--appcode\x20','update-recovery','get','verification','path','sort','hash','readbackFailed','menu_state_drift','str','2286VHfAMm','\x20--format\x20compress','appCode','update-external-link-url'];a153_0x6bad=function(){return _0x3208b2;};return a153_0x6bad();}const BACKEND=[{'method':'POST','path':a153_0x3e7a6e(0x111)}];export const menuExternalLinkUpdate={'service':a153_0x3e7a6e(0x106),'command':a153_0x3e7a6e(0x11c),'description':a153_0x3e7a6e(0x142),'risk':a153_0x3e7a6e(0x109),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a153_0x3e7a6e(0x10d),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a153_0x3e7a6e(0x131),'type':a153_0x3e7a6e(0x10d),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1ce669){validateInput(_0x1ce669);},async 'dryRun'(_0x103a20){const _0x17dacb=a153_0x3e7a6e;validateInput(_0x103a20);const _0x5d27e1=await buildPlan(_0x103a20,!![]);return menuDryRunResult(_0x5d27e1['plan'],{'method':_0x17dacb(0x121),'url':_0x17dacb(0x111),'body':_0x5d27e1[_0x17dacb(0x11f)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x5d27e1[_0x17dacb(0x11f)]['id']+'.'});},async 'execute'(_0x424f42){const _0x300b1b=a153_0x3e7a6e;validateInput(_0x424f42);const _0x584dc4=await buildPlan(_0x424f42,![]),{plan:_0xa5146,body:_0x7d0cd0,before:_0x220159,noChanges:_0x3fbcc6}=_0x584dc4,_0x2297eb=_0x7d0cd0['id'];if(_0x3fbcc6)return updateSuccess(_0xa5146,_0x584dc4[_0x300b1b(0x115)],_0x220159,!![],![]);await recheckMutationSnapshot(_0x424f42,_0xa5146,'update\x20external\x20menu\x20URL',_0x2297eb);try{await updateMenuEntity(_0x424f42[_0x300b1b(0x13e)],_0x424f42[_0x300b1b(0x102)],{'id':_0x7d0cd0['id'],'url':_0x7d0cd0[_0x300b1b(0x12a)]});}catch(_0x84451d){const _0x1e99ec=mapMenuApiError(_0x84451d,_0x300b1b(0x11e),_0x2297eb);if(isMenuResponseLoss(_0x84451d)&&_0x1e99ec['code']!=='menu_permission_denied')return recoverAfterResponseLoss(_0x424f42,_0x584dc4);throw menuFailure(_0x1e99ec,_0xa5146,{'stage':'update','failed':{'id':_0x2297eb},'warnings':[_0x300b1b(0x130)],'verification':{'status':'failed','targetId':_0x2297eb,'lookupCommand':buildLookupCommand(_0x424f42[_0x300b1b(0x13e)])}});}let _0x4300d3,_0x334456;try{_0x4300d3=await fetchMenuSnapshot(_0x424f42[_0x300b1b(0x13e)],_0x424f42[_0x300b1b(0x102)]),_0x334456=requireMenu(_0x4300d3,_0x2297eb),verifyUpdatedFact(_0x220159,_0x334456,_0x7d0cd0[_0x300b1b(0x12a)]);}catch(_0x38de29){const _0x27059b=describeMenuErrorCause(_0x38de29,'verify\x20external\x20menu\x20URL\x20update',_0x2297eb),_0x595494=asVerificationError(_0x38de29,_0x300b1b(0x141)+_0x2297eb+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x595494,_0xa5146,{'stage':_0x300b1b(0x135),'succeeded':[{'id':_0x2297eb,'updateRequested':!![]}],'failed':{'id':_0x2297eb,'requestedStateConfirmed':![],..._0x27059b},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x300b1b(0x105),'targetId':_0x2297eb,'lookupCommand':buildLookupCommand(_0x424f42['appCode'])}});}return updateSuccess(_0xa5146,_0x4300d3,_0x334456,![],![]);}};function validateInput(_0x243396){const _0x1448a7=a153_0x3e7a6e;validateExactId(_0x243396),requiredUrl(_0x243396,'url'),requiredExpectedUrl(_0x243396),parseParentId(_0x243396,_0x1448a7(0x112),{'required':!![]});}function requiredUrl(_0xf78884,_0x5373b4){const _0x2a01d0=a153_0x3e7a6e;if(!hasFlag(_0xf78884,_0x5373b4)||!_0xf78884[_0x2a01d0(0x13b)](_0x5373b4)[_0x2a01d0(0x10b)]())throw CliErrors[_0x2a01d0(0x107)](_0x5373b4);return validateExternalMenuUrl(_0xf78884[_0x2a01d0(0x13b)](_0x5373b4));}function requiredExpectedUrl(_0x29368f){const _0x33f2f8=a153_0x3e7a6e;if(!hasFlag(_0x29368f,'expect-url')||!_0x29368f[_0x33f2f8(0x13b)](_0x33f2f8(0x131))[_0x33f2f8(0x10b)]())throw CliErrors[_0x33f2f8(0x107)](_0x33f2f8(0x131));return _0x29368f[_0x33f2f8(0x13b)](_0x33f2f8(0x131))[_0x33f2f8(0x10b)]();}async function buildPlan(_0x45d7fd,_0x1fdae1){const _0x309f5d=a153_0x3e7a6e,_0x8af984=validateExactId(_0x45d7fd),_0x37e2fd=requiredUrl(_0x45d7fd,_0x309f5d(0x12a)),_0x4995e7=requiredExpectedUrl(_0x45d7fd),_0x3c4ffa=parseParentId(_0x45d7fd,'expect-parent-id',{'required':!![]}),_0xf782d0=await fetchMutationSnapshot(_0x45d7fd,'update\x20external\x20menu\x20URL',_0x8af984),_0x9b63e0=requireMenu(_0xf782d0,_0x8af984);assertExternalLinkLeaf(_0x9b63e0);if(_0x9b63e0[_0x309f5d(0xfb)]!==_0x3c4ffa)throw menuError('menu_state_drift',_0x309f5d(0x12b)+_0x8af984+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x3c4ffa)+_0x309f5d(0xfc)+formatParent(_0x9b63e0[_0x309f5d(0xfb)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x3c8a1e=_0x9b63e0['url']===_0x37e2fd;if(!_0x3c8a1e&&_0x9b63e0['url']!==_0x4995e7)throw menuError(_0x309f5d(0x13a),_0x309f5d(0x12b)+_0x8af984+_0x309f5d(0x103),_0x309f5d(0x120));const _0x49e549={'id':_0x8af984,'appCode':_0x45d7fd['appCode'],'url':_0x37e2fd},_0x2ef9d4={..._0x9b63e0,'url':_0x37e2fd};return{'body':_0x49e549,'before':_0x9b63e0,'noChanges':_0x3c8a1e,'snapshot':_0xf782d0,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x8af984},'before':_0x9b63e0,'after':_0x2ef9d4,'dryRun':_0x1fdae1,'backend':[...BACKEND],'plannedActions':_0x3c8a1e?[]:[{'stage':_0x309f5d(0x13f),'method':_0x309f5d(0x121),'path':_0x309f5d(0x111),'body':_0x49e549}],'snapshotHash':_0xf782d0[_0x309f5d(0x138)],'warnings':_0x3c8a1e?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function a153_0x3715(_0x53a5a1,_0x4d5c5e){_0x53a5a1=_0x53a5a1-0xfb;const _0x6badf9=a153_0x6bad();let _0x3715eb=_0x6badf9[_0x53a5a1];return _0x3715eb;}function assertExternalLinkLeaf(_0x34e696){const _0x1d5c13=a153_0x3e7a6e;if(_0x34e696['type']!=='iframe'&&_0x34e696['type']!==_0x1d5c13(0x122))throw menuError(_0x1d5c13(0x129),_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x12e)+(_0x34e696[_0x1d5c13(0x100)]||_0x1d5c13(0x108))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x1d5c13(0x11b));if(_0x34e696[_0x1d5c13(0x126)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x116)+_0x34e696[_0x1d5c13(0x126)]+_0x1d5c13(0x114),_0x1d5c13(0xfd));if(!_0x34e696[_0x1d5c13(0x136)]['trim']())throw menuError(_0x1d5c13(0x140),_0x1d5c13(0x12b)+_0x34e696['id']+_0x1d5c13(0x127),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x3aacb6,_0x3357f1,_0x7558e3){const _0x2f4c31=a153_0x3e7a6e;assertExternalLinkLeaf(_0x3357f1);const _0x6bc72c=[['id',_0x3357f1['id'],_0x3aacb6['id']],[_0x2f4c31(0x128),_0x3357f1[_0x2f4c31(0x128)],_0x3aacb6[_0x2f4c31(0x128)]],[_0x2f4c31(0x100),_0x3357f1['type'],_0x3aacb6[_0x2f4c31(0x100)]],[_0x2f4c31(0x136),_0x3357f1[_0x2f4c31(0x136)],_0x3aacb6[_0x2f4c31(0x136)]],[_0x2f4c31(0xfb),_0x3357f1[_0x2f4c31(0xfb)],_0x3aacb6['parentId']],[_0x2f4c31(0x137),_0x3357f1[_0x2f4c31(0x137)],_0x3aacb6[_0x2f4c31(0x137)]],[_0x2f4c31(0xfe),_0x3357f1['visible'],_0x3aacb6[_0x2f4c31(0xfe)]]];for(const [_0x434f1d,_0x4c743c,_0x3f7ee5]of _0x6bc72c){assertVerified(_0x4c743c===_0x3f7ee5,_0x2f4c31(0x12b)+_0x3aacb6['id']+'\x20'+_0x434f1d+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x3357f1['url']===_0x7558e3,_0x2f4c31(0x12b)+_0x3aacb6['id']+_0x2f4c31(0x10f));}function updateSuccess(_0x34261e,_0x3ee602,_0x1dcdb1,_0x4fdf95,_0x2e6c95){const _0x7dcb4f=a153_0x3e7a6e,_0x5c14ff=_0x1dcdb1['id'],_0x27a498=mutationResult({..._0x34261e,'after':_0x1dcdb1,'dryRun':![],'succeeded':[{'id':_0x5c14ff,'updated':!_0x4fdf95,'skipped':_0x4fdf95,'recovered':_0x2e6c95}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x3ee602['hash'],'targetId':_0x5c14ff,'matchesRequestedState':!![],'recovered':_0x2e6c95}});return{'ok':!![],'message':_0x2e6c95?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x5c14ff+'.':_0x4fdf95?_0x7dcb4f(0x12b)+_0x5c14ff+_0x7dcb4f(0x117):_0x7dcb4f(0x12d)+_0x5c14ff+'.','data':{..._0x27a498,'recovered':_0x2e6c95}};}async function recoverAfterResponseLoss(_0x1990e7,_0x1cce19){const _0x2d679f=a153_0x3e7a6e,{plan:_0x82c9f1,before:_0x15a898,body:_0x27f624}=_0x1cce19;let _0x24b44f;try{_0x24b44f=await fetchMenuSnapshot(_0x1990e7[_0x2d679f(0x13e)],_0x1990e7[_0x2d679f(0x102)]);}catch{throw recoveryRequired(_0x82c9f1,_0x1990e7[_0x2d679f(0x13e)],{'id':_0x27f624['id'],'readbackFailed':!![]});}const _0x4c0b2=_0x24b44f['byId'][_0x2d679f(0x134)](_0x27f624['id']);if(!_0x4c0b2||_0x4c0b2[_0x2d679f(0x12a)]!==_0x27f624[_0x2d679f(0x12a)])throw recoveryRequired(_0x82c9f1,_0x1990e7[_0x2d679f(0x13e)],{'id':_0x27f624['id'],'requestedUrlObserved':![],'after':_0x4c0b2??null});try{verifyUpdatedFact(_0x15a898,_0x4c0b2,_0x27f624[_0x2d679f(0x12a)]);}catch(_0xbb2c3f){const _0xa24701=asVerificationError(_0xbb2c3f,_0x2d679f(0x125)+_0x27f624['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0xa24701,_0x82c9f1,{'stage':'update-recovery','succeeded':[{'id':_0x27f624['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x27f624['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4c0b2,'warnings':[_0x2d679f(0x113)],'verification':{'status':'failed','targetId':_0x27f624['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x1990e7[_0x2d679f(0x13e)])}});}return updateSuccess(_0x82c9f1,_0x24b44f,_0x4c0b2,![],!![]);}function recoveryRequired(_0x51081d,_0x21621a,_0x4acc08){const _0x2f7121=a153_0x3e7a6e,_0x40d736=menuError(_0x2f7121(0x10e),_0x2f7121(0x12f),_0x2f7121(0x101)+buildLookupCommand(_0x21621a)+_0x2f7121(0x11d));return menuFailure(_0x40d736,_0x51081d,{'stage':_0x2f7121(0x133),'failed':{'id':_0x4acc08['id'],..._0x4acc08['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4acc08[_0x2f7121(0xff)]},..._0x4acc08['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4acc08['after'],'warnings':[_0x2f7121(0x12c)],'verification':{'status':'failed','targetId':_0x4acc08['id'],..._0x4acc08[_0x2f7121(0xff)]===undefined?{}:{'requestedUrlObserved':_0x4acc08['requestedUrlObserved']},..._0x4acc08[_0x2f7121(0x139)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x21621a)}});}function buildLookupCommand(_0x36c9f6){const _0x2747cc=a153_0x3e7a6e,_0x4c5a68='\x27'+_0x36c9f6[_0x2747cc(0x10c)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x2747cc(0x132)+_0x4c5a68+_0x2747cc(0x13d);}
|
|
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 +1 @@
|
|
|
1
|
-
const a154_0x593c4b=a154_0x4fd1;(function(_0x23c91c,_0x33c096){const _0x2b36b0=a154_0x4fd1,_0x266f13=_0x23c91c();while(!![]){try{const _0x147b40=-parseInt(_0x2b36b0(0xe9))/0x1*(-parseInt(_0x2b36b0(0xcb))/0x2)+parseInt(_0x2b36b0(0xe4))/0x3*(parseInt(_0x2b36b0(0xee))/0x4)+parseInt(_0x2b36b0(0xc5))/0x5*(-parseInt(_0x2b36b0(0xf8))/0x6)+-parseInt(_0x2b36b0(0xbe))/0x7+-parseInt(_0x2b36b0(0xfc))/0x8*(parseInt(_0x2b36b0(0xcd))/0x9)+parseInt(_0x2b36b0(0xdb))/0xa+parseInt(_0x2b36b0(0xf7))/0xb*(parseInt(_0x2b36b0(0xd6))/0xc);if(_0x147b40===_0x33c096)break;else _0x266f13['push'](_0x266f13['shift']());}catch(_0x3d9e68){_0x266f13['push'](_0x266f13['shift']());}}}(a154_0x4f6f,0x79911));function a154_0x4f6f(){const _0x2d6a64=['Created\x20menu\x20','\x20is\x20not\x20visible.','parentId','sort','Created\x20menu\x20folder\x20','72168Xhowlu','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','Folder\x20','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','string','2368870qnYHZt','\x22\x20with\x20a\x20platform-generated\x20path.','create-response-validation','isSafeInteger','menu_create_response_invalid','type','create-folder','Would\x20create\x20empty\x20folder\x20\x22','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','363yndyNK','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','flagMissing','Created\x20folder\x20','verification','1AVuzyS','create\x20folder','trim','childrenCount','rabetbase\x20menu\x20list\x20--format\x20json','10956YGewIP','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20is\x20missing\x20from\x20menu\x20list.','\x20has\x20an\x20unexpected\x20sort.','label','root','\x20has\x20unexpected\x20parent\x20','616PPqGIQ','6888zZLjYM','menu','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','1864lsLCGe','hash','\x20unexpectedly\x20owns\x20a\x20page.','path','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20is\x20not\x20empty.','Menu\x20create\x20response\x20for\x20folder\x20','\x20has\x20resources.','resources','<platform-generated>','depth','2990505PovSGA','failed','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','POST','cookie',';\x20verify\x20it\x20before\x20retrying.','write','1325JfqrvT','stringify','\x20has\x20an\x20unexpected\x20label.','after','get','/smartapi/menu/create','872710exNdwm','Folder\x20label','4329VarQIE','\x20may\x20exist\x20online\x20at\x20path\x20','folder','verify\x20folder\x20creation'];a154_0x4f6f=function(){return _0x2d6a64;};return a154_0x4f6f();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a154_0x4fd1(_0x598548,_0x24f16c){_0x598548=_0x598548-0xb5;const _0x4f6f89=a154_0x4f6f();let _0x4fd17e=_0x4f6f89[_0x598548];return _0x4fd17e;}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':a154_0x593c4b(0xc1),'path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a154_0x593c4b(0xf9),'command':'group-create','description':a154_0x593c4b(0xef),'risk':a154_0x593c4b(0xc4),'structuredErrors':!![],'flags':[{'name':a154_0x593c4b(0xf4),'type':a154_0x593c4b(0xda),'required':!![],'description':a154_0x593c4b(0xcc)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x492704){validateCreateInput(_0x492704);},async 'dryRun'(_0x362316){const _0x34c25e=a154_0x593c4b,_0x238036=await buildCreatePlan(_0x362316,!![]),_0xebe4bf=_0x238036[_0x34c25e(0xc8)];return menuDryRunResult(_0x238036,{'method':_0x34c25e(0xc1),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0xebe4bf[_0x34c25e(0xd3)]),'label':_0xebe4bf[_0x34c25e(0xf4)],'type':_0x34c25e(0xcf),'visible':!![],'sort':_0xebe4bf[_0x34c25e(0xd4)],'extend':{}},'description':_0x34c25e(0xe2)+String(_0xebe4bf[_0x34c25e(0xf4)])+_0x34c25e(0xdc)});},async 'execute'(_0x33fa18){const _0x18fa5c=a154_0x593c4b;validateCreateInput(_0x33fa18);const _0x253ed7=await buildCreatePlan(_0x33fa18,![]),_0xc1a286=_0x253ed7['after'];await recheckMutationSnapshot(_0x33fa18,_0x253ed7,'create\x20folder');let _0x4946fc;try{_0x4946fc=await createMenuEntity(_0x33fa18['appCode'],_0x33fa18[_0x18fa5c(0xc2)],{'parentId':toApiParentId(_0xc1a286[_0x18fa5c(0xd3)]),'label':String(_0xc1a286[_0x18fa5c(0xf4)]),'type':_0x18fa5c(0xcf),'visible':!![],'sort':Number(_0xc1a286[_0x18fa5c(0xd4)]),'extend':{}});}catch(_0x38d015){const _0x314e8e=mapMenuApiError(_0x38d015,_0x18fa5c(0xea));throw menuFailure(_0x314e8e,_0x253ed7,{'stage':'create','failed':{}});}const _0x4d3167=Number(_0x4946fc['id']);if(!Number[_0x18fa5c(0xde)](_0x4d3167)||_0x4d3167<=0x0){const _0x3d1dc9=menuError(_0x18fa5c(0xdf),_0x18fa5c(0xe3),_0x18fa5c(0xfa));throw menuFailure(_0x3d1dc9,_0x253ed7,{'stage':_0x18fa5c(0xdd),'failed':{'createdId':_0x4946fc['id']??null},'warnings':[_0x18fa5c(0xf1)],'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':_0x18fa5c(0xed)}});}const _0x5a4a6d=typeof _0x4946fc[_0x18fa5c(0xb6)]===_0x18fa5c(0xda)?_0x4946fc[_0x18fa5c(0xb6)]:'';if(!_0x5a4a6d[_0x18fa5c(0xeb)]()){const _0x5c55bf=menuError(_0x18fa5c(0xdf),_0x18fa5c(0xb9)+_0x4d3167+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x18fa5c(0xe5));throw menuFailure(_0x5c55bf,_0x253ed7,{'stage':_0x18fa5c(0xdd),'succeeded':[{'id':_0x4d3167,'created':!![]}],'failed':{'id':_0x4d3167,'generatedPathConfirmed':![]},'warnings':[_0x18fa5c(0xd8)+_0x4d3167+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4d3167}});}let _0x15907d;try{_0x15907d=await fetchMenuSnapshot(_0x33fa18['appCode'],_0x33fa18[_0x18fa5c(0xc2)]);}catch(_0x4c97da){const _0x42d6ed=describeMenuErrorCause(_0x4c97da,_0x18fa5c(0xd0),_0x4d3167),_0x384fa0=asVerificationError(_0x4c97da,_0x18fa5c(0xd8)+_0x4d3167+_0x18fa5c(0xc0));throw menuFailure(_0x384fa0,_0x253ed7,{'stage':'verification','succeeded':[{'id':_0x4d3167,'created':!![],'path':_0x5a4a6d}],'failed':{'id':_0x4d3167,'finalFactsConfirmed':![],..._0x42d6ed},'warnings':[_0x18fa5c(0xd8)+_0x4d3167+_0x18fa5c(0xce)+JSON[_0x18fa5c(0xc6)](_0x5a4a6d)+_0x18fa5c(0xc3)],'after':{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':_0x18fa5c(0xbf),'lookupCommand':_0x18fa5c(0xed),'targetId':_0x4d3167}});}const _0x5b086e=_0x15907d['byId'][_0x18fa5c(0xc9)](_0x4d3167);let _0x2da8a4;try{assertVerified(Boolean(_0x5b086e),_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xf2)),_0x2da8a4=_0x5b086e,assertVerified(_0x2da8a4[_0x18fa5c(0xe0)]===_0x18fa5c(0xcf),_0x18fa5c(0xd1)+_0x4d3167+_0x18fa5c(0xfb)),assertVerified(_0x2da8a4[_0x18fa5c(0xf4)]===_0xc1a286['label'],'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xc7)),assertVerified(_0x2da8a4[_0x18fa5c(0xb6)]===_0x5a4a6d&&Boolean(_0x2da8a4[_0x18fa5c(0xb6)][_0x18fa5c(0xeb)]()),_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xb7)),assertVerified(_0x2da8a4['visible']===!![],_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xd2)),assertVerified(_0x2da8a4[_0x18fa5c(0xbb)]['length']===0x0,_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xba)),assertVerified(_0x2da8a4[_0x18fa5c(0xec)]===0x0,_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xb8)),assertVerified(_0x2da8a4[_0x18fa5c(0xd4)]===_0xc1a286[_0x18fa5c(0xd4)],'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xf3)),assertVerified(_0x2da8a4[_0x18fa5c(0xd3)]===_0xc1a286[_0x18fa5c(0xd3)],_0x18fa5c(0xe7)+_0x4d3167+_0x18fa5c(0xf6)+(_0x2da8a4[_0x18fa5c(0xd3)]??_0x18fa5c(0xf5))+'.'),assertVerified(_0x2da8a4['pageId']==null,'Created\x20folder\x20'+_0x4d3167+_0x18fa5c(0xb5));const _0xd8e65d=_0x2da8a4[_0x18fa5c(0xd3)]==null?undefined:requireFolder(_0x15907d,_0x2da8a4[_0x18fa5c(0xd3)]);assertVerified(_0x2da8a4[_0x18fa5c(0xbd)]===(_0xd8e65d?_0xd8e65d[_0x18fa5c(0xbd)]+0x1:0x0),_0x18fa5c(0xe7)+_0x4d3167+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x98f88){const _0x5d6b37=describeMenuErrorCause(_0x98f88,'verify\x20folder\x20creation',_0x4d3167),_0x41484e=asVerificationError(_0x98f88,_0x18fa5c(0xd8)+_0x4d3167+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x41484e,_0x253ed7,{'stage':_0x18fa5c(0xe8),'succeeded':[{'id':_0x4d3167,'created':!![],'path':_0x5a4a6d}],'failed':{'id':_0x4d3167,'finalFactsConfirmed':![],..._0x5d6b37},'warnings':['Folder\x20'+_0x4d3167+_0x18fa5c(0xd7)],'after':_0x5b086e??{..._0xc1a286,'id':_0x4d3167,'path':_0x5a4a6d},'verification':{'status':'failed','lookupCommand':_0x18fa5c(0xed),'targetId':_0x4d3167}});}const _0x7fa7a1=mutationResult({..._0x253ed7,'after':_0x2da8a4,'dryRun':![],'succeeded':[{'id':_0x4d3167,'type':_0x18fa5c(0xcf),'path':_0x5a4a6d}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x15907d['hash'],'folder':!![],'path':_0x5a4a6d,'emptyResources':!![]}});return{'ok':!![],'data':_0x7fa7a1,'message':_0x18fa5c(0xd5)+_0x4d3167+'.'};}};function validateCreateInput(_0x1b9bf1){const _0x13cb63=a154_0x593c4b,_0x45a366=_0x1b9bf1['str'](_0x13cb63(0xf4))['trim']();if(!_0x45a366)throw CliErrors[_0x13cb63(0xe6)]('label');parseParentId(_0x1b9bf1,_0x13cb63(0xf0)),validateSort(_0x1b9bf1);}async function buildCreatePlan(_0x244d15,_0x649ec2){const _0x3454bc=a154_0x593c4b,_0x48ab9e=await fetchMutationSnapshot(_0x244d15,_0x3454bc(0xea)),_0x547990=parseParentId(_0x244d15,_0x3454bc(0xf0))??null;if(_0x547990!=null)requireFolder(_0x48ab9e,_0x547990);const _0x48ef3f=validateSort(_0x244d15),_0x216e94=_0x48ef3f??nextSiblingSort(_0x48ab9e,_0x547990,_0x3454bc(0xcf)),_0x3433ae=_0x244d15['str'](_0x3454bc(0xf4))[_0x3454bc(0xeb)]();return mutationResult({'operation':'group-create','selector':{'label':_0x3433ae,'parentId':_0x547990},'before':null,'after':{'id':null,'parentId':_0x547990,'label':_0x3433ae,'path':_0x3454bc(0xbc),'type':_0x3454bc(0xcf),'visible':!![],'sort':_0x216e94,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x649ec2,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3454bc(0xe1),'method':_0x3454bc(0xc1),'path':_0x3454bc(0xca),'body':{'parentId':toApiParentId(_0x547990),'label':_0x3433ae,'type':'folder','visible':!![],'sort':_0x216e94,'extend':{}}}],'snapshotHash':_0x48ab9e[_0x3454bc(0xfd)],'warnings':[_0x3454bc(0xd9)]});}
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a156_0xfe809a=a156_0x4335;(function(_0x677009,_0x214c0c){const _0xdba4ef=a156_0x4335,_0x118887=_0x677009();while(!![]){try{const _0x4b8a6c=parseInt(_0xdba4ef(0xff))/0x1+-parseInt(_0xdba4ef(0xfa))/0x2+-parseInt(_0xdba4ef(0x114))/0x3+-parseInt(_0xdba4ef(0xf3))/0x4+parseInt(_0xdba4ef(0x10b))/0x5*(-parseInt(_0xdba4ef(0xfb))/0x6)+parseInt(_0xdba4ef(0x115))/0x7+parseInt(_0xdba4ef(0x100))/0x8*(parseInt(_0xdba4ef(0x104))/0x9);if(_0x4b8a6c===_0x214c0c)break;else _0x118887['push'](_0x118887['shift']());}catch(_0x51c7e7){_0x118887['push'](_0x118887['shift']());}}}(a156_0x4971,0x71f88));function a156_0x4971(){const _0x4ecb65=['9456YDfRov','New\x20folder\x20label','trim','\x20is\x20type\x20\x22','397247ShbuaI','6064VsPGpt','label','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','Menu\x20','12681JLtCfK','Would\x20update\x20folder\x20','parent-id','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','cookie','Folder\x20','menu_not_folder','195AtiamT','update\x20folder','write','folder','verification','verify\x20folder\x20update','string','parentId','failed','2593890yeiNYP','3577119klltXl','\x20already\x20matches\x20the\x20requested\x20state.','hash','type','\x20label\x20update\x20did\x20not\x20take\x20effect.','str','\x20sort\x20update\x20did\x20not\x20take\x20effect.','group-update','Updated\x20folder\x20','sort','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','POST','selector','validation','update','Update\x20request\x20for\x20folder\x20','774328cyZewY','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','menu','unknown','/smartapi/menu/update','appCode','\x20is\x20no\x20longer\x20type\x20folder.','779572sHjWcY'];a156_0x4971=function(){return _0x4ecb65;};return a156_0x4971();}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';function a156_0x4335(_0x42a079,_0x1844f1){_0x42a079=_0x42a079-0xf3;const _0x4971dc=a156_0x4971();let _0x4335c1=_0x4971dc[_0x42a079];return _0x4335c1;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a156_0xfe809a(0xf7)}];export const menuGroupUpdate={'service':a156_0xfe809a(0xf5),'command':a156_0xfe809a(0x11c),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a156_0xfe809a(0x10d),'structuredErrors':!![],'rejectedFlags':[{'name':a156_0xfe809a(0x106),'message':a156_0xfe809a(0xf4),'hint':a156_0xfe809a(0x11f)}],'flags':[MENU_ID_FLAG,{'name':a156_0xfe809a(0x101),'type':a156_0xfe809a(0x111),'description':a156_0xfe809a(0xfc)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3f9e31){validateUpdateInput(_0x3f9e31);},async 'dryRun'(_0x1bbeec){const _0x2e43db=a156_0xfe809a;validateUpdateInput(_0x1bbeec);const {plan:_0x35af96,patch:_0x23ec07}=await buildUpdatePlan(_0x1bbeec,!![]);return menuDryRunResult(_0x35af96,{'method':_0x2e43db(0x120),'url':_0x2e43db(0xf7),'body':_0x23ec07,'description':_0x2e43db(0x105)+_0x35af96[_0x2e43db(0x121)]['id']+'.'});},async 'execute'(_0x5810b4){const _0x2486bc=a156_0xfe809a;validateUpdateInput(_0x5810b4);const {plan:_0xe6706d,patch:_0x39b11e,noChanges:_0x4f82dc}=await buildUpdatePlan(_0x5810b4,![]),_0x2c10ec=Number(_0xe6706d['selector']['id']),_0x575bcf=await recheckMutationSnapshot(_0x5810b4,_0xe6706d,_0x2486bc(0x10c),_0x2c10ec);if(!_0x4f82dc)try{await updateMenuEntity(_0x5810b4['appCode'],_0x5810b4[_0x2486bc(0x108)],_0x39b11e);}catch(_0x3cca78){const _0x424aa2=mapMenuApiError(_0x3cca78,'update\x20folder',_0x2c10ec);throw menuFailure(_0x424aa2,_0xe6706d,{'stage':_0x2486bc(0x123),'failed':{'id':_0x2c10ec}});}let _0x58adcc=_0x575bcf,_0xfe0e26;try{!_0x4f82dc&&(_0x58adcc=await fetchMenuSnapshot(_0x5810b4[_0x2486bc(0xf8)],_0x5810b4[_0x2486bc(0x108)])),_0xfe0e26=requireMenu(_0x58adcc,_0x2c10ec),verifyPatch(_0xfe0e26,_0x39b11e),_0xfe0e26['parentId']!=null&&requireFolder(_0x58adcc,_0xfe0e26[_0x2486bc(0x112)]);}catch(_0x522f86){const _0x2841d0=describeMenuErrorCause(_0x522f86,_0x2486bc(0x110),_0x2c10ec),_0x3e3365=asVerificationError(_0x522f86,_0x2486bc(0x124)+_0x2c10ec+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x3e3365,_0xe6706d,{'stage':_0x2486bc(0x10f),'succeeded':[{'id':_0x2c10ec,'updateRequested':!_0x4f82dc,'skipped':_0x4f82dc}],'failed':{'id':_0x2c10ec,'requestedStateConfirmed':![],..._0x2841d0},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x2486bc(0x113),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2c10ec}});}const _0x3cde39=mutationResult({..._0xe6706d,'after':_0xfe0e26,'dryRun':![],'succeeded':[{'id':_0x2c10ec,'updated':!_0x4f82dc,'skipped':_0x4f82dc}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x58adcc[_0x2486bc(0x117)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3cde39,'message':_0x4f82dc?_0x2486bc(0x109)+_0x2c10ec+_0x2486bc(0x116):_0x2486bc(0x11d)+_0x2c10ec+'.'};}};function validateUpdateInput(_0x3360e2){const _0x42173c=a156_0xfe809a;validateExactId(_0x3360e2);if(hasFlag(_0x3360e2,_0x42173c(0x106)))throw CliErrors[_0x42173c(0x122)]('Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x3360e2,_0x42173c(0x101))&&!hasFlag(_0x3360e2,_0x42173c(0x11e)))throw CliErrors['validation'](_0x42173c(0x107));if(hasFlag(_0x3360e2,_0x42173c(0x101))&&!_0x3360e2['str']('label')[_0x42173c(0xfd)]())throw CliErrors['validation']('--label\x20cannot\x20be\x20empty.');validateSort(_0x3360e2);}async function buildUpdatePlan(_0x7f5b68,_0x13d4d2){const _0x8201b5=a156_0xfe809a,_0x1a9851=validateExactId(_0x7f5b68),_0x1fa59f=await fetchMutationSnapshot(_0x7f5b68,_0x8201b5(0x10c),_0x1a9851),_0x398f46=requireMenu(_0x1fa59f,_0x1a9851);if(_0x398f46[_0x8201b5(0x118)]!==_0x8201b5(0x10e))throw menuError(_0x8201b5(0x10a),_0x8201b5(0x103)+_0x1a9851+_0x8201b5(0xfe)+(_0x398f46['type']||_0x8201b5(0xf6))+'\x22,\x20not\x20folder.',_0x8201b5(0x102));assertExpectedState(_0x7f5b68,_0x398f46);const _0x224abd={'id':_0x1a9851},_0x476320={..._0x398f46};if(hasFlag(_0x7f5b68,_0x8201b5(0x101))){const _0x57d00a=_0x7f5b68[_0x8201b5(0x11a)](_0x8201b5(0x101))[_0x8201b5(0xfd)]();_0x224abd[_0x8201b5(0x101)]=_0x57d00a,_0x476320[_0x8201b5(0x101)]=_0x57d00a;}if(hasFlag(_0x7f5b68,_0x8201b5(0x11e))){const _0x4394aa=validateSort(_0x7f5b68);_0x224abd[_0x8201b5(0x11e)]=_0x4394aa,_0x476320['sort']=_0x4394aa;}const _0x1f5b47=sameRequestedState(_0x398f46,_0x476320),_0x3eb13a=_0x1f5b47?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x224abd,'noChanges':_0x1f5b47,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x1a9851},'before':_0x398f46,'after':_0x476320,'dryRun':_0x13d4d2,'backend':[...BACKEND],'snapshotHash':_0x1fa59f[_0x8201b5(0x117)],'warnings':_0x3eb13a})};}function sameRequestedState(_0x1e768d,_0x6997d0){const _0xd6b7d1=a156_0xfe809a;return _0x1e768d['label']===_0x6997d0[_0xd6b7d1(0x101)]&&_0x1e768d[_0xd6b7d1(0x11e)]===_0x6997d0[_0xd6b7d1(0x11e)];}function verifyPatch(_0xee9f91,_0x4fead2){const _0x11b64a=a156_0xfe809a;assertVerified(_0xee9f91[_0x11b64a(0x118)]==='folder','Menu\x20'+_0xee9f91['id']+_0x11b64a(0xf9)),_0x4fead2[_0x11b64a(0x101)]!==undefined&&assertVerified(_0xee9f91[_0x11b64a(0x101)]===_0x4fead2[_0x11b64a(0x101)],'Folder\x20'+_0xee9f91['id']+_0x11b64a(0x119)),_0x4fead2[_0x11b64a(0x11e)]!==undefined&&assertVerified(_0xee9f91[_0x11b64a(0x11e)]===_0x4fead2[_0x11b64a(0x11e)],_0x11b64a(0x109)+_0xee9f91['id']+_0x11b64a(0x11b));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a157_0x166c(){const _0x210091=['258570XMiifK','22945YmqOhI','588zTYMId','175pIlMzX','119742eLawrT','1506tfHZtD','92pszMtw','3779487ekdEWw','2641630dccwTC','104792KUYkUs'];a157_0x166c=function(){return _0x210091;};return a157_0x166c();}(function(_0xd542b,_0x52b1fc){const _0x169e0f=a157_0x3cab,_0x338990=_0xd542b();while(!![]){try{const _0x383651=parseInt(_0x169e0f(0xaa))/0x1+parseInt(_0x169e0f(0xae))/0x2+-parseInt(_0x169e0f(0xaf))/0x3*(-parseInt(_0x169e0f(0xa6))/0x4)+-parseInt(_0x169e0f(0xab))/0x5*(parseInt(_0x169e0f(0xac))/0x6)+-parseInt(_0x169e0f(0xad))/0x7*(parseInt(_0x169e0f(0xa9))/0x8)+parseInt(_0x169e0f(0xa7))/0x9+parseInt(_0x169e0f(0xa8))/0xa;if(_0x383651===_0x52b1fc)break;else _0x338990['push'](_0x338990['shift']());}catch(_0xc72ee2){_0x338990['push'](_0x338990['shift']());}}}(a157_0x166c,0x39d60));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';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';function a157_0x3cab(_0x28f2af,_0x8fec37){_0x28f2af=_0x28f2af-0xa6;const _0x166c2a=a157_0x166c();let _0x3cabcc=_0x166c2a[_0x28f2af];return _0x3cabcc;}export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuSubappAssetsStatus,menuSubappAssetsUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a158_0x16ff(_0x218d12,_0x46183d){_0x218d12=_0x218d12-0x10d;const _0x5e2864=a158_0x5e28();let _0x16ffe0=_0x5e2864[_0x218d12];return _0x16ffe0;}const a158_0x38e107=a158_0x16ff;function a158_0x5e28(){const _0x44b8da=['total','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','536379mJBIjA','cookie','boolean','8193064aoVWJm','hash','appCode','menu','menus','23132691neFCQa','read','2WgWMig','bool','13926FnllQx','35jyVzNN','859860HSHYDh','4320498YYAKIE','203004JVSVaX','map','No\x20menus\x20found.','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'];a158_0x5e28=function(){return _0x44b8da;};return a158_0x5e28();}(function(_0x8fb921,_0x43c194){const _0x49be7e=a158_0x16ff,_0x28fd7c=_0x8fb921();while(!![]){try{const _0x570c5a=parseInt(_0x49be7e(0x116))/0x1+-parseInt(_0x49be7e(0x110))/0x2*(parseInt(_0x49be7e(0x11c))/0x3)+-parseInt(_0x49be7e(0x114))/0x4+parseInt(_0x49be7e(0x113))/0x5*(parseInt(_0x49be7e(0x112))/0x6)+-parseInt(_0x49be7e(0x115))/0x7+-parseInt(_0x49be7e(0x11f))/0x8+parseInt(_0x49be7e(0x10e))/0x9;if(_0x570c5a===_0x43c194)break;else _0x28fd7c['push'](_0x28fd7c['shift']());}catch(_0x27aeeb){_0x28fd7c['push'](_0x28fd7c['shift']());}}}(a158_0x5e28,0xb830d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a158_0x38e107(0x122),'command':'list','description':a158_0x38e107(0x11b),'risk':a158_0x38e107(0x10f),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a158_0x38e107(0x11e),'description':a158_0x38e107(0x119)}],async 'execute'(_0x2ba7bd){const _0x53502e=a158_0x38e107,_0x9ce7f4=_0x2ba7bd[_0x53502e(0x111)]('verbose'),_0x178dd4=await fetchMenuSnapshot(_0x2ba7bd[_0x53502e(0x121)],_0x2ba7bd[_0x53502e(0x11d)],{'verbose':_0x9ce7f4});return{'ok':!![],'data':{'total':_0x178dd4[_0x53502e(0x11a)],'snapshotHash':_0x178dd4[_0x53502e(0x120)],'menus':_0x178dd4[_0x53502e(0x10d)][_0x53502e(0x117)](toMenuListItem)},'message':_0x178dd4[_0x53502e(0x11a)]===0x0?_0x53502e(0x118):'Found\x20'+_0x178dd4[_0x53502e(0x11a)]+'\x20menu(s)'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a159_0x4fbbc7=a159_0x3567;(function(_0x588cd9,_0x358d8d){const _0x3a4057=a159_0x3567,_0x1c9385=_0x588cd9();while(!![]){try{const _0x14b1cb=-parseInt(_0x3a4057(0x1e7))/0x1*(-parseInt(_0x3a4057(0x1f2))/0x2)+-parseInt(_0x3a4057(0x1ca))/0x3*(-parseInt(_0x3a4057(0x1c6))/0x4)+parseInt(_0x3a4057(0x1d3))/0x5+parseInt(_0x3a4057(0x1cd))/0x6*(parseInt(_0x3a4057(0x1c9))/0x7)+-parseInt(_0x3a4057(0x1de))/0x8*(parseInt(_0x3a4057(0x1d5))/0x9)+-parseInt(_0x3a4057(0x1c5))/0xa+-parseInt(_0x3a4057(0x1c4))/0xb;if(_0x14b1cb===_0x358d8d)break;else _0x1c9385['push'](_0x1c9385['shift']());}catch(_0x29d7e0){_0x1c9385['push'](_0x1c9385['shift']());}}}(a159_0x2f68,0x1c6c4));function a159_0x3567(_0x65e5d1,_0x5cb64d){_0x65e5d1=_0x65e5d1-0x1c4;const _0x2f6873=a159_0x2f68();let _0x35677f=_0x2f6873[_0x65e5d1];return _0x35677f;}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_0x4fbbc7(0x1f4),'path':a159_0x4fbbc7(0x1e0)}];export const menuMove={'service':a159_0x4fbbc7(0x1ee),'command':a159_0x4fbbc7(0x1f1),'description':a159_0x4fbbc7(0x1df),'risk':a159_0x4fbbc7(0x1e4),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x83c228){validateMoveInput(_0x83c228);},async 'dryRun'(_0x2b6990){const _0x3e8648=a159_0x4fbbc7,{plan:_0x530b17,patch:_0x291a62}=await buildMovePlan(_0x2b6990,!![]);return menuDryRunResult(_0x530b17,{'method':_0x3e8648(0x1f4),'url':'/smartapi/menu/update','body':{..._0x291a62,'appCode':_0x2b6990[_0x3e8648(0x1d9)]},'description':_0x3e8648(0x1d2)+_0x291a62['id']+'.'});},async 'execute'(_0x5a4d55){const _0x1fb82a=a159_0x4fbbc7;validateMoveInput(_0x5a4d55);const {plan:_0x308eb1,patch:_0x2262c7,noChanges:_0x20d384,snapshot:_0x5becda}=await buildMovePlan(_0x5a4d55,![]),_0x5df78e=_0x2262c7['id'];if(!_0x20d384)try{await updateMenuEntity(_0x5a4d55[_0x1fb82a(0x1d9)],_0x5a4d55[_0x1fb82a(0x1eb)],_0x2262c7);}catch(_0x498eb3){const _0x56381d=mapMenuApiError(_0x498eb3,_0x1fb82a(0x1f1),_0x5df78e);throw menuFailure(_0x56381d,_0x308eb1,{'stage':_0x1fb82a(0x1e5),'failed':{'id':_0x5df78e},'warnings':[_0x1fb82a(0x1cc)],'verification':{'status':_0x1fb82a(0x1e1),'targetId':_0x5df78e,'lookupCommand':_0x1fb82a(0x1f0)}});}let _0x56317c,_0x5c9271;try{_0x56317c=_0x20d384?_0x5becda:await fetchMenuSnapshot(_0x5a4d55[_0x1fb82a(0x1d9)],_0x5a4d55['cookie']),_0x5c9271=requireMenu(_0x56317c,_0x5df78e),verifyMove(_0x5c9271,_0x308eb1[_0x1fb82a(0x1dc)]),_0x5c9271[_0x1fb82a(0x1d6)]!==null&&requireFolder(_0x56317c,_0x5c9271[_0x1fb82a(0x1d6)]);}catch(_0x52629e){const _0x2fc819=describeMenuErrorCause(_0x52629e,_0x1fb82a(0x1ec),_0x5df78e),_0x1b3acb=asVerificationError(_0x52629e,_0x1fb82a(0x1cf)+_0x5df78e+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x1b3acb,_0x308eb1,{'stage':_0x1fb82a(0x1d4),'succeeded':[{'id':_0x5df78e,'updateRequested':!_0x20d384,'skipped':_0x20d384}],'failed':{'id':_0x5df78e,'requestedStateConfirmed':![],..._0x2fc819},'warnings':[_0x1fb82a(0x1e2)],'verification':{'status':_0x1fb82a(0x1e1),'targetId':_0x5df78e,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x77b3b2=mutationResult({..._0x308eb1,'after':_0x5c9271,'dryRun':![],'succeeded':[{'id':_0x5df78e,'updated':!_0x20d384,'skipped':_0x20d384}],'verification':{'checkedBy':_0x1fb82a(0x1d0),'snapshotHash':_0x56317c[_0x1fb82a(0x1ed)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x77b3b2,'message':_0x20d384?'Menu\x20'+_0x5df78e+_0x1fb82a(0x1d1):_0x1fb82a(0x1ce)+_0x5df78e+'.'};}};function validateMoveInput(_0x4c8df1){const _0x54abfe=a159_0x4fbbc7;validateExactId(_0x4c8df1),parseParentId(_0x4c8df1,_0x54abfe(0x1ea),{'required':!![]}),parseParentId(_0x4c8df1,_0x54abfe(0x1e6),{'required':!![]}),validateSort(_0x4c8df1);}function a159_0x2f68(){const _0x463b7b=['74530laKoFg','24NcBteM','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','7TjCAJY','98247SVGmVV','\x20parent\x20changed:\x20expected\x20','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','291234mzbnYA','Moved\x20menu\x20','Move\x20request\x20for\x20menu\x20','menu\x20list','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','Would\x20move\x20menu\x20','530840oGHYQs','verification','9btaUFl','parentId','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Menu\x20','appCode','folder','\x20is\x20no\x20longer\x20a\x20leaf.','after',',\x20current\x20','1167928etPCtx','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','/smartapi/menu/update','failed','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','sort','write','update','expect-parent-id','1DEZigJ','type','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','parent-id','cookie','verify\x20menu\x20move','hash','menu','move-menu','rabetbase\x20menu\x20list\x20--format\x20compress','move','180024fnaYIA','childrenCount','POST','1884839eMiMAg'];a159_0x2f68=function(){return _0x463b7b;};return a159_0x2f68();}async function buildMovePlan(_0x44afec,_0x4a0d17){const _0x3d8f0e=a159_0x4fbbc7,_0x2219a8=validateExactId(_0x44afec),_0x118135=parseParentId(_0x44afec,'parent-id',{'required':!![]}),_0x14716a=parseParentId(_0x44afec,'expect-parent-id',{'required':!![]}),_0x16efd6=validateSort(_0x44afec),_0x170c43=await fetchMutationSnapshot(_0x44afec,'move\x20menu',_0x2219a8),_0x5cbaea=requireMenu(_0x170c43,_0x2219a8);if(_0x5cbaea[_0x3d8f0e(0x1e8)]==='folder'||_0x5cbaea[_0x3d8f0e(0x1f3)]!==0x0)throw menuError('menu_move_source_not_leaf',_0x3d8f0e(0x1d8)+_0x2219a8+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x3d8f0e(0x1c7));if(_0x5cbaea[_0x3d8f0e(0x1d6)]!==_0x14716a)throw menuError('menu_state_drift',_0x3d8f0e(0x1d8)+_0x2219a8+_0x3d8f0e(0x1cb)+formatParent(_0x14716a)+_0x3d8f0e(0x1dd)+formatParent(_0x5cbaea['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x118135!==null&&requireFolder(_0x170c43,_0x118135);const _0x972555=_0x16efd6??(_0x5cbaea['parentId']===_0x118135?_0x5cbaea[_0x3d8f0e(0x1e3)]??0x0:nextSiblingSort(_0x170c43,_0x118135,'menu')),_0x36fbfa={..._0x5cbaea,'parentId':_0x118135,'sort':_0x972555},_0x12f4d9={'id':_0x2219a8,'parentId':toApiParentId(_0x118135),'sort':_0x972555},_0x34dba8=_0x5cbaea[_0x3d8f0e(0x1d6)]===_0x118135&&_0x5cbaea[_0x3d8f0e(0x1e3)]===_0x972555;return{'patch':_0x12f4d9,'noChanges':_0x34dba8,'snapshot':_0x170c43,'plan':mutationResult({'operation':_0x3d8f0e(0x1f1),'selector':{'id':_0x2219a8,'parentId':_0x118135},'before':_0x5cbaea,'after':_0x36fbfa,'dryRun':_0x4a0d17,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3d8f0e(0x1ef),'method':_0x3d8f0e(0x1f4),'path':_0x3d8f0e(0x1e0),'body':{..._0x12f4d9,'appCode':_0x44afec[_0x3d8f0e(0x1d9)]}}],'snapshotHash':_0x170c43[_0x3d8f0e(0x1ed)],'warnings':_0x34dba8?[_0x3d8f0e(0x1c8)]:[]})};}function verifyMove(_0x21d745,_0x1f2876){const _0x2b6908=a159_0x4fbbc7;assertVerified(_0x21d745[_0x2b6908(0x1e8)]!==_0x2b6908(0x1da),_0x2b6908(0x1d8)+_0x21d745['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x21d745['childrenCount']===0x0,_0x2b6908(0x1d8)+_0x21d745['id']+_0x2b6908(0x1db)),assertVerified(_0x21d745[_0x2b6908(0x1d6)]===_0x1f2876[_0x2b6908(0x1d6)],_0x2b6908(0x1d8)+_0x21d745['id']+_0x2b6908(0x1d7)),assertVerified(_0x21d745['sort']===_0x1f2876[_0x2b6908(0x1e3)],_0x2b6908(0x1d8)+_0x21d745['id']+_0x2b6908(0x1e9));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a159_0x46c0d4=a159_0x4d29;(function(_0x490eda,_0x328439){const _0x29b4e8=a159_0x4d29,_0xd4f176=_0x490eda();while(!![]){try{const _0x3288e2=parseInt(_0x29b4e8(0x157))/0x1+-parseInt(_0x29b4e8(0x123))/0x2*(-parseInt(_0x29b4e8(0x105))/0x3)+-parseInt(_0x29b4e8(0x13c))/0x4*(-parseInt(_0x29b4e8(0x153))/0x5)+-parseInt(_0x29b4e8(0x118))/0x6+parseInt(_0x29b4e8(0x144))/0x7*(-parseInt(_0x29b4e8(0x136))/0x8)+parseInt(_0x29b4e8(0x10b))/0x9*(parseInt(_0x29b4e8(0x11e))/0xa)+-parseInt(_0x29b4e8(0x122))/0xb;if(_0x3288e2===_0x328439)break;else _0xd4f176['push'](_0xd4f176['shift']());}catch(_0x4243ca){_0xd4f176['push'](_0xd4f176['shift']());}}}(a159_0x3f67,0xe6754));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';function a159_0x3f67(){const _0x4a8f35=['sort','Regroup\x20task\x20accepted.\x20','toLowerCase','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','4564152UCGGay','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','childrenIds','string','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','map','10CVOXrf','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','cookie','7179293pSTpem','169486TalJYP','Regroup\x20readback\x20failed:\x20','byId','menu-ids','warnings','parentId','plan','trim','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','hash','get','Regroup\x20readback\x20also\x20failed:\x20','\x20menu\x20list\x20--appcode\x20','\x20menus\x20per\x20regroup\x20request.','knownStatus','taskId','some','isTerminal','filter','327768xycRpz','type','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','menus','start\x20menu\x20regroup','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','532ukxjNC','length','write',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','status','POST','start\x20regroup','validation','14qdicOw','input','\x20--format\x20compress','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','readbackError','SUCCESS','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','unconfirmed','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','Menus\x20','join','menu_regroup_target_label_missing','test','folder','29035AhGIMN','\x27\x5c\x27\x27','appCode','str','451149RUEkgY','menuIds','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','replace','label','regroup-start','menu_regroup_target_not_leaf','Menu\x20','split','--menu-ids\x20supports\x20at\x20most\x20','applied','<platform-generated>','FAILED','group','39HJQqKQ','isSafeInteger','failed','childrenCount','stringify','Label\x20of\x20the\x20new\x20root\x20folder','1027026nOcWZt','\x20and\x20regroup\x20menu\x20ids\x20','<new-group-id>','regroup-submit','menu','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','message','/smartapi/menu/regroup','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.'];a159_0x3f67=function(){return _0x4a8f35;};return a159_0x3f67();}function a159_0x4d29(_0x1abd58,_0x1308e6){_0x1abd58=_0x1abd58-0x100;const _0x3f672d=a159_0x3f67();let _0x4d296b=_0x3f672d[_0x1abd58];return _0x4d296b;}import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a159_0x46c0d4(0x141),'path':a159_0x46c0d4(0x112)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a159_0x46c0d4(0x10f),'command':a159_0x46c0d4(0x15c),'description':a159_0x46c0d4(0x159),'risk':a159_0x46c0d4(0x13e),'structuredErrors':!![],'flags':[{'name':a159_0x46c0d4(0x15b),'type':'string','required':!![],'description':a159_0x46c0d4(0x10a)},{'name':a159_0x46c0d4(0x126),'type':a159_0x46c0d4(0x11b),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1a6f0a){validateRegroupInput(_0x1a6f0a);},async 'dryRun'(_0x3f2831){const _0x2575bb=a159_0x46c0d4;validateRegroupInput(_0x3f2831);const _0x314796=await buildRegroupPlan(_0x3f2831,!![]);return menuDryRunResult(_0x314796[_0x2575bb(0x129)],{'method':_0x2575bb(0x141),'url':'/smartapi/menu/regroup','body':_0x314796[_0x2575bb(0x145)],'description':_0x2575bb(0x119)+JSON['stringify'](_0x314796[_0x2575bb(0x15b)])+_0x2575bb(0x10c)+_0x314796[_0x2575bb(0x158)][_0x2575bb(0x14f)](',\x20')+_0x2575bb(0x13f)});},async 'execute'(_0x2ef489){const _0x5d8f31=a159_0x46c0d4;validateRegroupInput(_0x2ef489);const _0xaaf2dd=await buildRegroupPlan(_0x2ef489,![]);await recheckMutationSnapshot(_0x2ef489,_0xaaf2dd[_0x5d8f31(0x129)],_0x5d8f31(0x142));const _0x223fab=buildMenuLookupCommand(_0x2ef489[_0x5d8f31(0x155)]);let _0x40ea72,_0x57a7f;try{_0x40ea72=await startMenuRegroup(_0x2ef489[_0x5d8f31(0x121)],_0xaaf2dd[_0x5d8f31(0x145)]),_0x57a7f=normalizeAsyncTask(_0x40ea72);}catch(_0x20bba5){const _0x333a45=await inspectRegroupAfterFailure(_0x2ef489[_0x5d8f31(0x155)],_0x2ef489[_0x5d8f31(0x121)],_0xaaf2dd[_0x5d8f31(0x15b)],_0xaaf2dd[_0x5d8f31(0x158)]),_0x338cf7=typeof _0x40ea72?.['taskId']===_0x5d8f31(0x11b)&&_0x40ea72[_0x5d8f31(0x132)][_0x5d8f31(0x12a)]()?_0x40ea72[_0x5d8f31(0x132)]['trim']():null,_0x4d71e8=_0x338cf7?{'command':buildAsyncTaskStatusCommand(_0x338cf7,_0x2ef489['appCode'])}:null,_0x2b36c4=mapMenuApiError(_0x20bba5,_0x5d8f31(0x13a));throw menuFailure(_0x2b36c4,_0xaaf2dd[_0x5d8f31(0x129)],{'stage':_0x5d8f31(0x10e),'failed':{'menuIds':_0xaaf2dd[_0x5d8f31(0x158)],'taskId':_0x338cf7,'groupingApplied':_0x333a45[_0x5d8f31(0x101)]?!![]:_0x5d8f31(0x14b)},'after':_0x333a45[_0x5d8f31(0x101)]??null,'warnings':[_0x5d8f31(0x14c),..._0x333a45[_0x5d8f31(0x148)]?[_0x5d8f31(0x12e)+_0x333a45['readbackError']]:[],..._0x338cf7?[_0x5d8f31(0x120)]:[]],'verification':{'status':_0x5d8f31(0x107),'groupingApplied':_0x333a45[_0x5d8f31(0x101)]?!![]:'unconfirmed','taskId':_0x338cf7,'query':_0x4d71e8,'lookupCommand':_0x223fab}});}const _0x448207=buildAsyncTaskStatusCommand(_0x57a7f[_0x5d8f31(0x132)],_0x2ef489['appCode']);let _0x47ad78=null,_0x31520e=null,_0x207b08=null;try{_0x47ad78=await fetchMenuSnapshot(_0x2ef489['appCode'],_0x2ef489[_0x5d8f31(0x121)]),_0x31520e=findAppliedRegroup(_0x47ad78,_0xaaf2dd[_0x5d8f31(0x15b)],_0xaaf2dd[_0x5d8f31(0x158)]);}catch(_0x3abb93){_0x207b08=_0x3abb93 instanceof Error?_0x3abb93[_0x5d8f31(0x111)]:String(_0x3abb93);}const _0x260079=mutationResult({..._0xaaf2dd['plan'],'after':_0x31520e??null,'dryRun':![],'succeeded':[{'groupId':_0x31520e?.[_0x5d8f31(0x104)]['id']??null,'menuIds':_0xaaf2dd[_0x5d8f31(0x158)],'taskId':_0x57a7f[_0x5d8f31(0x132)],'status':_0x57a7f[_0x5d8f31(0x140)],'groupingApplied':_0x31520e?!![]:_0x5d8f31(0x14b)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x47ad78?.[_0x5d8f31(0x12c)]??null,'groupId':_0x31520e?.[_0x5d8f31(0x104)]['id']??null,'groupingApplied':_0x31520e?!![]:_0x5d8f31(0x14b),'readbackError':_0x207b08,'lookupCommand':_0x223fab},'warnings':[..._0xaaf2dd[_0x5d8f31(0x129)][_0x5d8f31(0x127)],...!_0x31520e?[unconfirmedRegroupWarning(_0x57a7f)]:[],..._0x207b08?[_0x5d8f31(0x124)+_0x207b08]:[]]}),_0x40d7a9=_0x57a7f[_0x5d8f31(0x140)]===_0x5d8f31(0x149)&&!_0x31520e?'Regroup\x20task\x20'+_0x57a7f[_0x5d8f31(0x132)]+_0x5d8f31(0x14d):_0x5d8f31(0x115)+asyncTaskMessage(_0x57a7f);return{'ok':!![],'message':_0x40d7a9,'data':{..._0x260079,'task':_0x57a7f,'query':_0x57a7f[_0x5d8f31(0x134)]?null:{'command':_0x448207}}};}};function validateRegroupInput(_0x13ab6){const _0x1c4945=a159_0x46c0d4;if(!_0x13ab6['str'](_0x1c4945(0x15b))[_0x1c4945(0x12a)]())throw CliErrors['flagMissing'](_0x1c4945(0x15b));parseMenuIds(_0x13ab6[_0x1c4945(0x156)](_0x1c4945(0x126)));}function parseMenuIds(_0x2d203f){const _0x9249a8=a159_0x46c0d4,_0x34679d=_0x2d203f[_0x9249a8(0x15f)](',')['map'](_0x2a2a2c=>_0x2a2a2c[_0x9249a8(0x12a)]());if(_0x34679d[_0x9249a8(0x13d)]===0x0||_0x34679d['some'](_0x1ae0a6=>!_0x1ae0a6))throw CliErrors['validation'](_0x9249a8(0x113));const _0x2f41eb=_0x34679d['map'](_0x5297a7=>{const _0x1e9909=_0x9249a8;if(!/^\d+$/[_0x1e9909(0x151)](_0x5297a7))throw CliErrors[_0x1e9909(0x143)](_0x1e9909(0x113));const _0x5e0395=Number(_0x5297a7);if(!Number[_0x1e9909(0x106)](_0x5e0395)||_0x5e0395<=0x0)throw CliErrors[_0x1e9909(0x143)](_0x1e9909(0x113));return _0x5e0395;});if(new Set(_0x2f41eb)['size']!==_0x2f41eb[_0x9249a8(0x13d)])throw CliErrors[_0x9249a8(0x143)](_0x9249a8(0x12b));if(_0x2f41eb[_0x9249a8(0x13d)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x9249a8(0x143)](_0x9249a8(0x100)+MAX_REGROUP_MENU_COUNT+_0x9249a8(0x130));return _0x2f41eb;}function buildMenuLookupCommand(_0x4689d5){const _0x12f297=a159_0x46c0d4,_0x417428='\x27'+_0x4689d5[_0x12f297(0x15a)](/'/g,_0x12f297(0x154))+'\x27';return CLI_BIN_NAME+_0x12f297(0x12f)+_0x417428+_0x12f297(0x146);}function unconfirmedRegroupWarning(_0x4a2f49){const _0x33dd28=a159_0x46c0d4;if(_0x4a2f49['status']===_0x33dd28(0x149))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x4a2f49['status']===_0x33dd28(0x103))return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x4a2f49[_0x33dd28(0x131)])return _0x33dd28(0x110);return'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.';}async function buildRegroupPlan(_0x5f25cc,_0x2b2d3e){const _0x176721=a159_0x46c0d4,_0x86c1be=_0x5f25cc['str'](_0x176721(0x15b))['trim'](),_0x402dbf=parseMenuIds(_0x5f25cc[_0x176721(0x156)]('menu-ids')),_0x4d265a=await fetchMutationSnapshot(_0x5f25cc,'plan\x20regroup'),_0x42b534=_0x402dbf['map'](_0x9fa5b3=>requireMenu(_0x4d265a,_0x9fa5b3));for(const _0x1b01f5 of _0x42b534){if(_0x1b01f5[_0x176721(0x137)][_0x176721(0x12a)]()[_0x176721(0x116)]()===_0x176721(0x152)||_0x1b01f5[_0x176721(0x108)]>0x0)throw menuError(_0x176721(0x15d),_0x176721(0x15e)+_0x1b01f5['id']+_0x176721(0x117),_0x176721(0x147));if(!_0x1b01f5[_0x176721(0x15b)][_0x176721(0x12a)]())throw menuError(_0x176721(0x150),_0x176721(0x15e)+_0x1b01f5['id']+_0x176721(0x13b),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x392d33=findAppliedRegroup(_0x4d265a,_0x86c1be,_0x402dbf);if(_0x392d33)throw menuError('menu_regroup_already_applied',_0x176721(0x14e)+_0x402dbf['join'](',\x20')+_0x176721(0x11c)+_0x392d33['group']['id']+'\x20('+JSON['stringify'](_0x86c1be)+').',_0x176721(0x14a));const _0x263d74=_0x4d265a[_0x176721(0x139)][_0x176721(0x135)](_0x368ebd=>_0x368ebd['parentId']==null&&_0x368ebd[_0x176721(0x137)]['trim']()[_0x176721(0x116)]()===_0x176721(0x152)&&_0x368ebd[_0x176721(0x15b)]===_0x86c1be);if(_0x263d74[_0x176721(0x13d)]>0x0)throw menuError('menu_regroup_label_conflict','Root\x20folder\x20label\x20'+JSON[_0x176721(0x109)](_0x86c1be)+'\x20already\x20belongs\x20to\x20menu\x20id(s)\x20'+_0x263d74['map'](_0x27ab6b=>_0x27ab6b['id'])[_0x176721(0x14f)](',\x20')+'.',_0x176721(0x11f));const _0x5db8bc={'appCode':_0x5f25cc[_0x176721(0x155)],'menuGroups':[{'label':_0x86c1be,'type':_0x176721(0x152),'children':_0x42b534[_0x176721(0x11d)](_0x58b3a1=>({'id':_0x58b3a1['id'],'label':_0x58b3a1[_0x176721(0x15b)]}))}]},_0x122ad3=mutationResult({'operation':'regroup-start','selector':{'label':_0x86c1be,'menuIds':_0x402dbf},'before':{'menus':_0x42b534},'after':{'group':{'id':null,'parentId':null,'label':_0x86c1be,'path':_0x176721(0x102),'type':_0x176721(0x152),'childrenIds':_0x402dbf},'children':_0x42b534[_0x176721(0x11d)](_0x197e72=>({'id':_0x197e72['id'],'label':_0x197e72[_0x176721(0x15b)],'beforeParentId':_0x197e72[_0x176721(0x128)],'afterParentId':_0x176721(0x10d)}))},'dryRun':_0x2b2d3e,'backend':[...BACKEND],'plannedActions':[{'stage':'submit-regroup-task','method':'POST','path':_0x176721(0x112),'body':_0x5db8bc}],'snapshotHash':_0x4d265a[_0x176721(0x12c)],'warnings':[_0x176721(0x138),'The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.']});return{'label':_0x86c1be,'menuIds':_0x402dbf,'input':_0x5db8bc,'plan':_0x122ad3};}function findAppliedRegroup(_0x10b170,_0x124288,_0x4fbd6d){const _0x2f8efc=a159_0x46c0d4,_0xe618e9=_0x4fbd6d[_0x2f8efc(0x11d)](_0x150521=>_0x10b170[_0x2f8efc(0x125)][_0x2f8efc(0x12d)](_0x150521))['filter'](_0x49f458=>Boolean(_0x49f458));if(_0xe618e9['length']!==_0x4fbd6d[_0x2f8efc(0x13d)])return null;const _0x222533=_0xe618e9[0x0]?.['parentId'];if(_0x222533==null||_0xe618e9[_0x2f8efc(0x133)](_0x5ee5a3=>_0x5ee5a3[_0x2f8efc(0x128)]!==_0x222533))return null;const _0x545f4d=_0x10b170[_0x2f8efc(0x125)][_0x2f8efc(0x12d)](_0x222533);if(!_0x545f4d||_0x545f4d['parentId']!=null||_0x545f4d['type']['trim']()[_0x2f8efc(0x116)]()!=='folder'||_0x545f4d[_0x2f8efc(0x15b)]!==_0x124288)return null;const _0x215c08=[..._0x4fbd6d]['sort']((_0x183188,_0x4c3f10)=>_0x183188-_0x4c3f10),_0x225aba=[..._0x545f4d[_0x2f8efc(0x11a)]][_0x2f8efc(0x114)]((_0x5d3732,_0x5fe0cf)=>_0x5d3732-_0x5fe0cf);if(JSON['stringify'](_0x225aba)!==JSON[_0x2f8efc(0x109)](_0x215c08))return null;return{'group':_0x545f4d,'children':_0xe618e9};}async function inspectRegroupAfterFailure(_0x1f9be7,_0x582874,_0x3a609d,_0x16e9c7){try{const _0x498aaa=await fetchMenuSnapshot(_0x1f9be7,_0x582874);return{'applied':findAppliedRegroup(_0x498aaa,_0x3a609d,_0x16e9c7),'readbackError':null};}catch(_0x4d6436){return{'applied':null,'readbackError':_0x4d6436 instanceof Error?_0x4d6436['message']:String(_0x4d6436)};}}
|
|
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)};}}
|