@lovrabet/rabetbase-cli 2.5.5-beta.3 → 2.5.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/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/detail.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/path.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/subapp-assets.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/subapp-assets-status.js +1 -1
- package/lib/commands/menu/subapp-assets-update.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/feishu-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +1 -1
- package/skills/rabetbase-page-generation/SKILL.md +1 -1
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a152_0x367c41=a152_0x260f;(function(_0x105dd4,_0x2affe4){const _0x4ff24b=a152_0x260f,_0x29680b=_0x105dd4();while(!![]){try{const _0x4c9f57=parseInt(_0x4ff24b(0x1c2))/0x1*(parseInt(_0x4ff24b(0x1ee))/0x2)+parseInt(_0x4ff24b(0x1c0))/0x3+-parseInt(_0x4ff24b(0x1b6))/0x4+parseInt(_0x4ff24b(0x1c9))/0x5+parseInt(_0x4ff24b(0x1c8))/0x6*(-parseInt(_0x4ff24b(0x1ea))/0x7)+parseInt(_0x4ff24b(0x1bd))/0x8+-parseInt(_0x4ff24b(0x1d8))/0x9;if(_0x4c9f57===_0x2affe4)break;else _0x29680b['push'](_0x29680b['shift']());}catch(_0x2db30f){_0x29680b['push'](_0x29680b['shift']());}}}(a152_0x2270,0xc197e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a152_0x260f(_0xbdd2b2,_0x2b707d){_0xbdd2b2=_0xbdd2b2-0x19d;const _0x227014=a152_0x2270();let _0x260f7b=_0x227014[_0xbdd2b2];return _0x260f7b;}import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a152_0x367c41(0x19f),'path':a152_0x367c41(0x1e6)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a152_0x367c41(0x1c7)},MENU_DELETE_RECURSIVE_FLAG={'name':a152_0x367c41(0x20f),'type':a152_0x367c41(0x1da),'description':a152_0x367c41(0x1e8)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':'string','description':a152_0x367c41(0x210)},MENU_DELETE_PLAN_FLAG={'name':a152_0x367c41(0x1f6),'type':a152_0x367c41(0x1d0),'description':a152_0x367c41(0x1a9)};export const menuDelete={'service':'menu','command':a152_0x367c41(0x1d7),'description':a152_0x367c41(0x1fd),'risk':a152_0x367c41(0x1e2),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x210a26){const _0x528714=a152_0x367c41;_0x210a26[_0x528714(0x1a3)](_0x528714(0x1c3))?validateDeleteDryRunInput(_0x210a26):validateDeleteExecuteInput(_0x210a26),requireExplicitYes(_0x210a26);},async 'dryRun'(_0x26ff12){const _0x56f4ee=a152_0x367c41;validateDeleteDryRunInput(_0x26ff12);const _0x55e71b=await buildDeletePlan(_0x26ff12),_0x3153d8=createMenuDeletePlanFile(_0x26ff12['appCode'],_0x55e71b),_0x484d75=await writeMenuDeletePlan(_0x26ff12[_0x56f4ee(0x1dc)]('plan-out'),_0x3153d8),_0x257811=mutationResult({..._0x55e71b,'planFile':{'path':_0x484d75,'createdAt':_0x3153d8['createdAt'],'expiresAt':_0x3153d8[_0x56f4ee(0x1a2)]}});return menuDryRunResult(_0x257811,{'method':_0x56f4ee(0x19f),'url':_0x56f4ee(0x1e6),'body':{'idList':_0x257811[_0x56f4ee(0x1a1)]},'description':_0x56f4ee(0x212)+(_0x257811[_0x56f4ee(0x1a1)]?.['length']??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x257811[_0x56f4ee(0x1d2)]['id']+_0x56f4ee(0x1dd)+_0x484d75+'.'});},async 'execute'(_0x23f5c7){const _0x32f791=a152_0x367c41;requireExplicitYes(_0x23f5c7),validateDeleteExecuteInput(_0x23f5c7);const _0x2fec49=await readMenuDeletePlan(_0x23f5c7[_0x32f791(0x1dc)](_0x32f791(0x1f6))),_0x2a0451=mutationPlanFromDeleteFile(_0x2fec49[_0x32f791(0x1f6)],_0x2fec49[_0x32f791(0x1c4)]),_0x505c29=_0x2fec49[_0x32f791(0x1f6)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x2fec49[_0x32f791(0x1f6)],_0x23f5c7['appCode']);}catch(_0x4063b8){throw menuFailure(asMenuError(_0x4063b8),_0x2a0451,{'stage':_0x32f791(0x1ad),'failed':{'id':_0x505c29}});}let _0x20052a,_0x14aee5;try{_0x20052a=await fetchMutationSnapshot(_0x23f5c7,'execute\x20reviewed\x20delete\x20plan',_0x505c29),_0x14aee5=assertMenuDeletePlanCurrent(_0x2fec49[_0x32f791(0x1f6)],_0x23f5c7[_0x32f791(0x1c5)],_0x20052a),assertDeleteTargetsComplete(_0x2fec49['plan'],_0x20052a),_0x14aee5[_0x32f791(0x1c6)](_0x1fcb69=>assertDeleteSafety(_0x1fcb69,_0x2fec49['plan'][_0x32f791(0x20f)])),assertNoSharedPages(_0x20052a,_0x14aee5),assertCascadeMatchesPlan(_0x2a0451,_0x14aee5);}catch(_0x2deb17){throw menuFailure(asMenuError(_0x2deb17),_0x2a0451,{'stage':_0x32f791(0x1de),'failed':{'id':_0x505c29}});}const _0x1aa442=_0x2fec49[_0x32f791(0x1f6)][_0x32f791(0x1a1)];let _0x3605cc;try{_0x3605cc=await batchDeleteMenuEntities(_0x23f5c7[_0x32f791(0x1a0)],_0x1aa442);}catch(_0x21c038){const _0x5a0497=mapMenuApiError(_0x21c038,_0x32f791(0x1b0)),_0x973501=[_0x32f791(0x1ef)];let _0x5e6490;try{_0x5e6490=await readDeleteOutcome(_0x23f5c7,_0x1aa442);}catch(_0x52fc6c){const _0x323b93=describeMenuErrorCause(_0x52fc6c,_0x32f791(0x1fa),_0x505c29);_0x973501[_0x32f791(0x1a7)](_0x32f791(0x1b7)+_0x323b93['causeCode']+_0x32f791(0x1d4)+_0x323b93[_0x32f791(0x207)]);throw menuFailure(_0x5a0497,_0x2a0451,{'stage':'batch-delete','failed':{'targetIds':_0x1aa442,'targetIdsAbsent':_0x32f791(0x1eb),..._0x323b93},'warnings':_0x973501,'verification':{'status':'failed','lookupCommand':_0x32f791(0x206),'targetIds':_0x1aa442}});}throw menuFailure(_0x5a0497,_0x2a0451,{'stage':'batch-delete','succeeded':_0x5e6490['absentIds'][_0x32f791(0x1b9)](_0x48a293=>({'id':_0x48a293,'deleted':!![]})),'failed':{'targetIds':_0x1aa442,'absentIds':_0x5e6490['absentIds'],'remainingIds':_0x5e6490[_0x32f791(0x20c)]},'warnings':_0x973501,'verification':verificationFromOutcome(_0x5e6490)});}if(_0x3605cc!==_0x1aa442[_0x32f791(0x1bb)]){const _0x2de042=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x3605cc+'\x20deleted\x20menus;\x20expected\x20'+_0x1aa442['length']+'.',_0x32f791(0x1aa)),_0x1b685b=[_0x32f791(0x1be)];let _0x53671f;try{_0x53671f=await readDeleteOutcome(_0x23f5c7,_0x1aa442);}catch(_0x5dedd6){const _0x250fe8=describeMenuErrorCause(_0x5dedd6,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x505c29);_0x1b685b['push']('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x250fe8[_0x32f791(0x1ab)]+_0x32f791(0x1d4)+_0x250fe8[_0x32f791(0x207)]);throw menuFailure(_0x2de042,_0x2a0451,{'stage':_0x32f791(0x1df),'failed':{'targetIds':_0x1aa442,'expectedCount':_0x1aa442[_0x32f791(0x1bb)],'reportedDeletedCount':_0x3605cc,'targetIdsAbsent':'unconfirmed',..._0x250fe8},'warnings':_0x1b685b,'verification':{'status':'failed','lookupCommand':_0x32f791(0x206),'targetIds':_0x1aa442}});}throw menuFailure(_0x2de042,_0x2a0451,{'stage':_0x32f791(0x1df),'succeeded':_0x53671f[_0x32f791(0x1f8)][_0x32f791(0x1b9)](_0x3c210f=>({'id':_0x3c210f,'deleted':!![]})),'failed':{'targetIds':_0x1aa442,'expectedCount':_0x1aa442[_0x32f791(0x1bb)],'reportedDeletedCount':_0x3605cc,'absentIds':_0x53671f[_0x32f791(0x1f8)],'remainingIds':_0x53671f[_0x32f791(0x20c)]},'warnings':_0x1b685b,'verification':verificationFromOutcome(_0x53671f)});}let _0x256578;try{_0x256578=await readDeleteOutcome(_0x23f5c7,_0x1aa442);}catch(_0xb362a5){const _0x100552=describeMenuErrorCause(_0xb362a5,_0x32f791(0x1c1),_0x505c29),_0x49fc17=asVerificationError(_0xb362a5,_0x32f791(0x208)+_0x505c29+_0x32f791(0x1d1));throw menuFailure(_0x49fc17,_0x2a0451,{'stage':_0x32f791(0x1b8),'succeeded':_0x1aa442[_0x32f791(0x1b9)](_0x44cdc3=>({'id':_0x44cdc3,'deleteRequested':!![]})),'failed':{'id':_0x505c29,'targetIds':_0x1aa442,'targetIdsAbsent':_0x32f791(0x1eb),..._0x100552},'warnings':[_0x32f791(0x1f2)],'verification':{'status':'failed','lookupCommand':_0x32f791(0x206),'targetIds':_0x1aa442}});}if(_0x256578['remainingIds'][_0x32f791(0x1bb)]>0x0){const _0x393324=menuError(_0x32f791(0x19e),_0x32f791(0x1b4)+_0x256578[_0x32f791(0x20c)]['join'](',\x20')+'.',_0x32f791(0x1aa));throw menuFailure(_0x393324,_0x2a0451,{'stage':_0x32f791(0x1b8),'succeeded':_0x1aa442[_0x32f791(0x1b9)](_0x32b9ae=>({'id':_0x32b9ae,'deleteRequested':!![]})),'failed':{'id':_0x505c29,'targetIds':_0x1aa442,'absentIds':_0x256578['absentIds'],'remainingIds':_0x256578[_0x32f791(0x20c)]},'warnings':[_0x32f791(0x1e5)],'verification':verificationFromOutcome(_0x256578)});}const _0x384f69=_0x1aa442[_0x32f791(0x1b9)](_0x440cac=>({'id':_0x440cac,'deleted':!![]})),_0x5295f1=mutationResult({..._0x2a0451,'dryRun':![],'succeeded':_0x384f69,'verification':{'checkedBy':_0x32f791(0x20e),'plannedSnapshotHash':_0x2a0451['snapshotHash'],'finalSnapshotHash':_0x256578['snapshot'][_0x32f791(0x1f4)],'reportedDeletedCount':_0x3605cc,'targetAbsent':!_0x256578[_0x32f791(0x1f0)][_0x32f791(0x201)][_0x32f791(0x205)](_0x505c29),'allTargetsAbsent':!![],'targetIds':_0x1aa442}});return{'ok':!![],'data':_0x5295f1,'message':_0x32f791(0x1fc)+_0x384f69[_0x32f791(0x1bb)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x505c29+'.'};}};async function readDeleteOutcome(_0xf449de,_0x2f95e8){const _0x132659=a152_0x367c41,_0x14306a=await fetchMenuSnapshot(_0xf449de['appCode'],_0xf449de[_0x132659(0x1a0)]);return{'snapshot':_0x14306a,'absentIds':_0x2f95e8[_0x132659(0x204)](_0x51b577=>!_0x14306a['byId'][_0x132659(0x205)](_0x51b577)),'remainingIds':_0x2f95e8[_0x132659(0x204)](_0x55f12a=>_0x14306a[_0x132659(0x201)]['has'](_0x55f12a))};}function verificationFromOutcome(_0x3ba7dd){const _0x54f61a=a152_0x367c41;return{'checkedBy':_0x54f61a(0x20e),'absentIds':_0x3ba7dd['absentIds'],'remainingIds':_0x3ba7dd[_0x54f61a(0x20c)]};}function validateDeleteDryRunInput(_0x5d7345){const _0x23e8b3=a152_0x367c41;validateExactId(_0x5d7345);if(!hasFlag(_0x5d7345,_0x23e8b3(0x1e0))||!_0x5d7345[_0x23e8b3(0x1dc)]('plan-out')[_0x23e8b3(0x1bc)]())throw CliErrors[_0x23e8b3(0x1a6)](_0x23e8b3(0x1e0),_0x23e8b3(0x209));if(hasFlag(_0x5d7345,_0x23e8b3(0x1f6)))throw CliErrors['validation'](_0x23e8b3(0x1a4));}function validateDeleteExecuteInput(_0x3893ab){const _0x338e9d=a152_0x367c41;if(!hasFlag(_0x3893ab,_0x338e9d(0x1f6))||!_0x3893ab[_0x338e9d(0x1dc)](_0x338e9d(0x1f6))[_0x338e9d(0x1bc)]())throw CliErrors[_0x338e9d(0x1a6)](_0x338e9d(0x1f6),_0x338e9d(0x1bf));const _0x3bb783=['id','recursive',_0x338e9d(0x1e0),_0x338e9d(0x1f7),_0x338e9d(0x1f1),_0x338e9d(0x213)][_0x338e9d(0x204)](_0x1119d8=>hasFlag(_0x3893ab,_0x1119d8));if(_0x3bb783[_0x338e9d(0x1bb)]>0x0)throw CliErrors[_0x338e9d(0x1ae)](_0x338e9d(0x1ce)+_0x3bb783[_0x338e9d(0x1b9)](_0x65e90a=>'--'+_0x65e90a)[_0x338e9d(0x1af)](',\x20')+'.');}async function buildDeletePlan(_0x469a8b){const _0x567b8b=a152_0x367c41,_0x49ee94=validateExactId(_0x469a8b),_0x57c282=await fetchMutationSnapshot(_0x469a8b,_0x567b8b(0x1a8),_0x49ee94),_0x12d65e=requireMenu(_0x57c282,_0x49ee94);assertExpectedState(_0x469a8b,_0x12d65e);const _0xf42f1c=_0x469a8b[_0x567b8b(0x1a3)](_0x567b8b(0x20f));let _0x41076d;if(_0xf42f1c){if(_0x12d65e['type'][_0x567b8b(0x1bc)]()[_0x567b8b(0x1ff)]()!==_0x567b8b(0x1cd))throw menuError(_0x567b8b(0x20a),'Menu\x20'+_0x12d65e['id']+'\x20is\x20type\x20\x22'+(_0x12d65e['type']||_0x567b8b(0x214))+_0x567b8b(0x20b));_0x41076d=collectDeleteTargets(_0x57c282,_0x12d65e),_0x41076d['forEach'](_0x890d0b=>assertDeleteSafety(_0x890d0b,!![]));}else assertDeleteSafety(_0x12d65e),_0x41076d=[_0x12d65e];assertNoSharedPages(_0x57c282,_0x41076d);const _0x3fbbea=_0x41076d['map'](_0x1e5664=>_0x1e5664['id']),_0x13209a=cascadeForTargets(_0x41076d),_0x5cc050=_0x13209a[_0x567b8b(0x1d9)][_0x567b8b(0x1bb)]>0x0?[_0x567b8b(0x1f3)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x49ee94,'recursive':_0xf42f1c},'before':_0x12d65e,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x567b8b(0x1cb),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x3fbbea}}],'targets':_0x41076d,'deleteOrder':_0x3fbbea,'snapshotHash':_0x57c282[_0x567b8b(0x1f4)],'cascade':_0x13209a,'warnings':_0x5cc050});}function assertDeleteSafety(_0x390dd7,_0x30b59d=![]){const _0x442ed1=a152_0x367c41,_0x25d2b4=_0x390dd7[_0x442ed1(0x1e3)][_0x442ed1(0x1bc)]()[_0x442ed1(0x1ff)]()==='folder';if(_0x390dd7[_0x442ed1(0x1b3)]>0x0&&(!_0x30b59d||!_0x25d2b4))throw menuError('menu_non_empty',_0x442ed1(0x1d6)+_0x390dd7['id']+_0x442ed1(0x1b1)+_0x390dd7[_0x442ed1(0x1b3)]+_0x442ed1(0x1ba),_0x442ed1(0x1d5)+_0x390dd7[_0x442ed1(0x1fe)][_0x442ed1(0x1af)](',\x20'));if(_0x25d2b4&&_0x390dd7[_0x442ed1(0x1db)]!=null)throw menuError('menu_delete_page_bound',_0x442ed1(0x1a5)+_0x390dd7['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x390dd7[_0x442ed1(0x1db)]+_0x442ed1(0x202),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x25d2b4)return;if(!_0x390dd7[_0x442ed1(0x1d3)])throw menuError(_0x442ed1(0x1ed),_0x442ed1(0x1a5)+_0x390dd7['id']+_0x442ed1(0x211),_0x442ed1(0x1cc));if(_0x390dd7[_0x442ed1(0x1ac)][_0x442ed1(0x1bb)]>0x0)throw menuError('menu_folder_has_resources','Folder\x20'+_0x390dd7['id']+_0x442ed1(0x1e9)+_0x390dd7['resources'][_0x442ed1(0x1bb)]+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x718461,_0x24c07d){const _0x38c981=[],_0x206979=new Set(),_0x2610e5=new Set(),_0x457f24=_0x525557=>{const _0x10368e=a152_0x260f;if(_0x206979[_0x10368e(0x205)](_0x525557['id']))throw menuError('menu_tree_invalid',_0x10368e(0x215)+_0x525557['id']+'.');if(_0x2610e5[_0x10368e(0x205)](_0x525557['id']))return;_0x206979[_0x10368e(0x1f9)](_0x525557['id']);for(const _0x311cd7 of _0x525557[_0x10368e(0x1fe)]){const _0x583b83=_0x718461[_0x10368e(0x201)]['get'](_0x311cd7);if(!_0x583b83)throw menuError('menu_tree_invalid',_0x10368e(0x1d6)+_0x525557['id']+_0x10368e(0x1f5)+_0x311cd7+'.');_0x457f24(_0x583b83);}_0x206979[_0x10368e(0x1d7)](_0x525557['id']),_0x2610e5[_0x10368e(0x1f9)](_0x525557['id']),_0x38c981[_0x10368e(0x1a7)](_0x525557);};return _0x457f24(_0x24c07d),_0x38c981;}function assertDeleteTargetsComplete(_0x4212c4,_0x189daa){const _0x448dc5=a152_0x367c41,_0x3a94bf=requireMenu(_0x189daa,_0x4212c4[_0x448dc5(0x19d)]['id']);if(_0x4212c4[_0x448dc5(0x20f)]&&_0x3a94bf[_0x448dc5(0x1e3)][_0x448dc5(0x1bc)]()[_0x448dc5(0x1ff)]()!==_0x448dc5(0x1cd))throw menuError(_0x448dc5(0x200),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x3a94bf['id']+'\x20is\x20not\x20a\x20folder.');const _0x1df162=_0x4212c4['recursive']?collectDeleteTargets(_0x189daa,_0x3a94bf)[_0x448dc5(0x1b9)](_0x59c035=>_0x59c035['id']):[_0x3a94bf['id']];if(JSON[_0x448dc5(0x1e1)](_0x4212c4[_0x448dc5(0x1a1)])!==JSON['stringify'](_0x1df162))throw menuError(_0x448dc5(0x200),_0x448dc5(0x1e4),_0x448dc5(0x1b2));}function assertNoSharedPages(_0x30674a,_0x50eeb3){const _0x28c480=a152_0x367c41,_0x3da54b=new Set(_0x50eeb3[_0x28c480(0x1b9)](_0x51910c=>_0x51910c['id'])),_0x376409=new Set(_0x50eeb3[_0x28c480(0x1b9)](_0x4d6bfc=>_0x4d6bfc[_0x28c480(0x1db)])['filter'](_0xbbcf11=>_0xbbcf11!=null));if(_0x376409[_0x28c480(0x1fb)]===0x0)return;const _0x8a9dce=_0x30674a['menus'][_0x28c480(0x204)](_0x1df556=>!_0x3da54b['has'](_0x1df556['id'])&&_0x1df556[_0x28c480(0x1db)]!=null&&_0x376409[_0x28c480(0x205)](_0x1df556['pageId']));if(_0x8a9dce[_0x28c480(0x1bb)]===0x0)return;const _0x3e1304=_0x8a9dce[_0x28c480(0x1b9)](_0x2ec2e3=>_0x28c480(0x1e7)+_0x2ec2e3[_0x28c480(0x1db)]+_0x28c480(0x1b5)+_0x2ec2e3['id'])[_0x28c480(0x1af)](',\x20');throw menuError(_0x28c480(0x203),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x3e1304+'.',_0x28c480(0x1ca));}function a152_0x2270(){const _0xfe99c9=['\x20has\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','childrenCount','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20->\x20menu\x20','5542836jbItOa','Post-failure\x20menu\x20readback\x20failed\x20(','verification','map','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','length','trim','9344224SOJGUB','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','4496574hfyayo','verify\x20batch\x20delete','19LXxHsC','dry-run','path','appCode','forEach','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','192MjkHFF','1015965IgAMvw','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','batch-delete-menu','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','folder','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','string','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','selector','resourcesValid','):\x20','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','Menu\x20','delete','5495634XwThDl','pages','boolean','pageId','str',';\x20execution\x20must\x20consume\x20','pre-write-plan-validation','batch-delete','plan-out','stringify','high-risk-write','type','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','/smartapi/menu/batchDelete','page\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','\x20still\x20references\x20','229117nWlFqW','unconfirmed','indexOf','menu_folder_resources_invalid','101748icrPOR','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','snapshot','expect-path','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','hash','\x20references\x20missing\x20child\x20','plan','expect-parent-id','absentIds','add','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','size','Deleted\x20','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','childrenIds','toLowerCase','menu_plan_invalid','byId','\x20and\x20cannot\x20be\x20deleted\x20safely.','menu_page_shared','filter','has','rabetbase\x20menu\x20list\x20--format\x20json','causeMessage','Batch\x20delete\x20request\x20for\x20menu\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','menu_recursive_requires_folder','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','remainingIds','cascade','menu\x20list','recursive','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Would\x20batch\x20delete\x20','expected-children-count','unknown','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','target','menu_verification_failed','POST','cookie','deleteOrder','expiresAt','bool','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Folder\x20','flagMissing','push','plan\x20delete','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','causeCode','resources','plan-validation','validation','join','batch\x20delete'];a152_0x2270=function(){return _0xfe99c9;};return a152_0x2270();}function assertCascadeMatchesPlan(_0xd64b31,_0x21d1f7){const _0x57552e=a152_0x367c41,_0x4712d9=cascadeForTargets(_0x21d1f7);if(JSON[_0x57552e(0x1e1)](_0xd64b31[_0x57552e(0x20d)])!==JSON['stringify'](_0x4712d9))throw menuError(_0x57552e(0x200),_0x57552e(0x1cf));}function cascadeForTargets(_0x1d100c){const _0x47c56b=a152_0x367c41,_0x3a7c5c=_0x1d100c[_0x47c56b(0x1b9)](_0x47cfa4=>_0x47cfa4[_0x47c56b(0x1db)])['filter'](_0x5ed406=>_0x5ed406!=null)[_0x47c56b(0x204)]((_0x5e4b19,_0x129569,_0x4d6a0d)=>_0x4d6a0d[_0x47c56b(0x1ec)](_0x5e4b19)===_0x129569);return{'pages':_0x3a7c5c,'pageSchemaAffected':_0x3a7c5c[_0x47c56b(0x1bb)]>0x0};}function asMenuError(_0x5da970){return _0x5da970 instanceof CliError?_0x5da970:menuError('menu_plan_invalid',_0x5da970 instanceof Error?_0x5da970['message']:String(_0x5da970));}
|
|
1
|
+
const a152_0x51581b=a152_0x5c9e;(function(_0x4f0826,_0x189f22){const _0x3d6ec0=a152_0x5c9e,_0x534a2a=_0x4f0826();while(!![]){try{const _0x25be52=parseInt(_0x3d6ec0(0x1f8))/0x1+-parseInt(_0x3d6ec0(0x271))/0x2*(parseInt(_0x3d6ec0(0x226))/0x3)+-parseInt(_0x3d6ec0(0x237))/0x4+parseInt(_0x3d6ec0(0x235))/0x5*(parseInt(_0x3d6ec0(0x22a))/0x6)+parseInt(_0x3d6ec0(0x25c))/0x7*(parseInt(_0x3d6ec0(0x267))/0x8)+parseInt(_0x3d6ec0(0x25d))/0x9*(-parseInt(_0x3d6ec0(0x23b))/0xa)+-parseInt(_0x3d6ec0(0x253))/0xb;if(_0x25be52===_0x189f22)break;else _0x534a2a['push'](_0x534a2a['shift']());}catch(_0x1f35f7){_0x534a2a['push'](_0x534a2a['shift']());}}}(a152_0x59db,0xe6941));function a152_0x5c9e(_0x2661ad,_0x5ba4c1){_0x2661ad=_0x2661ad-0x1f4;const _0x59db4d=a152_0x59db();let _0x5c9e6f=_0x59db4d[_0x2661ad];return _0x5c9e6f;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':a152_0x51581b(0x270),'path':a152_0x51581b(0x221)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a152_0x51581b(0x252),'type':a152_0x51581b(0x240),'description':a152_0x51581b(0x217)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a152_0x51581b(0x207),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a152_0x51581b(0x257),'type':a152_0x51581b(0x207),'description':a152_0x51581b(0x272)};export const menuDelete={'service':a152_0x51581b(0x24a),'command':a152_0x51581b(0x231),'description':a152_0x51581b(0x218),'risk':a152_0x51581b(0x203),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x50ff7e){const _0x40172d=a152_0x51581b;_0x50ff7e[_0x40172d(0x20b)](_0x40172d(0x200))?validateDeleteDryRunInput(_0x50ff7e):validateDeleteExecuteInput(_0x50ff7e),requireExplicitYes(_0x50ff7e);},async 'dryRun'(_0xa37ad0){const _0x2ad511=a152_0x51581b;validateDeleteDryRunInput(_0xa37ad0);const _0x4d1134=await buildDeletePlan(_0xa37ad0),_0x2ba889=createMenuDeletePlanFile(_0xa37ad0[_0x2ad511(0x21e)],_0x4d1134),_0x12f579=await writeMenuDeletePlan(_0xa37ad0['str'](_0x2ad511(0x243)),_0x2ba889),_0x505759=mutationResult({..._0x4d1134,'planFile':{'path':_0x12f579,'createdAt':_0x2ba889[_0x2ad511(0x236)],'expiresAt':_0x2ba889[_0x2ad511(0x246)]}});return menuDryRunResult(_0x505759,{'method':_0x2ad511(0x270),'url':_0x2ad511(0x221),'body':{'idList':_0x505759['deleteOrder']},'description':'Would\x20batch\x20delete\x20'+(_0x505759['deleteOrder']?.[_0x2ad511(0x1fc)]??0x1)+_0x2ad511(0x265)+_0x505759[_0x2ad511(0x230)]['id']+_0x2ad511(0x26a)+_0x12f579+'.'});},async 'execute'(_0x568490){const _0x16fb25=a152_0x51581b;requireExplicitYes(_0x568490),validateDeleteExecuteInput(_0x568490);const _0x478ce6=await readMenuDeletePlan(_0x568490['str'](_0x16fb25(0x257))),_0x4882d3=mutationPlanFromDeleteFile(_0x478ce6[_0x16fb25(0x257)],_0x478ce6['path']),_0x18996c=_0x478ce6[_0x16fb25(0x257)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x478ce6['plan'],_0x568490[_0x16fb25(0x21e)]);}catch(_0x12b31c){throw menuFailure(asMenuError(_0x12b31c),_0x4882d3,{'stage':_0x16fb25(0x261),'failed':{'id':_0x18996c}});}let _0x550fcc,_0x15ccb2;try{_0x550fcc=await fetchMutationSnapshot(_0x568490,'execute\x20reviewed\x20delete\x20plan',_0x18996c),_0x15ccb2=assertMenuDeletePlanCurrent(_0x478ce6['plan'],_0x568490[_0x16fb25(0x21e)],_0x550fcc),assertDeleteTargetsComplete(_0x478ce6['plan'],_0x550fcc),_0x15ccb2[_0x16fb25(0x222)](_0x48baf3=>assertDeleteSafety(_0x48baf3,_0x478ce6[_0x16fb25(0x257)]['recursive'])),assertNoSharedPages(_0x550fcc,_0x15ccb2),assertCascadeMatchesPlan(_0x4882d3,_0x15ccb2);}catch(_0x5c02e3){throw menuFailure(asMenuError(_0x5c02e3),_0x4882d3,{'stage':_0x16fb25(0x22d),'failed':{'id':_0x18996c}});}const _0x18eed3=_0x478ce6['plan'][_0x16fb25(0x255)];let _0x4dcb76;try{_0x4dcb76=await batchDeleteMenuEntities(_0x568490[_0x16fb25(0x228)],_0x18eed3);}catch(_0x4e6237){const _0x918c75=mapMenuApiError(_0x4e6237,'batch\x20delete'),_0x8067b8=[_0x16fb25(0x22b)];let _0x3cf67d;try{_0x3cf67d=await readDeleteOutcome(_0x568490,_0x18eed3);}catch(_0x3aea64){const _0x184791=describeMenuErrorCause(_0x3aea64,_0x16fb25(0x212),_0x18996c);_0x8067b8[_0x16fb25(0x210)](_0x16fb25(0x25a)+_0x184791[_0x16fb25(0x238)]+_0x16fb25(0x242)+_0x184791[_0x16fb25(0x260)]);throw menuFailure(_0x918c75,_0x4882d3,{'stage':_0x16fb25(0x258),'failed':{'targetIds':_0x18eed3,'targetIdsAbsent':_0x16fb25(0x214),..._0x184791},'warnings':_0x8067b8,'verification':{'status':'failed','lookupCommand':_0x16fb25(0x211),'targetIds':_0x18eed3}});}throw menuFailure(_0x918c75,_0x4882d3,{'stage':_0x16fb25(0x258),'succeeded':_0x3cf67d[_0x16fb25(0x23a)][_0x16fb25(0x220)](_0x1f1bf5=>({'id':_0x1f1bf5,'deleted':!![]})),'failed':{'targetIds':_0x18eed3,'absentIds':_0x3cf67d[_0x16fb25(0x23a)],'remainingIds':_0x3cf67d[_0x16fb25(0x219)]},'warnings':_0x8067b8,'verification':verificationFromOutcome(_0x3cf67d)});}if(_0x4dcb76!==_0x18eed3[_0x16fb25(0x1fc)]){const _0x5790d1=menuError('menu_batch_delete_count_mismatch',_0x16fb25(0x229)+_0x4dcb76+_0x16fb25(0x208)+_0x18eed3[_0x16fb25(0x1fc)]+'.',_0x16fb25(0x216)),_0x1f43c5=[_0x16fb25(0x248)];let _0x2039a8;try{_0x2039a8=await readDeleteOutcome(_0x568490,_0x18eed3);}catch(_0xca364f){const _0x51c49f=describeMenuErrorCause(_0xca364f,_0x16fb25(0x232),_0x18996c);_0x1f43c5[_0x16fb25(0x210)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x51c49f[_0x16fb25(0x238)]+_0x16fb25(0x242)+_0x51c49f[_0x16fb25(0x260)]);throw menuFailure(_0x5790d1,_0x4882d3,{'stage':_0x16fb25(0x258),'failed':{'targetIds':_0x18eed3,'expectedCount':_0x18eed3[_0x16fb25(0x1fc)],'reportedDeletedCount':_0x4dcb76,'targetIdsAbsent':'unconfirmed',..._0x51c49f},'warnings':_0x1f43c5,'verification':{'status':_0x16fb25(0x1ff),'lookupCommand':_0x16fb25(0x211),'targetIds':_0x18eed3}});}throw menuFailure(_0x5790d1,_0x4882d3,{'stage':_0x16fb25(0x258),'succeeded':_0x2039a8[_0x16fb25(0x23a)][_0x16fb25(0x220)](_0x46925b=>({'id':_0x46925b,'deleted':!![]})),'failed':{'targetIds':_0x18eed3,'expectedCount':_0x18eed3['length'],'reportedDeletedCount':_0x4dcb76,'absentIds':_0x2039a8['absentIds'],'remainingIds':_0x2039a8[_0x16fb25(0x219)]},'warnings':_0x1f43c5,'verification':verificationFromOutcome(_0x2039a8)});}let _0x2806c7;try{_0x2806c7=await readDeleteOutcome(_0x568490,_0x18eed3);}catch(_0xc02bde){const _0x42d7cd=describeMenuErrorCause(_0xc02bde,_0x16fb25(0x1fb),_0x18996c),_0xba5165=asVerificationError(_0xc02bde,_0x16fb25(0x1fd)+_0x18996c+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0xba5165,_0x4882d3,{'stage':_0x16fb25(0x204),'succeeded':_0x18eed3[_0x16fb25(0x220)](_0x269abc=>({'id':_0x269abc,'deleteRequested':!![]})),'failed':{'id':_0x18996c,'targetIds':_0x18eed3,'targetIdsAbsent':_0x16fb25(0x214),..._0x42d7cd},'warnings':[_0x16fb25(0x202)],'verification':{'status':_0x16fb25(0x1ff),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x18eed3}});}if(_0x2806c7['remainingIds'][_0x16fb25(0x1fc)]>0x0){const _0x2475e5=menuError('menu_verification_failed',_0x16fb25(0x21f)+_0x2806c7[_0x16fb25(0x219)][_0x16fb25(0x25b)](',\x20')+'.',_0x16fb25(0x216));throw menuFailure(_0x2475e5,_0x4882d3,{'stage':_0x16fb25(0x204),'succeeded':_0x18eed3['map'](_0x1a8e80=>({'id':_0x1a8e80,'deleteRequested':!![]})),'failed':{'id':_0x18996c,'targetIds':_0x18eed3,'absentIds':_0x2806c7[_0x16fb25(0x23a)],'remainingIds':_0x2806c7['remainingIds']},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x2806c7)});}const _0x5d6c99=_0x18eed3[_0x16fb25(0x220)](_0x41b585=>({'id':_0x41b585,'deleted':!![]})),_0x4182bf=mutationResult({..._0x4882d3,'dryRun':![],'succeeded':_0x5d6c99,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x4882d3[_0x16fb25(0x251)],'finalSnapshotHash':_0x2806c7[_0x16fb25(0x26e)][_0x16fb25(0x268)],'reportedDeletedCount':_0x4dcb76,'targetAbsent':!_0x2806c7[_0x16fb25(0x26e)][_0x16fb25(0x249)][_0x16fb25(0x1fe)](_0x18996c),'allTargetsAbsent':!![],'targetIds':_0x18eed3}});return{'ok':!![],'data':_0x4182bf,'message':_0x16fb25(0x26f)+_0x5d6c99['length']+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x18996c+'.'};}};async function readDeleteOutcome(_0x326712,_0x2bfd8a){const _0x7485b4=a152_0x51581b,_0x1bc0b2=await fetchMenuSnapshot(_0x326712['appCode'],_0x326712['cookie']);return{'snapshot':_0x1bc0b2,'absentIds':_0x2bfd8a[_0x7485b4(0x264)](_0x2a74b1=>!_0x1bc0b2[_0x7485b4(0x249)][_0x7485b4(0x1fe)](_0x2a74b1)),'remainingIds':_0x2bfd8a[_0x7485b4(0x264)](_0x4a7e5b=>_0x1bc0b2[_0x7485b4(0x249)][_0x7485b4(0x1fe)](_0x4a7e5b))};}function verificationFromOutcome(_0x2f649a){const _0x19c083=a152_0x51581b;return{'checkedBy':_0x19c083(0x247),'absentIds':_0x2f649a[_0x19c083(0x23a)],'remainingIds':_0x2f649a[_0x19c083(0x219)]};}function validateDeleteDryRunInput(_0x4fed67){const _0x27ca1a=a152_0x51581b;validateExactId(_0x4fed67);if(!hasFlag(_0x4fed67,_0x27ca1a(0x243))||!_0x4fed67['str'](_0x27ca1a(0x243))['trim']())throw CliErrors[_0x27ca1a(0x22e)](_0x27ca1a(0x243),_0x27ca1a(0x250));if(hasFlag(_0x4fed67,'plan'))throw CliErrors[_0x27ca1a(0x21b)](_0x27ca1a(0x20f));}function validateDeleteExecuteInput(_0x10d74f){const _0x2164a1=a152_0x51581b;if(!hasFlag(_0x10d74f,_0x2164a1(0x257))||!_0x10d74f[_0x2164a1(0x209)](_0x2164a1(0x257))[_0x2164a1(0x206)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x35a082=['id',_0x2164a1(0x252),_0x2164a1(0x243),_0x2164a1(0x1f5),_0x2164a1(0x24e),_0x2164a1(0x213)][_0x2164a1(0x264)](_0x236c89=>hasFlag(_0x10d74f,_0x236c89));if(_0x35a082['length']>0x0)throw CliErrors['validation'](_0x2164a1(0x256)+_0x35a082[_0x2164a1(0x220)](_0x16fb13=>'--'+_0x16fb13)[_0x2164a1(0x25b)](',\x20')+'.');}async function buildDeletePlan(_0x2c1c80){const _0x5afc16=a152_0x51581b,_0x4ede28=validateExactId(_0x2c1c80),_0xff2eff=await fetchMutationSnapshot(_0x2c1c80,_0x5afc16(0x21a),_0x4ede28),_0x54c621=requireMenu(_0xff2eff,_0x4ede28);assertExpectedState(_0x2c1c80,_0x54c621);const _0xc75639=_0x2c1c80['bool'](_0x5afc16(0x252));let _0xfc4e54;if(_0xc75639){if(_0x54c621[_0x5afc16(0x21c)][_0x5afc16(0x206)]()['toLowerCase']()!==_0x5afc16(0x201))throw menuError(_0x5afc16(0x241),_0x5afc16(0x205)+_0x54c621['id']+_0x5afc16(0x22f)+(_0x54c621[_0x5afc16(0x21c)]||'unknown')+_0x5afc16(0x1f7));_0xfc4e54=collectDeleteTargets(_0xff2eff,_0x54c621),_0xfc4e54['forEach'](_0x4c8208=>assertDeleteSafety(_0x4c8208,!![]));}else assertDeleteSafety(_0x54c621),_0xfc4e54=[_0x54c621];assertNoSharedPages(_0xff2eff,_0xfc4e54);const _0x2d10e2=_0xfc4e54[_0x5afc16(0x220)](_0x5bf0c3=>_0x5bf0c3['id']),_0x4d4f2c=cascadeForTargets(_0xfc4e54),_0x188398=_0x4d4f2c[_0x5afc16(0x24c)][_0x5afc16(0x1fc)]>0x0?[_0x5afc16(0x21d)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x4ede28,'recursive':_0xc75639},'before':_0x54c621,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x5afc16(0x1f4),'method':_0x5afc16(0x270),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x2d10e2}}],'targets':_0xfc4e54,'deleteOrder':_0x2d10e2,'snapshotHash':_0xff2eff['hash'],'cascade':_0x4d4f2c,'warnings':_0x188398});}function assertDeleteSafety(_0xc31d6b,_0x3ae7ee=![]){const _0x22b07d=a152_0x51581b,_0x2e6669=_0xc31d6b['type'][_0x22b07d(0x206)]()[_0x22b07d(0x225)]()===_0x22b07d(0x201);if(_0xc31d6b[_0x22b07d(0x26c)]>0x0&&(!_0x3ae7ee||!_0x2e6669))throw menuError(_0x22b07d(0x233),'Menu\x20'+_0xc31d6b['id']+_0x22b07d(0x269)+_0xc31d6b[_0x22b07d(0x26c)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x22b07d(0x1f6)+_0xc31d6b['childrenIds']['join'](',\x20'));if(_0x2e6669&&_0xc31d6b[_0x22b07d(0x26d)]!=null)throw menuError(_0x22b07d(0x26b),_0x22b07d(0x266)+_0xc31d6b['id']+_0x22b07d(0x1fa)+_0xc31d6b[_0x22b07d(0x26d)]+_0x22b07d(0x23d),_0x22b07d(0x24d));if(!_0x2e6669)return;if(!_0xc31d6b['resourcesValid'])throw menuError('menu_folder_resources_invalid',_0x22b07d(0x266)+_0xc31d6b['id']+_0x22b07d(0x22c),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0xc31d6b[_0x22b07d(0x259)]['length']>0x0)throw menuError(_0x22b07d(0x234),'Folder\x20'+_0xc31d6b['id']+_0x22b07d(0x20c)+_0xc31d6b[_0x22b07d(0x259)][_0x22b07d(0x1fc)]+'\x20resource\x20URL(s).',_0x22b07d(0x239));}function collectDeleteTargets(_0x3c7f76,_0x28f746){const _0x354ad4=[],_0x8d9057=new Set(),_0x138e57=new Set(),_0x214bef=_0x382c01=>{const _0x28fdc2=a152_0x5c9e;if(_0x8d9057[_0x28fdc2(0x1fe)](_0x382c01['id']))throw menuError(_0x28fdc2(0x23c),_0x28fdc2(0x23f)+_0x382c01['id']+'.');if(_0x138e57[_0x28fdc2(0x1fe)](_0x382c01['id']))return;_0x8d9057[_0x28fdc2(0x215)](_0x382c01['id']);for(const _0x1f1988 of _0x382c01[_0x28fdc2(0x20e)]){const _0x1f3656=_0x3c7f76[_0x28fdc2(0x249)]['get'](_0x1f1988);if(!_0x1f3656)throw menuError(_0x28fdc2(0x23c),_0x28fdc2(0x205)+_0x382c01['id']+_0x28fdc2(0x25e)+_0x1f1988+'.');_0x214bef(_0x1f3656);}_0x8d9057[_0x28fdc2(0x231)](_0x382c01['id']),_0x138e57[_0x28fdc2(0x215)](_0x382c01['id']),_0x354ad4[_0x28fdc2(0x210)](_0x382c01);};return _0x214bef(_0x28f746),_0x354ad4;}function assertDeleteTargetsComplete(_0xa284a2,_0x4ff9f7){const _0x5e2a24=a152_0x51581b,_0x3514c6=requireMenu(_0x4ff9f7,_0xa284a2[_0x5e2a24(0x263)]['id']);if(_0xa284a2[_0x5e2a24(0x252)]&&_0x3514c6[_0x5e2a24(0x21c)][_0x5e2a24(0x206)]()[_0x5e2a24(0x225)]()!==_0x5e2a24(0x201))throw menuError(_0x5e2a24(0x254),_0x5e2a24(0x25f)+_0x3514c6['id']+_0x5e2a24(0x244));const _0x4858f8=_0xa284a2[_0x5e2a24(0x252)]?collectDeleteTargets(_0x4ff9f7,_0x3514c6)[_0x5e2a24(0x220)](_0x39cdac=>_0x39cdac['id']):[_0x3514c6['id']];if(JSON[_0x5e2a24(0x262)](_0xa284a2[_0x5e2a24(0x255)])!==JSON[_0x5e2a24(0x262)](_0x4858f8))throw menuError('menu_plan_invalid',_0x5e2a24(0x227),_0x5e2a24(0x224));}function assertNoSharedPages(_0x4af30c,_0x25db5a){const _0x2064ff=a152_0x51581b,_0x557c82=new Set(_0x25db5a[_0x2064ff(0x220)](_0x13e020=>_0x13e020['id'])),_0x2d41eb=new Set(_0x25db5a['map'](_0x1580b6=>_0x1580b6[_0x2064ff(0x26d)])[_0x2064ff(0x264)](_0x16acd2=>_0x16acd2!=null));if(_0x2d41eb[_0x2064ff(0x20a)]===0x0)return;const _0x2fefb2=_0x4af30c[_0x2064ff(0x24b)]['filter'](_0x27836d=>!_0x557c82['has'](_0x27836d['id'])&&_0x27836d['pageId']!=null&&_0x2d41eb['has'](_0x27836d[_0x2064ff(0x26d)]));if(_0x2fefb2[_0x2064ff(0x1fc)]===0x0)return;const _0x305f1c=_0x2fefb2[_0x2064ff(0x220)](_0x1b324a=>'page\x20'+_0x1b324a[_0x2064ff(0x26d)]+_0x2064ff(0x223)+_0x1b324a['id'])[_0x2064ff(0x25b)](',\x20');throw menuError('menu_page_shared',_0x2064ff(0x245)+_0x305f1c+'.',_0x2064ff(0x1f9));}function assertCascadeMatchesPlan(_0x203925,_0x907c0c){const _0x2c8291=a152_0x51581b,_0x2c5449=cascadeForTargets(_0x907c0c);if(JSON[_0x2c8291(0x262)](_0x203925[_0x2c8291(0x20d)])!==JSON['stringify'](_0x2c5449))throw menuError('menu_plan_invalid',_0x2c8291(0x23e));}function cascadeForTargets(_0xc3e528){const _0xd2e9ad=a152_0x51581b,_0x58eda9=_0xc3e528['map'](_0x389e9e=>_0x389e9e['pageId'])['filter'](_0x135bbc=>_0x135bbc!=null)[_0xd2e9ad(0x264)]((_0x47aff5,_0x1946db,_0x3ae1ac)=>_0x3ae1ac['indexOf'](_0x47aff5)===_0x1946db);return{'pages':_0x58eda9,'pageSchemaAffected':_0x58eda9[_0xd2e9ad(0x1fc)]>0x0};}function a152_0x59db(){const _0x1d28b8=['pre-write-plan-validation','flagMissing','\x20is\x20type\x20\x22','selector','delete','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','menu_non_empty','menu_folder_has_resources','835PWRfEX','createdAt','2779364CWnEaE','causeCode','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','absentIds','12230AUYrxM','menu_tree_invalid','\x20and\x20cannot\x20be\x20deleted\x20safely.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','boolean','menu_recursive_requires_folder','):\x20','plan-out','\x20is\x20not\x20a\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','expiresAt','menu\x20list','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','byId','menu','menus','pages','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','expect-path','message','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','snapshotHash','recursive','8722945aOYlJY','menu_plan_invalid','deleteOrder','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','plan','batch-delete','resources','Post-failure\x20menu\x20readback\x20failed\x20(','join','8960161cnEWmi','10107VxBjdo','\x20references\x20missing\x20child\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','causeMessage','plan-validation','stringify','target','filter','\x20menu(s)\x20under\x20exact\x20id\x20','Folder\x20','8OKpRvD','hash','\x20has\x20',';\x20execution\x20must\x20consume\x20','menu_delete_page_bound','childrenCount','pageId','snapshot','Deleted\x20','POST','10VYGpea','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','batch-delete-menu','expect-parent-id','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','1408478CnAJps','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','verify\x20batch\x20delete','length','Batch\x20delete\x20request\x20for\x20menu\x20','has','failed','dry-run','folder','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','high-risk-write','verification','Menu\x20','trim','string','\x20deleted\x20menus;\x20expected\x20','str','size','bool','\x20still\x20references\x20','cascade','childrenIds','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','push','rabetbase\x20menu\x20list\x20--format\x20json','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','expected-children-count','unconfirmed','add','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','remainingIds','plan\x20delete','validation','type','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','appCode','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','map','/smartapi/menu/batchDelete','forEach','\x20->\x20menu\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','toLowerCase','87585GpSjDg','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','cookie','Backend\x20reported\x20','45384Qphaqt','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.'];a152_0x59db=function(){return _0x1d28b8;};return a152_0x59db();}function asMenuError(_0xaa74c4){const _0x63b853=a152_0x51581b;return _0xaa74c4 instanceof CliError?_0xaa74c4:menuError(_0x63b853(0x254),_0xaa74c4 instanceof Error?_0xaa74c4[_0x63b853(0x24f)]:String(_0xaa74c4));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a153_0x39bc34=a153_0x1708;(function(_0x468a1d,_0x2539c){const _0x2c1adc=a153_0x1708,_0x557e87=_0x468a1d();while(!![]){try{const _0x1794de=parseInt(_0x2c1adc(0x203))/0x1*(parseInt(_0x2c1adc(0x1bf))/0x2)+-parseInt(_0x2c1adc(0x1b1))/0x3*(-parseInt(_0x2c1adc(0x1fb))/0x4)+parseInt(_0x2c1adc(0x1fe))/0x5*(parseInt(_0x2c1adc(0x1b9))/0x6)+parseInt(_0x2c1adc(0x1ff))/0x7*(parseInt(_0x2c1adc(0x1e4))/0x8)+-parseInt(_0x2c1adc(0x198))/0x9*(parseInt(_0x2c1adc(0x224))/0xa)+parseInt(_0x2c1adc(0x1d7))/0xb*(-parseInt(_0x2c1adc(0x19f))/0xc)+-parseInt(_0x2c1adc(0x1a0))/0xd;if(_0x1794de===_0x2539c)break;else _0x557e87['push'](_0x557e87['shift']());}catch(_0x4f501c){_0x557e87['push'](_0x557e87['shift']());}}}(a153_0x2d2f,0x6f6ba));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':a153_0x39bc34(0x1c7),'new-window':a153_0x39bc34(0x1b7)};function a153_0x1708(_0x4c922b,_0x5e1cca){_0x4c922b=_0x4c922b-0x198;const _0x2d2f17=a153_0x2d2f();let _0x1708aa=_0x2d2f17[_0x4c922b];return _0x1708aa;}export function validateExternalMenuUrl(_0x53784e){const _0x302d49=a153_0x39bc34,_0x1aa062=_0x53784e[_0x302d49(0x1e5)]();let _0x1f53f8;try{_0x1f53f8=new URL(_0x1aa062);}catch{throw menuError('menu_url_invalid',_0x302d49(0x1c8),_0x302d49(0x1cb));}if(_0x1f53f8[_0x302d49(0x1a5)]!==_0x302d49(0x1b0))throw menuError('menu_url_https_required',_0x302d49(0x214),_0x302d49(0x199));if(_0x1f53f8['username']||_0x1f53f8[_0x302d49(0x218)])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x1aa062;}export const menuExternalLinkCreate={'service':a153_0x39bc34(0x1e8),'command':a153_0x39bc34(0x1be),'description':a153_0x39bc34(0x211),'risk':a153_0x39bc34(0x212),'structuredErrors':!![],'flags':[{'name':'label','type':a153_0x39bc34(0x200),'required':!![],'description':'Menu\x20label'},{'name':a153_0x39bc34(0x1df),'type':a153_0x39bc34(0x200),'required':!![],'enum':[a153_0x39bc34(0x226),'new-window'],'description':a153_0x39bc34(0x1c9)},{'name':a153_0x39bc34(0x217),'type':a153_0x39bc34(0x200),'required':!![],'description':a153_0x39bc34(0x1e1)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a153_0x39bc34(0x1a6),'type':a153_0x39bc34(0x1f1),'default':!![],'description':a153_0x39bc34(0x1d3)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x395622){validateAddInput(_0x395622);},async 'dryRun'(_0x284da5){const _0x11ec8b=a153_0x39bc34;validateAddInput(_0x284da5);const {plan:_0x2328a2}=await buildSafeAddPlan(_0x284da5,!![]),_0x38cfb7=_0x2328a2[_0x11ec8b(0x1ba)],_0x45752e=createBody(_0x38cfb7);return menuDryRunResult(_0x2328a2,{'method':_0x11ec8b(0x202),'url':_0x11ec8b(0x1b4),'body':_0x45752e,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x11ec8b(0x19c)](_0x38cfb7[_0x11ec8b(0x229)])+_0x11ec8b(0x1eb)+_0x284da5['str'](_0x11ec8b(0x1df))+_0x11ec8b(0x201)});},async 'execute'(_0x40d267){const _0x34d8ea=a153_0x39bc34;validateAddInput(_0x40d267);const _0x37ac0e=await buildSafeAddPlan(_0x40d267,![]),{plan:_0x214982,snapshot:_0x4ed2eb}=_0x37ac0e,_0x236a50=_0x214982[_0x34d8ea(0x1ba)],_0x283571=buildMenuLookupCommand(_0x40d267['appCode']);await recheckAddSnapshot(_0x40d267,_0x214982);let _0x46f45e;try{_0x46f45e=await createMenuEntity(_0x40d267[_0x34d8ea(0x1ce)],_0x40d267[_0x34d8ea(0x1d8)],createBody(_0x236a50));}catch(_0x3db881){const _0x3a015d=mapMenuApiError(_0x3db881,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x3db881)||_0x3a015d[_0x34d8ea(0x1e2)]===_0x34d8ea(0x1da))throw externalLinkCreateFailure(_0x3a015d,_0x214982,{'stage':_0x34d8ea(0x21d),'failed':{},'verification':{'status':'failed','lookupCommand':_0x283571}});return recoverAfterResponseLoss(_0x40d267,_0x37ac0e,_0x283571);}const _0x5d4e71=Number(_0x46f45e?.['id']),_0x2127ae=typeof _0x46f45e?.[_0x34d8ea(0x1f9)]===_0x34d8ea(0x200)?_0x46f45e[_0x34d8ea(0x1f9)]:'';if(!Number[_0x34d8ea(0x1f8)](_0x5d4e71)||_0x5d4e71<=0x0||!_0x2127ae[_0x34d8ea(0x1e5)]()){const _0x448c62=menuError(_0x34d8ea(0x1de),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Run\x20'+_0x283571+_0x34d8ea(0x1fa));throw externalLinkCreateFailure(_0x448c62,_0x214982,{'stage':_0x34d8ea(0x1ea),'succeeded':Number['isSafeInteger'](_0x5d4e71)&&_0x5d4e71>0x0?[{'id':_0x5d4e71,'created':!![]}]:[],'failed':{'createdId':Number[_0x34d8ea(0x1f8)](_0x5d4e71)?_0x5d4e71:null,'generatedPathConfirmed':Boolean(_0x2127ae[_0x34d8ea(0x1e5)]())},'warnings':[_0x34d8ea(0x20e)],'after':Number[_0x34d8ea(0x1f8)](_0x5d4e71)&&_0x5d4e71>0x0?{..._0x236a50,'id':_0x5d4e71,'path':_0x2127ae}:_0x236a50,'verification':{'status':'failed','lookupCommand':_0x283571,...Number[_0x34d8ea(0x1f8)](_0x5d4e71)&&_0x5d4e71>0x0?{'targetId':_0x5d4e71}:{}}});}const _0x1aa827=await readAndVerifyCreatedMenu({'appCode':_0x40d267[_0x34d8ea(0x1ce)],'cookie':_0x40d267[_0x34d8ea(0x1d8)],'plan':_0x214982,'afterPlan':_0x236a50,'createdId':_0x5d4e71,'expectedPath':_0x2127ae,'lookupCommand':_0x283571,'recovered':![]});return creationSuccess(_0x214982,_0x1aa827[_0x34d8ea(0x1bd)],_0x1aa827[_0x34d8ea(0x208)],![]);}};function validateAddInput(_0x4a7b7e){const _0x4085be=a153_0x39bc34;if(!_0x4a7b7e[_0x4085be(0x19b)](_0x4085be(0x229))[_0x4085be(0x1e5)]())throw CliErrors[_0x4085be(0x1a9)](_0x4085be(0x229));resolveExternalMenuType(_0x4a7b7e),validateExternalMenuUrl(_0x4a7b7e[_0x4085be(0x19b)](_0x4085be(0x217))),parseParentId(_0x4a7b7e,_0x4085be(0x1b2)),validateSort(_0x4a7b7e);}function resolveExternalMenuType(_0x3d9406){const _0x5becc1=a153_0x39bc34,_0x21e087=_0x3d9406[_0x5becc1(0x19b)](_0x5becc1(0x1df))[_0x5becc1(0x1e5)]();if(!_0x21e087)throw CliErrors[_0x5becc1(0x1a9)](_0x5becc1(0x1df));const _0xd6af6=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x21e087];if(!_0xd6af6)throw menuError(_0x5becc1(0x21a),_0x5becc1(0x1fd),_0x5becc1(0x1f7));return _0xd6af6;}async function buildAddPlan(_0x40161b,_0x37a025){const _0x6f84f9=a153_0x39bc34,_0x385d2a=await fetchMutationSnapshot(_0x40161b,_0x6f84f9(0x228)),_0x508e9b=parseParentId(_0x40161b,_0x6f84f9(0x1b2))??null;if(_0x508e9b!=null)requireFolder(_0x385d2a,_0x508e9b);const _0x146413=validateSort(_0x40161b),_0x24317e=_0x146413??nextSiblingSort(_0x385d2a,_0x508e9b,_0x6f84f9(0x1e8)),_0x2d4c85=_0x40161b[_0x6f84f9(0x19b)](_0x6f84f9(0x229))[_0x6f84f9(0x1e5)](),_0xc29c8f=resolveExternalMenuType(_0x40161b),_0x2cbebb=validateExternalMenuUrl(_0x40161b[_0x6f84f9(0x19b)](_0x6f84f9(0x217))),_0x53d57a=Object[_0x6f84f9(0x1c0)]['hasOwnProperty']['call'](_0x40161b[_0x6f84f9(0x221)],'visible')?_0x40161b[_0x6f84f9(0x215)](_0x6f84f9(0x1a6)):!![],_0x59a0e5={'id':null,'parentId':_0x508e9b,'label':_0x2d4c85,'path':'<platform-generated>','url':_0x2cbebb,'type':_0xc29c8f,'visible':_0x53d57a,'sort':_0x24317e},_0x69d2fb=buildMenuLookupCommand(_0x40161b['appCode']),_0x21d17d=mutationResult({'operation':_0x6f84f9(0x1a7),'selector':{'parentId':_0x508e9b,'type':_0xc29c8f,'label':_0x2d4c85,'url':_0x2cbebb},'before':null,'after':_0x59a0e5,'dryRun':_0x37a025,'backend':[{'method':_0x6f84f9(0x202),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x6f84f9(0x1e3),'method':_0x6f84f9(0x202),'path':'/smartapi/menu/create','body':createBody(_0x59a0e5)}],'snapshotHash':_0x385d2a[_0x6f84f9(0x1ca)],'warnings':[_0x6f84f9(0x21e)],'verification':{'lookupCommand':_0x69d2fb}});return{'plan':_0x21d17d,'snapshot':_0x385d2a};}async function buildSafeAddPlan(_0x3d4cba,_0x1efce4){try{return await buildAddPlan(_0x3d4cba,_0x1efce4);}catch(_0x31f5ab){throw safeMenuAddError(_0x31f5ab);}}async function recheckAddSnapshot(_0x1c1f0f,_0xff6bf7){const _0x345842=a153_0x39bc34;try{await recheckMutationSnapshot(_0x1c1f0f,_0xff6bf7,'create\x20external\x20menu');}catch(_0xd05010){const _0x36b310=getFailureRecord(_0xd05010);throw externalLinkCreateFailure(_0xd05010,_0xff6bf7,{'stage':_0x345842(0x1a3),'failed':{..._0x36b310?.[_0x345842(0x22b)]?{'expectedSnapshotHash':_0x36b310[_0x345842(0x22b)]}:{},..._0x36b310?.[_0x345842(0x1b6)]?{'currentSnapshotHash':_0x36b310[_0x345842(0x1b6)]}:{}}});}}function createBody(_0x394b2c){const _0xcfa4ed=a153_0x39bc34;return{'parentId':toApiParentId(_0x394b2c[_0xcfa4ed(0x1b8)]),'label':String(_0x394b2c['label']),'type':String(_0x394b2c[_0xcfa4ed(0x1d2)]),'url':String(_0x394b2c[_0xcfa4ed(0x217)]),'visible':Boolean(_0x394b2c[_0xcfa4ed(0x1a6)]),'sort':Number(_0x394b2c['sort']),'extend':{}};}function buildMenuLookupCommand(_0x50b9c2){const _0x11c50f=a153_0x39bc34,_0x555474='\x27'+_0x50b9c2[_0x11c50f(0x1ae)](/'/g,_0x11c50f(0x219))+'\x27';return _0x11c50f(0x19e)+_0x555474+_0x11c50f(0x1ad);}async function recoverAfterResponseLoss(_0x5861b7,_0x4efa39,_0xc20efe){const _0x5b63f9=a153_0x39bc34,{plan:_0x589559,snapshot:_0x5d9859}=_0x4efa39,_0x5c4e98=_0x589559['after'];let _0x512adf;try{_0x512adf=await fetchMenuSnapshot(_0x5861b7['appCode'],_0x5861b7[_0x5b63f9(0x1d8)]);}catch(_0x2c1c38){throw recoveryRequiredFailure(_0x589559,_0xc20efe,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x20fac1=_0x512adf[_0x5b63f9(0x1ab)][_0x5b63f9(0x1cf)](_0x366f80=>_0x366f80[_0x5b63f9(0x1b8)]===_0x5c4e98[_0x5b63f9(0x1b8)]&&_0x366f80[_0x5b63f9(0x1d2)]===_0x5c4e98[_0x5b63f9(0x1d2)]&&_0x366f80[_0x5b63f9(0x229)]===_0x5c4e98[_0x5b63f9(0x229)]&&_0x366f80[_0x5b63f9(0x217)]===_0x5c4e98['url']),_0x5216a7=_0x20fac1[_0x5b63f9(0x1cf)](_0x574533=>!_0x5d9859[_0x5b63f9(0x1f3)][_0x5b63f9(0x223)](_0x574533['id'])),_0x1ba802=_0x20fac1[_0x5b63f9(0x1cf)](_0x201635=>_0x5d9859[_0x5b63f9(0x1f3)][_0x5b63f9(0x223)](_0x201635['id']));if(_0x20fac1[_0x5b63f9(0x20b)]!==0x1||_0x5216a7[_0x5b63f9(0x20b)]!==0x1)throw recoveryRequiredFailure(_0x589559,_0xc20efe,{'matchCount':_0x20fac1[_0x5b63f9(0x20b)],'newMatchCount':_0x5216a7[_0x5b63f9(0x20b)],'preexistingMatchCount':_0x1ba802[_0x5b63f9(0x20b)]});const _0x336ea8=_0x5216a7[0x0];try{verifyCreatedFact(_0x336ea8,_0x336ea8['id'],_0x5c4e98,null);}catch(_0x4345ee){const _0x2ae589=_0x4345ee instanceof Error&&_0x5b63f9(0x1e2)in _0x4345ee?_0x4345ee:menuError(_0x5b63f9(0x1b5),_0x5b63f9(0x20c)+_0x336ea8['id']+_0x5b63f9(0x20d),'Run\x20'+_0xc20efe+_0x5b63f9(0x1c2));throw externalLinkCreateFailure(_0x2ae589,_0x589559,{'stage':_0x5b63f9(0x1cd),'succeeded':[{'id':_0x336ea8['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x336ea8['id'],'finalFactsConfirmed':![]},'after':_0x336ea8,'warnings':[_0x5b63f9(0x216)+_0x336ea8['id']+_0x5b63f9(0x1a8)],'verification':{'status':_0x5b63f9(0x1c6),'targetId':_0x336ea8['id'],'recovered':!![],'lookupCommand':_0xc20efe}});}return creationSuccess(_0x589559,_0x512adf,_0x336ea8,!![]);}function recoveryRequiredFailure(_0x1e86d3,_0x2daa45,_0x4747ed){const _0x207aad=a153_0x39bc34,_0x771630=menuError(_0x207aad(0x209),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x207aad(0x1a4)+_0x2daa45+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x771630,_0x1e86d3,{'stage':'create-recovery','failed':_0x4747ed,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':'failed',..._0x4747ed,'lookupCommand':_0x2daa45}});}async function readAndVerifyCreatedMenu(_0x5e3304){const _0x2d8be3=a153_0x39bc34;let _0x1d169a;try{_0x1d169a=await fetchMenuSnapshot(_0x5e3304[_0x2d8be3(0x1ce)],_0x5e3304[_0x2d8be3(0x1d8)]);}catch(_0x2e334b){const _0x2508fa=menuError(_0x2d8be3(0x1b5),_0x2d8be3(0x216)+_0x5e3304['createdId']+_0x2d8be3(0x19a),_0x2d8be3(0x1a4)+_0x5e3304[_0x2d8be3(0x1af)]+_0x2d8be3(0x1ac));throw externalLinkCreateFailure(_0x2508fa,_0x5e3304[_0x2d8be3(0x22a)],{'stage':_0x2d8be3(0x1cd),'succeeded':[{'id':_0x5e3304[_0x2d8be3(0x1c3)],'created':!![]}],'failed':{'id':_0x5e3304[_0x2d8be3(0x1c3)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x5e3304[_0x2d8be3(0x19d)],'id':_0x5e3304['createdId'],'path':_0x5e3304[_0x2d8be3(0x21b)]},'warnings':[_0x2d8be3(0x216)+_0x5e3304[_0x2d8be3(0x1c3)]+_0x2d8be3(0x1ef)],'verification':{'status':_0x2d8be3(0x1c6),'targetId':_0x5e3304[_0x2d8be3(0x1c3)],'lookupCommand':_0x5e3304[_0x2d8be3(0x1af)]}});}const _0x2cbf51=_0x1d169a[_0x2d8be3(0x1f3)][_0x2d8be3(0x1f2)](_0x5e3304[_0x2d8be3(0x1c3)]);try{if(!_0x2cbf51)throw menuError(_0x2d8be3(0x1b5),'Created\x20menu\x20'+_0x5e3304[_0x2d8be3(0x1c3)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Run\x20'+_0x5e3304[_0x2d8be3(0x1af)]+_0x2d8be3(0x1ac));verifyCreatedFact(_0x2cbf51,_0x5e3304[_0x2d8be3(0x1c3)],_0x5e3304['afterPlan'],_0x5e3304['expectedPath']);}catch(_0x52ba37){const _0xc8ecde=_0x52ba37 instanceof Error&&_0x2d8be3(0x1e2)in _0x52ba37?_0x52ba37:menuError(_0x2d8be3(0x1b5),_0x2d8be3(0x1d1)+_0x5e3304[_0x2d8be3(0x1c3)]+_0x2d8be3(0x1d4),'Run\x20'+_0x5e3304['lookupCommand']+_0x2d8be3(0x1ac));throw externalLinkCreateFailure(_0xc8ecde,_0x5e3304[_0x2d8be3(0x22a)],{'stage':_0x2d8be3(0x1cd),'succeeded':[{'id':_0x5e3304[_0x2d8be3(0x1c3)],'created':!![]}],'failed':{'id':_0x5e3304[_0x2d8be3(0x1c3)],'finalFactsConfirmed':![]},'after':_0x2cbf51??{..._0x5e3304[_0x2d8be3(0x19d)],'id':_0x5e3304['createdId'],'path':_0x5e3304['expectedPath']},'warnings':['Menu\x20'+_0x5e3304[_0x2d8be3(0x1c3)]+_0x2d8be3(0x227)],'verification':{'status':_0x2d8be3(0x1c6),'targetId':_0x5e3304['createdId'],'recovered':_0x5e3304[_0x2d8be3(0x225)],'lookupCommand':_0x5e3304[_0x2d8be3(0x1af)]}});}return{'snapshot':_0x1d169a,'fact':_0x2cbf51};}function verifyCreatedFact(_0x566205,_0x1c8e1d,_0x482e88,_0x25a1f9){const _0x3ab898=a153_0x39bc34;if(!Number[_0x3ab898(0x1f8)](_0x566205['id'])||_0x566205['id']<=0x0||_0x566205['id']!==_0x1c8e1d)throw menuError(_0x3ab898(0x1b5),_0x3ab898(0x1e0),_0x3ab898(0x1f6));const _0x361593=[[_0x3ab898(0x1d6),_0x566205[_0x3ab898(0x1b8)],_0x482e88[_0x3ab898(0x1b8)]],[_0x3ab898(0x1d2),_0x566205[_0x3ab898(0x1d2)],_0x482e88[_0x3ab898(0x1d2)]],[_0x3ab898(0x229),_0x566205[_0x3ab898(0x229)],_0x482e88[_0x3ab898(0x229)]],[_0x3ab898(0x1e9),_0x566205[_0x3ab898(0x217)],_0x482e88[_0x3ab898(0x217)]],[_0x3ab898(0x204),_0x566205[_0x3ab898(0x1a6)],_0x482e88['visible']],[_0x3ab898(0x1cc),_0x566205[_0x3ab898(0x1cc)],_0x482e88[_0x3ab898(0x1cc)]]];for(const [_0x3330df,_0x38b2d9,_0x3dfe04]of _0x361593){if(_0x38b2d9!==_0x3dfe04)throw menuError('menu_verification_failed',_0x3ab898(0x1d1)+_0x566205['id']+_0x3ab898(0x1bb)+_0x3330df+'.',_0x3ab898(0x206));}if(!_0x566205[_0x3ab898(0x1f9)][_0x3ab898(0x1e5)]()||_0x25a1f9!==null&&_0x566205[_0x3ab898(0x1f9)]!==_0x25a1f9)throw menuError('menu_verification_failed',_0x3ab898(0x1d1)+_0x566205['id']+_0x3ab898(0x213),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x7dcf11,_0xad4076,_0x8b5453,_0x19662c){const _0x509ee3=a153_0x39bc34,_0x1f8e4b=mutationResult({..._0x7dcf11,'after':_0x8b5453,'dryRun':![],'succeeded':[{'id':_0x8b5453['id'],'created':!![],'recovered':_0x19662c}],'verification':{'checkedBy':_0x509ee3(0x1c4),'snapshotHash':_0xad4076[_0x509ee3(0x1ca)],'targetId':_0x8b5453['id'],'recovered':_0x19662c,'path':_0x8b5453['path']}});return{'ok':!![],'message':_0x19662c?_0x509ee3(0x1aa)+_0x8b5453['id']+_0x509ee3(0x1d9):_0x509ee3(0x1dc)+_0x8b5453['id']+'.','data':{..._0x1f8e4b,'recovered':_0x19662c}};}function externalLinkCreateFailure(_0x516ba1,_0x523387,_0x2f4d8a){const _0x4488de=a153_0x39bc34;return menuFailure(safeMenuAddError(_0x516ba1),redactFailurePlan(_0x523387),{..._0x2f4d8a,'succeeded':_0x2f4d8a[_0x4488de(0x1e6)]?.[_0x4488de(0x207)](redactFailureRecord),'failed':_0x2f4d8a[_0x4488de(0x1c6)]?redactFailureRecord(_0x2f4d8a[_0x4488de(0x1c6)]):undefined,'verification':_0x2f4d8a['verification']?redactFailureRecord(_0x2f4d8a['verification']):undefined,'after':_0x2f4d8a[_0x4488de(0x1ba)]===undefined?undefined:redactFailureValue(_0x2f4d8a[_0x4488de(0x1ba)])});}function redactFailurePlan(_0x2aa317){const _0x203b41=a153_0x39bc34;return{..._0x2aa317,'selector':redactFailureRecord(_0x2aa317[_0x203b41(0x1a2)]),'before':redactFailureValue(_0x2aa317[_0x203b41(0x222)]),'after':redactFailureValue(_0x2aa317[_0x203b41(0x1ba)]),'plannedActions':_0x2aa317[_0x203b41(0x1fc)]?.[_0x203b41(0x207)](_0x35b449=>({..._0x35b449,'body':redactFailureRecord(_0x35b449[_0x203b41(0x1ee)])})),'succeeded':_0x2aa317[_0x203b41(0x1e6)]['map'](redactFailureRecord),'failed':_0x2aa317[_0x203b41(0x1c6)][_0x203b41(0x207)](redactFailureRecord),'verification':_0x2aa317[_0x203b41(0x1cd)]?redactFailureRecord(_0x2aa317[_0x203b41(0x1cd)]):undefined};}function redactFailureRecord(_0x4ec6a8){return redactFailureValue(_0x4ec6a8);}function a153_0x2d2f(){const _0x4fff41=['Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','<redacted>','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','isSafeInteger','path','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','564KChSbL','plannedActions','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','128440oSnCnP','7WVTBTI','string','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','POST','1cTsjno','visibility','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','fact','menu_create_recovery_required','menu_sort_overflow','length','Recovered\x20menu\x20','\x20could\x20not\x20be\x20verified.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','isArray','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Create\x20an\x20external\x20website\x20link\x20menu','write','\x20has\x20an\x20unexpected\x20generated\x20path.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','bool','Menu\x20','url','password','\x27\x5c\x27\x27','menu_open_mode_invalid','expectedPath','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','create','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','External\x20menu\x20creation\x20failed.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','rawFlags','before','has','310qCJSMz','recovered','embedded','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','create\x20external\x20menu','label','plan','expectedSnapshotHash','52866WpWDjp','Provide\x20an\x20HTTPS\x20URL.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','str','stringify','afterPlan','rabetbase\x20menu\x20list\x20--appcode\x20','1368azNJop','11209614paBRhw','cause','selector','pre-write-recheck','Run\x20','protocol','visible','add','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','flagMissing','Recovered\x20created\x20external\x20menu\x20','menus','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20--format\x20compress','replace','lookupCommand','https:','732QiiBLm','parent-id','data','/smartapi/menu/create','menu_verification_failed','currentSnapshotHash','link','parentId','192QmmhgX','after','\x20has\x20an\x20unexpected\x20','toLowerCase','snapshot','external-link-create','1179214HePEKR','prototype','rawerror','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','createdId','menu\x20list','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','failed','iframe','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','How\x20to\x20open\x20the\x20external\x20website','hash','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','sort','verification','appCode','filter','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Created\x20menu\x20','type','Whether\x20the\x20menu\x20is\x20visible','\x20failed\x20final\x20verification.','menu_sort_invalid','parent','31361MvaHXb','cookie','\x20after\x20response\x20loss.','menu_permission_denied','object','Created\x20external\x20menu\x20','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_create_response_invalid','open-mode','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','External\x20HTTPS\x20URL','code','create-menu','3037896uhuzUK','trim','succeeded','fromEntries','menu','URL','create-response-validation','\x20with\x20','entries','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','body','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','menu_mutation_failed','boolean','get','byId'];a153_0x2d2f=function(){return _0x4fff41;};return a153_0x2d2f();}function redactFailureValue(_0x4d2577,_0x8ed632=''){const _0x6b7948=a153_0x39bc34,_0x26a573=_0x8ed632[_0x6b7948(0x1bc)]()[_0x6b7948(0x1ae)](/[^a-z0-9]/g,'');if([_0x6b7948(0x1a1),'causemessage','readbackerror',_0x6b7948(0x1c1)]['includes'](_0x26a573))return _0x6b7948(0x1f5);if(Array[_0x6b7948(0x20f)](_0x4d2577))return _0x4d2577[_0x6b7948(0x207)](_0x4361d3=>redactFailureValue(_0x4361d3));if(_0x4d2577&&typeof _0x4d2577===_0x6b7948(0x1db))return Object[_0x6b7948(0x1e7)](Object[_0x6b7948(0x1ec)](_0x4d2577)[_0x6b7948(0x207)](([_0xd17710,_0x53415c])=>[_0xd17710,redactFailureValue(_0x53415c,_0xd17710)]));return _0x4d2577;}function safeMenuAddError(_0x805899){const _0x49f6a1=a153_0x39bc34,_0x413cc1=_0x805899 instanceof CliError?_0x805899['code']:_0x49f6a1(0x1f0);switch(_0x413cc1){case'menu_state_drift':return menuError(_0x413cc1,_0x49f6a1(0x1dd),_0x49f6a1(0x210));case _0x49f6a1(0x1da):return menuError(_0x413cc1,_0x49f6a1(0x1c5),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x49f6a1(0x1de):return menuError(_0x413cc1,_0x49f6a1(0x220),_0x49f6a1(0x1f4));case _0x49f6a1(0x1b5):return menuError(_0x413cc1,_0x49f6a1(0x1ed),_0x49f6a1(0x1f4));case _0x49f6a1(0x209):return menuError(_0x413cc1,_0x49f6a1(0x205),_0x49f6a1(0x1d0));case _0x49f6a1(0x1f0):case'menu_not_found':case'menu_parent_not_folder':case _0x49f6a1(0x1d5):case _0x49f6a1(0x20a):return menuError(_0x413cc1,'External\x20menu\x20creation\x20failed.',_0x49f6a1(0x21c));default:return menuError('menu_mutation_failed',_0x49f6a1(0x21f),_0x49f6a1(0x21c));}}function getFailureRecord(_0x4f9dad){const _0x21596b=a153_0x39bc34;if(!(_0x4f9dad instanceof Error)||!(_0x21596b(0x1b3)in _0x4f9dad))return undefined;const _0x595e8e=_0x4f9dad[_0x21596b(0x1b3)];if(!_0x595e8e||typeof _0x595e8e!==_0x21596b(0x1db))return undefined;const _0x245289=_0x595e8e[_0x21596b(0x1c6)];if(!Array['isArray'](_0x245289)||!_0x245289[0x0]||typeof _0x245289[0x0]!==_0x21596b(0x1db))return undefined;return _0x245289[0x0];}
|
|
1
|
+
const a153_0x336667=a153_0x3ba2;(function(_0x575e1c,_0x4afe4e){const _0x228809=a153_0x3ba2,_0x1e2fbb=_0x575e1c();while(!![]){try{const _0x142fc8=-parseInt(_0x228809(0x21d))/0x1*(-parseInt(_0x228809(0x1b3))/0x2)+-parseInt(_0x228809(0x1c5))/0x3*(-parseInt(_0x228809(0x203))/0x4)+-parseInt(_0x228809(0x1da))/0x5*(parseInt(_0x228809(0x194))/0x6)+-parseInt(_0x228809(0x219))/0x7+-parseInt(_0x228809(0x1f0))/0x8*(-parseInt(_0x228809(0x1b0))/0x9)+parseInt(_0x228809(0x1ab))/0xa*(-parseInt(_0x228809(0x19e))/0xb)+-parseInt(_0x228809(0x1f8))/0xc;if(_0x142fc8===_0x4afe4e)break;else _0x1e2fbb['push'](_0x1e2fbb['shift']());}catch(_0x4735ad){_0x1e2fbb['push'](_0x1e2fbb['shift']());}}}(a153_0x21b9,0x2555a));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':a153_0x336667(0x201),'new-window':a153_0x336667(0x1ef)};export function validateExternalMenuUrl(_0x2bbd19){const _0x355826=a153_0x336667,_0x5a96f0=_0x2bbd19[_0x355826(0x19a)]();let _0x291ce7;try{_0x291ce7=new URL(_0x5a96f0);}catch{throw menuError(_0x355826(0x1d5),_0x355826(0x1de),_0x355826(0x1ee));}if(_0x291ce7[_0x355826(0x1a0)]!==_0x355826(0x1b6))throw menuError(_0x355826(0x218),_0x355826(0x1f5),'Provide\x20an\x20HTTPS\x20URL.');if(_0x291ce7[_0x355826(0x1b9)]||_0x291ce7[_0x355826(0x1fd)])throw menuError(_0x355826(0x209),_0x355826(0x1ea),_0x355826(0x1b8));return _0x5a96f0;}function a153_0x21b9(){const _0x1f7b3c=['createdId','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','type','menu_url_credentials_forbidden','menu_sort_overflow','Would\x20create\x20external\x20website\x20link\x20menu\x20','causemessage','menu_permission_denied','cookie','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Create\x20an\x20external\x20website\x20link\x20menu','menu_mutation_failed','toLowerCase','label','menu_not_found','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_url_https_required','23996uvRFBQ','add','sort','isArray','8pUmJKq','\x20has\x20an\x20unexpected\x20','menu','660zvTtSq','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','parentId','pre-write-recheck','verification','readbackerror','trim','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','menu_verification_failed','flagMissing','75218tKYJmY','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','protocol','menu_create_response_invalid','menu_open_mode_invalid','str','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','parent-id','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','stringify','Recovered\x20created\x20external\x20menu\x20','<redacted>','270RUWbvy','get','How\x20to\x20open\x20the\x20external\x20website','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','rawerror','450PAyCnE','failed','rawFlags','34702izvURp','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_parent_not_folder','https:','\x20could\x20not\x20be\x20verified.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','username','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','URL','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','object','create\x20external\x20menu','expectedSnapshotHash','path','Menu\x20','length','open-mode','selector','3qqzdzS','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','before','has','new-window','boolean','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','hasOwnProperty','expectedPath','replace','fromEntries','plan','data','write','plannedActions','entries','menu_url_invalid','visible','hash','succeeded','\x20--format\x20compress','3035omeHSH','/smartapi/menu/create','Created\x20menu\x20','map','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','filter','url','string','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','lookupCommand','\x27\x5c\x27\x27','create-response-validation','Run\x20','\x20with\x20','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','\x20failed\x20final\x20verification.','menu_state_drift','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','link','40216LcEBVh','afterPlan','rabetbase\x20menu\x20list\x20--appcode\x20','Created\x20external\x20menu\x20','appCode','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','\x20after\x20response\x20loss.','2781660UazIeO','menu_create_recovery_required','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','code','password','isSafeInteger','menu\x20list','after','iframe','call','997572pDdTRT','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','prototype'];a153_0x21b9=function(){return _0x1f7b3c;};return a153_0x21b9();}export const menuExternalLinkCreate={'service':a153_0x336667(0x193),'command':'external-link-create','description':a153_0x336667(0x212),'risk':a153_0x336667(0x1d2),'structuredErrors':!![],'flags':[{'name':a153_0x336667(0x215),'type':'string','required':!![],'description':'Menu\x20label'},{'name':a153_0x336667(0x1c3),'type':'string','required':!![],'enum':['embedded',a153_0x336667(0x1c9)],'description':a153_0x336667(0x1ad)},{'name':a153_0x336667(0x1e0),'type':a153_0x336667(0x1e1),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a153_0x336667(0x1d6),'type':a153_0x336667(0x1ca),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4c3fba){validateAddInput(_0x4c3fba);},async 'dryRun'(_0x3f5055){const _0x54e12a=a153_0x336667;validateAddInput(_0x3f5055);const {plan:_0x2370ad}=await buildSafeAddPlan(_0x3f5055,!![]),_0x4b5d30=_0x2370ad['after'],_0xd059f1=createBody(_0x4b5d30);return menuDryRunResult(_0x2370ad,{'method':'POST','url':_0x54e12a(0x1db),'body':_0xd059f1,'description':_0x54e12a(0x20b)+JSON[_0x54e12a(0x1a8)](_0x4b5d30[_0x54e12a(0x215)])+_0x54e12a(0x1e7)+_0x3f5055[_0x54e12a(0x1a3)](_0x54e12a(0x1c3))+_0x54e12a(0x1c6)});},async 'execute'(_0x58a64d){const _0x321a42=a153_0x336667;validateAddInput(_0x58a64d);const _0x84957c=await buildSafeAddPlan(_0x58a64d,![]),{plan:_0x7bd3f7,snapshot:_0x34415d}=_0x84957c,_0x24aea0=_0x7bd3f7['after'],_0x19d59a=buildMenuLookupCommand(_0x58a64d['appCode']);await recheckAddSnapshot(_0x58a64d,_0x7bd3f7);let _0x4b85dd;try{_0x4b85dd=await createMenuEntity(_0x58a64d[_0x321a42(0x1f4)],_0x58a64d[_0x321a42(0x20e)],createBody(_0x24aea0));}catch(_0x5bc1b0){const _0x42abe5=mapMenuApiError(_0x5bc1b0,_0x321a42(0x1be));if(!isMenuResponseLoss(_0x5bc1b0)||_0x42abe5['code']===_0x321a42(0x20d))throw externalLinkCreateFailure(_0x42abe5,_0x7bd3f7,{'stage':'create','failed':{},'verification':{'status':_0x321a42(0x1b1),'lookupCommand':_0x19d59a}});return recoverAfterResponseLoss(_0x58a64d,_0x84957c,_0x19d59a);}const _0x336204=Number(_0x4b85dd?.['id']),_0x3c3735=typeof _0x4b85dd?.[_0x321a42(0x1c0)]===_0x321a42(0x1e1)?_0x4b85dd[_0x321a42(0x1c0)]:'';if(!Number[_0x321a42(0x1fe)](_0x336204)||_0x336204<=0x0||!_0x3c3735[_0x321a42(0x19a)]()){const _0xa89a6d=menuError(_0x321a42(0x1a1),_0x321a42(0x1ed),_0x321a42(0x1e6)+_0x19d59a+_0x321a42(0x195));throw externalLinkCreateFailure(_0xa89a6d,_0x7bd3f7,{'stage':_0x321a42(0x1e5),'succeeded':Number[_0x321a42(0x1fe)](_0x336204)&&_0x336204>0x0?[{'id':_0x336204,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x336204)?_0x336204:null,'generatedPathConfirmed':Boolean(_0x3c3735['trim']())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x321a42(0x1fe)](_0x336204)&&_0x336204>0x0?{..._0x24aea0,'id':_0x336204,'path':_0x3c3735}:_0x24aea0,'verification':{'status':_0x321a42(0x1b1),'lookupCommand':_0x19d59a,...Number['isSafeInteger'](_0x336204)&&_0x336204>0x0?{'targetId':_0x336204}:{}}});}const _0x276abe=await readAndVerifyCreatedMenu({'appCode':_0x58a64d[_0x321a42(0x1f4)],'cookie':_0x58a64d[_0x321a42(0x20e)],'plan':_0x7bd3f7,'afterPlan':_0x24aea0,'createdId':_0x336204,'expectedPath':_0x3c3735,'lookupCommand':_0x19d59a,'recovered':![]});return creationSuccess(_0x7bd3f7,_0x276abe['snapshot'],_0x276abe['fact'],![]);}};function validateAddInput(_0xf37f50){const _0x13c7e7=a153_0x336667;if(!_0xf37f50[_0x13c7e7(0x1a3)](_0x13c7e7(0x215))['trim']())throw CliErrors['flagMissing'](_0x13c7e7(0x215));resolveExternalMenuType(_0xf37f50),validateExternalMenuUrl(_0xf37f50[_0x13c7e7(0x1a3)](_0x13c7e7(0x1e0))),parseParentId(_0xf37f50,_0x13c7e7(0x1a5)),validateSort(_0xf37f50);}function resolveExternalMenuType(_0x3131f2){const _0x42560e=a153_0x336667,_0x10f600=_0x3131f2[_0x42560e(0x1a3)](_0x42560e(0x1c3))[_0x42560e(0x19a)]();if(!_0x10f600)throw CliErrors[_0x42560e(0x19d)]('open-mode');const _0x123293=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x10f600];if(!_0x123293)throw menuError(_0x42560e(0x1a2),_0x42560e(0x1b4),_0x42560e(0x1e9));return _0x123293;}async function buildAddPlan(_0x458ce2,_0x4dacd9){const _0x47ea55=a153_0x336667,_0x223a35=await fetchMutationSnapshot(_0x458ce2,'create\x20external\x20menu'),_0x240a20=parseParentId(_0x458ce2,'parent-id')??null;if(_0x240a20!=null)requireFolder(_0x223a35,_0x240a20);const _0x4a27e7=validateSort(_0x458ce2),_0x4ceb23=_0x4a27e7??nextSiblingSort(_0x223a35,_0x240a20,_0x47ea55(0x193)),_0x218873=_0x458ce2[_0x47ea55(0x1a3)](_0x47ea55(0x215))[_0x47ea55(0x19a)](),_0xa571e=resolveExternalMenuType(_0x458ce2),_0x2dff40=validateExternalMenuUrl(_0x458ce2[_0x47ea55(0x1a3)]('url')),_0x47a894=Object[_0x47ea55(0x205)][_0x47ea55(0x1cc)][_0x47ea55(0x202)](_0x458ce2[_0x47ea55(0x1b2)],_0x47ea55(0x1d6))?_0x458ce2['bool'](_0x47ea55(0x1d6)):!![],_0x4f577b={'id':null,'parentId':_0x240a20,'label':_0x218873,'path':'<platform-generated>','url':_0x2dff40,'type':_0xa571e,'visible':_0x47a894,'sort':_0x4ceb23},_0x2fbbf3=buildMenuLookupCommand(_0x458ce2[_0x47ea55(0x1f4)]),_0x28108b=mutationResult({'operation':_0x47ea55(0x21a),'selector':{'parentId':_0x240a20,'type':_0xa571e,'label':_0x218873,'url':_0x2dff40},'before':null,'after':_0x4f577b,'dryRun':_0x4dacd9,'backend':[{'method':'POST','path':_0x47ea55(0x1db)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':'/smartapi/menu/create','body':createBody(_0x4f577b)}],'snapshotHash':_0x223a35[_0x47ea55(0x1d7)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x2fbbf3}});return{'plan':_0x28108b,'snapshot':_0x223a35};}async function buildSafeAddPlan(_0x17129f,_0x8536ed){try{return await buildAddPlan(_0x17129f,_0x8536ed);}catch(_0x1b935a){throw safeMenuAddError(_0x1b935a);}}async function recheckAddSnapshot(_0x4bcd32,_0x461f2c){const _0x5891f8=a153_0x336667;try{await recheckMutationSnapshot(_0x4bcd32,_0x461f2c,_0x5891f8(0x1be));}catch(_0x550eb3){const _0x207bff=getFailureRecord(_0x550eb3);throw externalLinkCreateFailure(_0x550eb3,_0x461f2c,{'stage':_0x5891f8(0x197),'failed':{..._0x207bff?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x207bff[_0x5891f8(0x1bf)]}:{},..._0x207bff?.['currentSnapshotHash']?{'currentSnapshotHash':_0x207bff['currentSnapshotHash']}:{}}});}}function createBody(_0x52366a){const _0x5cf428=a153_0x336667;return{'parentId':toApiParentId(_0x52366a[_0x5cf428(0x196)]),'label':String(_0x52366a[_0x5cf428(0x215)]),'type':String(_0x52366a[_0x5cf428(0x208)]),'url':String(_0x52366a[_0x5cf428(0x1e0)]),'visible':Boolean(_0x52366a[_0x5cf428(0x1d6)]),'sort':Number(_0x52366a[_0x5cf428(0x21b)]),'extend':{}};}function a153_0x3ba2(_0xc1cc13,_0x337730){_0xc1cc13=_0xc1cc13-0x192;const _0x21b911=a153_0x21b9();let _0x3ba29a=_0x21b911[_0xc1cc13];return _0x3ba29a;}function buildMenuLookupCommand(_0x5ff19e){const _0x45d141=a153_0x336667,_0x31b7c1='\x27'+_0x5ff19e['replace'](/'/g,_0x45d141(0x1e4))+'\x27';return _0x45d141(0x1f2)+_0x31b7c1+_0x45d141(0x1d9);}async function recoverAfterResponseLoss(_0x4183be,_0x45b762,_0x170773){const _0x3d4a29=a153_0x336667,{plan:_0x453390,snapshot:_0x3692e8}=_0x45b762,_0x2ba6af=_0x453390['after'];let _0x4202db;try{_0x4202db=await fetchMenuSnapshot(_0x4183be['appCode'],_0x4183be[_0x3d4a29(0x20e)]);}catch(_0x551525){throw recoveryRequiredFailure(_0x453390,_0x170773,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x5a6bc9=_0x4202db['menus'][_0x3d4a29(0x1df)](_0x2531af=>_0x2531af[_0x3d4a29(0x196)]===_0x2ba6af[_0x3d4a29(0x196)]&&_0x2531af[_0x3d4a29(0x208)]===_0x2ba6af[_0x3d4a29(0x208)]&&_0x2531af[_0x3d4a29(0x215)]===_0x2ba6af['label']&&_0x2531af['url']===_0x2ba6af['url']),_0x38f4b8=_0x5a6bc9['filter'](_0x1db884=>!_0x3692e8['byId'][_0x3d4a29(0x1c8)](_0x1db884['id'])),_0x3ae6cc=_0x5a6bc9['filter'](_0x4a11d6=>_0x3692e8['byId'][_0x3d4a29(0x1c8)](_0x4a11d6['id']));if(_0x5a6bc9[_0x3d4a29(0x1c2)]!==0x1||_0x38f4b8[_0x3d4a29(0x1c2)]!==0x1)throw recoveryRequiredFailure(_0x453390,_0x170773,{'matchCount':_0x5a6bc9[_0x3d4a29(0x1c2)],'newMatchCount':_0x38f4b8[_0x3d4a29(0x1c2)],'preexistingMatchCount':_0x3ae6cc[_0x3d4a29(0x1c2)]});const _0x22beda=_0x38f4b8[0x0];try{verifyCreatedFact(_0x22beda,_0x22beda['id'],_0x2ba6af,null);}catch(_0x192662){const _0x18825b=_0x192662 instanceof Error&&_0x3d4a29(0x1fc)in _0x192662?_0x192662:menuError(_0x3d4a29(0x19c),'Recovered\x20menu\x20'+_0x22beda['id']+_0x3d4a29(0x1b7),_0x3d4a29(0x1e6)+_0x170773+_0x3d4a29(0x19f));throw externalLinkCreateFailure(_0x18825b,_0x453390,{'stage':_0x3d4a29(0x198),'succeeded':[{'id':_0x22beda['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x22beda['id'],'finalFactsConfirmed':![]},'after':_0x22beda,'warnings':['Menu\x20'+_0x22beda['id']+_0x3d4a29(0x1ae)],'verification':{'status':_0x3d4a29(0x1b1),'targetId':_0x22beda['id'],'recovered':!![],'lookupCommand':_0x170773}});}return creationSuccess(_0x453390,_0x4202db,_0x22beda,!![]);}function recoveryRequiredFailure(_0x1c3edc,_0x5deea2,_0x401ece){const _0x5df2dd=a153_0x336667,_0x2e3c07=menuError(_0x5df2dd(0x1f9),_0x5df2dd(0x1cb),_0x5df2dd(0x1e6)+_0x5deea2+_0x5df2dd(0x1ba));return externalLinkCreateFailure(_0x2e3c07,_0x1c3edc,{'stage':'create-recovery','failed':_0x401ece,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x5df2dd(0x1b1),..._0x401ece,'lookupCommand':_0x5deea2}});}async function readAndVerifyCreatedMenu(_0x4227bb){const _0x1a9492=a153_0x336667;let _0xcaddca;try{_0xcaddca=await fetchMenuSnapshot(_0x4227bb[_0x1a9492(0x1f4)],_0x4227bb['cookie']);}catch(_0x4814d4){const _0x55a101=menuError(_0x1a9492(0x19c),'Menu\x20'+_0x4227bb['createdId']+_0x1a9492(0x217),_0x1a9492(0x1e6)+_0x4227bb['lookupCommand']+_0x1a9492(0x1e8));throw externalLinkCreateFailure(_0x55a101,_0x4227bb[_0x1a9492(0x1d0)],{'stage':'verification','succeeded':[{'id':_0x4227bb[_0x1a9492(0x206)],'created':!![]}],'failed':{'id':_0x4227bb[_0x1a9492(0x206)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4227bb[_0x1a9492(0x1f1)],'id':_0x4227bb[_0x1a9492(0x206)],'path':_0x4227bb[_0x1a9492(0x1cd)]},'warnings':['Menu\x20'+_0x4227bb[_0x1a9492(0x206)]+_0x1a9492(0x1a6)],'verification':{'status':_0x1a9492(0x1b1),'targetId':_0x4227bb['createdId'],'lookupCommand':_0x4227bb['lookupCommand']}});}const _0x849d98=_0xcaddca['byId'][_0x1a9492(0x1ac)](_0x4227bb[_0x1a9492(0x206)]);try{if(!_0x849d98)throw menuError(_0x1a9492(0x19c),_0x1a9492(0x1dc)+_0x4227bb['createdId']+_0x1a9492(0x1fa),_0x1a9492(0x1e6)+_0x4227bb[_0x1a9492(0x1e3)]+_0x1a9492(0x1e8));verifyCreatedFact(_0x849d98,_0x4227bb[_0x1a9492(0x206)],_0x4227bb[_0x1a9492(0x1f1)],_0x4227bb[_0x1a9492(0x1cd)]);}catch(_0x3f4631){const _0x391c77=_0x3f4631 instanceof Error&&_0x1a9492(0x1fc)in _0x3f4631?_0x3f4631:menuError(_0x1a9492(0x19c),_0x1a9492(0x1dc)+_0x4227bb[_0x1a9492(0x206)]+_0x1a9492(0x1eb),_0x1a9492(0x1e6)+_0x4227bb[_0x1a9492(0x1e3)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x391c77,_0x4227bb['plan'],{'stage':'verification','succeeded':[{'id':_0x4227bb[_0x1a9492(0x206)],'created':!![]}],'failed':{'id':_0x4227bb[_0x1a9492(0x206)],'finalFactsConfirmed':![]},'after':_0x849d98??{..._0x4227bb[_0x1a9492(0x1f1)],'id':_0x4227bb['createdId'],'path':_0x4227bb[_0x1a9492(0x1cd)]},'warnings':[_0x1a9492(0x1c1)+_0x4227bb[_0x1a9492(0x206)]+_0x1a9492(0x19b)],'verification':{'status':'failed','targetId':_0x4227bb[_0x1a9492(0x206)],'recovered':_0x4227bb['recovered'],'lookupCommand':_0x4227bb[_0x1a9492(0x1e3)]}});}return{'snapshot':_0xcaddca,'fact':_0x849d98};}function verifyCreatedFact(_0x171feb,_0x4edec4,_0x455899,_0x2576b5){const _0x300dc1=a153_0x336667;if(!Number['isSafeInteger'](_0x171feb['id'])||_0x171feb['id']<=0x0||_0x171feb['id']!==_0x4edec4)throw menuError('menu_verification_failed',_0x300dc1(0x20f),_0x300dc1(0x211));const _0x3a5593=[['parent',_0x171feb['parentId'],_0x455899[_0x300dc1(0x196)]],['type',_0x171feb[_0x300dc1(0x208)],_0x455899['type']],[_0x300dc1(0x215),_0x171feb['label'],_0x455899[_0x300dc1(0x215)]],[_0x300dc1(0x1bb),_0x171feb[_0x300dc1(0x1e0)],_0x455899[_0x300dc1(0x1e0)]],['visibility',_0x171feb[_0x300dc1(0x1d6)],_0x455899[_0x300dc1(0x1d6)]],[_0x300dc1(0x21b),_0x171feb[_0x300dc1(0x21b)],_0x455899[_0x300dc1(0x21b)]]];for(const [_0x4a128d,_0x3acfcc,_0x5e218b]of _0x3a5593){if(_0x3acfcc!==_0x5e218b)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x171feb['id']+_0x300dc1(0x192)+_0x4a128d+'.',_0x300dc1(0x1f6));}if(!_0x171feb[_0x300dc1(0x1c0)][_0x300dc1(0x19a)]()||_0x2576b5!==null&&_0x171feb['path']!==_0x2576b5)throw menuError(_0x300dc1(0x19c),_0x300dc1(0x1dc)+_0x171feb['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x300dc1(0x1f6));}function creationSuccess(_0x36c36a,_0x2fa35f,_0x5bcc27,_0x1453a6){const _0x16f341=a153_0x336667,_0x21d73f=mutationResult({..._0x36c36a,'after':_0x5bcc27,'dryRun':![],'succeeded':[{'id':_0x5bcc27['id'],'created':!![],'recovered':_0x1453a6}],'verification':{'checkedBy':_0x16f341(0x1ff),'snapshotHash':_0x2fa35f[_0x16f341(0x1d7)],'targetId':_0x5bcc27['id'],'recovered':_0x1453a6,'path':_0x5bcc27[_0x16f341(0x1c0)]}});return{'ok':!![],'message':_0x1453a6?_0x16f341(0x1a9)+_0x5bcc27['id']+_0x16f341(0x1f7):_0x16f341(0x1f3)+_0x5bcc27['id']+'.','data':{..._0x21d73f,'recovered':_0x1453a6}};}function externalLinkCreateFailure(_0x29e10b,_0x16392f,_0x113e2e){const _0x2fd42e=a153_0x336667;return menuFailure(safeMenuAddError(_0x29e10b),redactFailurePlan(_0x16392f),{..._0x113e2e,'succeeded':_0x113e2e['succeeded']?.[_0x2fd42e(0x1dd)](redactFailureRecord),'failed':_0x113e2e[_0x2fd42e(0x1b1)]?redactFailureRecord(_0x113e2e[_0x2fd42e(0x1b1)]):undefined,'verification':_0x113e2e[_0x2fd42e(0x198)]?redactFailureRecord(_0x113e2e['verification']):undefined,'after':_0x113e2e[_0x2fd42e(0x200)]===undefined?undefined:redactFailureValue(_0x113e2e[_0x2fd42e(0x200)])});}function redactFailurePlan(_0xe6d129){const _0x59c6d7=a153_0x336667;return{..._0xe6d129,'selector':redactFailureRecord(_0xe6d129[_0x59c6d7(0x1c4)]),'before':redactFailureValue(_0xe6d129[_0x59c6d7(0x1c7)]),'after':redactFailureValue(_0xe6d129[_0x59c6d7(0x200)]),'plannedActions':_0xe6d129[_0x59c6d7(0x1d3)]?.['map'](_0x546842=>({..._0x546842,'body':redactFailureRecord(_0x546842['body'])})),'succeeded':_0xe6d129[_0x59c6d7(0x1d8)][_0x59c6d7(0x1dd)](redactFailureRecord),'failed':_0xe6d129[_0x59c6d7(0x1b1)][_0x59c6d7(0x1dd)](redactFailureRecord),'verification':_0xe6d129[_0x59c6d7(0x198)]?redactFailureRecord(_0xe6d129[_0x59c6d7(0x198)]):undefined};}function redactFailureRecord(_0xdf47db){return redactFailureValue(_0xdf47db);}function redactFailureValue(_0x3188f4,_0x40401e=''){const _0x12f99b=a153_0x336667,_0xb8c649=_0x40401e[_0x12f99b(0x214)]()[_0x12f99b(0x1ce)](/[^a-z0-9]/g,'');if(['cause',_0x12f99b(0x20c),_0x12f99b(0x199),_0x12f99b(0x1af)]['includes'](_0xb8c649))return _0x12f99b(0x1aa);if(Array[_0x12f99b(0x21c)](_0x3188f4))return _0x3188f4['map'](_0xef2d5b=>redactFailureValue(_0xef2d5b));if(_0x3188f4&&typeof _0x3188f4===_0x12f99b(0x1bd))return Object[_0x12f99b(0x1cf)](Object[_0x12f99b(0x1d4)](_0x3188f4)[_0x12f99b(0x1dd)](([_0x1dec48,_0x38ec87])=>[_0x1dec48,redactFailureValue(_0x38ec87,_0x1dec48)]));return _0x3188f4;}function safeMenuAddError(_0x2ac44c){const _0x57dfe3=a153_0x336667,_0x26aa8b=_0x2ac44c instanceof CliError?_0x2ac44c[_0x57dfe3(0x1fc)]:_0x57dfe3(0x213);switch(_0x26aa8b){case _0x57dfe3(0x1ec):return menuError(_0x26aa8b,_0x57dfe3(0x207),_0x57dfe3(0x1a4));case _0x57dfe3(0x20d):return menuError(_0x26aa8b,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case'menu_create_response_invalid':return menuError(_0x26aa8b,_0x57dfe3(0x1a7),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x26aa8b,_0x57dfe3(0x1bc),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x57dfe3(0x1f9):return menuError(_0x26aa8b,_0x57dfe3(0x204),_0x57dfe3(0x1fb));case _0x57dfe3(0x213):case _0x57dfe3(0x216):case _0x57dfe3(0x1b5):case'menu_sort_invalid':case _0x57dfe3(0x20a):return menuError(_0x26aa8b,_0x57dfe3(0x210),_0x57dfe3(0x1e2));default:return menuError(_0x57dfe3(0x213),_0x57dfe3(0x210),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0xf4636c){const _0x7e2e05=a153_0x336667;if(!(_0xf4636c instanceof Error)||!(_0x7e2e05(0x1d1)in _0xf4636c))return undefined;const _0x435737=_0xf4636c[_0x7e2e05(0x1d1)];if(!_0x435737||typeof _0x435737!==_0x7e2e05(0x1bd))return undefined;const _0x403284=_0x435737[_0x7e2e05(0x1b1)];if(!Array[_0x7e2e05(0x21c)](_0x403284)||!_0x403284[0x0]||typeof _0x403284[0x0]!==_0x7e2e05(0x1bd))return undefined;return _0x403284[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a154_0xcf7603=a154_0x23ac;(function(_0x198855,_0x361f1a){const _0x466af4=a154_0x23ac,_0x2ddf02=_0x198855();while(!![]){try{const _0x28f84f=-parseInt(_0x466af4(0x1b3))/0x1*(parseInt(_0x466af4(0x1a7))/0x2)+-parseInt(_0x466af4(0x1a9))/0x3*(-parseInt(_0x466af4(0x17e))/0x4)+parseInt(_0x466af4(0x1aa))/0x5+-parseInt(_0x466af4(0x1ad))/0x6*(-parseInt(_0x466af4(0x1c5))/0x7)+-parseInt(_0x466af4(0x1c1))/0x8+parseInt(_0x466af4(0x1b0))/0x9+parseInt(_0x466af4(0x1b4))/0xa*(-parseInt(_0x466af4(0x1cb))/0xb);if(_0x28f84f===_0x361f1a)break;else _0x2ddf02['push'](_0x2ddf02['shift']());}catch(_0x4d7a9b){_0x2ddf02['push'](_0x2ddf02['shift']());}}}(a154_0x1620,0xd5160));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_0xcf7603(0x192),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a154_0xcf7603(0x1ab),'command':'external-link-update','description':a154_0xcf7603(0x1af),'risk':a154_0xcf7603(0x1c2),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a154_0xcf7603(0x189),'type':'string','required':!![],'description':a154_0xcf7603(0x17d)},{'name':'expect-url','type':'string','required':!![],'description':a154_0xcf7603(0x1c8)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x10ea42){validateInput(_0x10ea42);},async 'dryRun'(_0x4e2ef3){const _0x142b31=a154_0xcf7603;validateInput(_0x4e2ef3);const _0x1c7661=await buildPlan(_0x4e2ef3,!![]);return menuDryRunResult(_0x1c7661[_0x142b31(0x1ce)],{'method':'POST','url':_0x142b31(0x1c7),'body':_0x1c7661[_0x142b31(0x193)],'description':_0x142b31(0x18e)+_0x1c7661[_0x142b31(0x193)]['id']+'.'});},async 'execute'(_0x514909){const _0x69774c=a154_0xcf7603;validateInput(_0x514909);const _0x142025=await buildPlan(_0x514909,![]),{plan:_0x2fc203,body:_0x3f1d7a,before:_0x249bd4,noChanges:_0x2be73e}=_0x142025,_0x1dc4e1=_0x3f1d7a['id'];if(_0x2be73e)return updateSuccess(_0x2fc203,_0x142025[_0x69774c(0x17b)],_0x249bd4,!![],![]);await recheckMutationSnapshot(_0x514909,_0x2fc203,'update\x20external\x20menu\x20URL',_0x1dc4e1);try{await updateMenuEntity(_0x514909[_0x69774c(0x197)],_0x514909[_0x69774c(0x17c)],{'id':_0x3f1d7a['id'],'url':_0x3f1d7a[_0x69774c(0x189)]});}catch(_0x4b48d9){const _0x38e5de=mapMenuApiError(_0x4b48d9,'update\x20external\x20menu\x20URL',_0x1dc4e1);if(isMenuResponseLoss(_0x4b48d9)&&_0x38e5de[_0x69774c(0x1b6)]!==_0x69774c(0x1be))return recoverAfterResponseLoss(_0x514909,_0x142025);throw menuFailure(_0x38e5de,_0x2fc203,{'stage':_0x69774c(0x1b5),'failed':{'id':_0x1dc4e1},'warnings':[_0x69774c(0x1a8)],'verification':{'status':_0x69774c(0x180),'targetId':_0x1dc4e1,'lookupCommand':buildLookupCommand(_0x514909['appCode'])}});}let _0x231832,_0xa001ac;try{_0x231832=await fetchMenuSnapshot(_0x514909['appCode'],_0x514909['cookie']),_0xa001ac=requireMenu(_0x231832,_0x1dc4e1),verifyUpdatedFact(_0x249bd4,_0xa001ac,_0x3f1d7a[_0x69774c(0x189)]);}catch(_0x3ad196){const _0x585d00=describeMenuErrorCause(_0x3ad196,_0x69774c(0x19b),_0x1dc4e1),_0x1d0e51=asVerificationError(_0x3ad196,_0x69774c(0x19c)+_0x1dc4e1+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x1d0e51,_0x2fc203,{'stage':_0x69774c(0x1bb),'succeeded':[{'id':_0x1dc4e1,'updateRequested':!![]}],'failed':{'id':_0x1dc4e1,'requestedStateConfirmed':![],..._0x585d00},'warnings':[_0x69774c(0x183)],'verification':{'status':'failed','targetId':_0x1dc4e1,'lookupCommand':buildLookupCommand(_0x514909[_0x69774c(0x197)])}});}return updateSuccess(_0x2fc203,_0x231832,_0xa001ac,![],![]);}};function validateInput(_0x2c0f0e){const _0x27dbb1=a154_0xcf7603;validateExactId(_0x2c0f0e),requiredUrl(_0x2c0f0e,_0x27dbb1(0x189)),requiredExpectedUrl(_0x2c0f0e),parseParentId(_0x2c0f0e,_0x27dbb1(0x17a),{'required':!![]});}function requiredUrl(_0x3af640,_0x263572){const _0x1cfd3a=a154_0xcf7603;if(!hasFlag(_0x3af640,_0x263572)||!_0x3af640[_0x1cfd3a(0x1bf)](_0x263572)[_0x1cfd3a(0x1ae)]())throw CliErrors[_0x1cfd3a(0x1b9)](_0x263572);return validateExternalMenuUrl(_0x3af640[_0x1cfd3a(0x1bf)](_0x263572));}function requiredExpectedUrl(_0x1c5332){const _0x473bbe=a154_0xcf7603;if(!hasFlag(_0x1c5332,_0x473bbe(0x1c3))||!_0x1c5332['str']('expect-url')[_0x473bbe(0x1ae)]())throw CliErrors[_0x473bbe(0x1b9)](_0x473bbe(0x1c3));return _0x1c5332[_0x473bbe(0x1bf)]('expect-url')[_0x473bbe(0x1ae)]();}function a154_0x23ac(_0x2688cb,_0x4b901c){_0x2688cb=_0x2688cb-0x178;const _0x1620db=a154_0x1620();let _0x23ac71=_0x1620db[_0x2688cb];return _0x23ac71;}function a154_0x1620(){const _0x4a29f7=['menu_state_drift','menu_external_link_path_missing','90911DWkdTq','14897690xQAaQD','update','code','label','\x20changed\x20during\x20the\x20URL-only\x20update.','flagMissing','visible','verification','\x20URL\x20update\x20did\x20not\x20take\x20effect.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','menu_permission_denied','str','\x20direct\x20child\x20menu(s).','3441368MhtlIl','write','expect-url','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','98651oTXoxd','\x20has\x20an\x20empty\x20platform\x20path.','/smartapi/menu/update','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20already\x20matches\x20the\x20requested\x20URL.','readbackFailed','11RNbsyj','rabetbase\x20menu\x20list\x20--appcode\x20','update-recovery','plan','childrenCount','update-external-link-url','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','external-link-update','expect-parent-id','snapshot','cookie','New\x20external\x20HTTPS\x20URL','10736smnluC','sort','failed','Updated\x20external\x20URL\x20for\x20menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','replace','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','hash','update\x20external\x20menu\x20URL','unknown','url','\x20has\x20','\x20parent\x20changed:\x20expected\x20','menu_external_link_type_required','menu_update_recovery_required','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x27\x5c\x27\x27','after','\x20--format\x20compress','POST','body','parentId','type','requestedUrlObserved','appCode','link','path','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','verify\x20external\x20menu\x20URL\x20update','Update\x20request\x20for\x20menu\x20','menu_external_link_not_leaf','menu\x20list',',\x20current\x20','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x22,\x20not\x20iframe\x20or\x20link.','get','Menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','iframe','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','10udwAuw','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','435TGNMXs','6907045vhRWkd','menu','\x20could\x20not\x20be\x20verified\x20safely','354tZkDPW','trim','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','5806971gqgxCg'];a154_0x1620=function(){return _0x4a29f7;};return a154_0x1620();}async function buildPlan(_0x46e48c,_0x39a7ba){const _0x473a02=a154_0xcf7603,_0x387af7=validateExactId(_0x46e48c),_0x149832=requiredUrl(_0x46e48c,_0x473a02(0x189)),_0x23c214=requiredExpectedUrl(_0x46e48c),_0x11765d=parseParentId(_0x46e48c,_0x473a02(0x17a),{'required':!![]}),_0x481148=await fetchMutationSnapshot(_0x46e48c,_0x473a02(0x187),_0x387af7),_0x37f84f=requireMenu(_0x481148,_0x387af7);assertExternalLinkLeaf(_0x37f84f);if(_0x37f84f[_0x473a02(0x194)]!==_0x11765d)throw menuError(_0x473a02(0x1b1),_0x473a02(0x1a3)+_0x387af7+_0x473a02(0x18b)+formatParent(_0x11765d)+_0x473a02(0x19f)+formatParent(_0x37f84f['parentId'])+'.',_0x473a02(0x182));const _0x1fb6fe=_0x37f84f['url']===_0x149832;if(!_0x1fb6fe&&_0x37f84f[_0x473a02(0x189)]!==_0x23c214)throw menuError(_0x473a02(0x1b1),'Menu\x20'+_0x387af7+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x3af25d={'id':_0x387af7,'appCode':_0x46e48c[_0x473a02(0x197)],'url':_0x149832},_0x1c64ff={..._0x37f84f,'url':_0x149832};return{'body':_0x3af25d,'before':_0x37f84f,'noChanges':_0x1fb6fe,'snapshot':_0x481148,'plan':mutationResult({'operation':_0x473a02(0x179),'selector':{'id':_0x387af7},'before':_0x37f84f,'after':_0x1c64ff,'dryRun':_0x39a7ba,'backend':[...BACKEND],'plannedActions':_0x1fb6fe?[]:[{'stage':_0x473a02(0x1d0),'method':_0x473a02(0x192),'path':_0x473a02(0x1c7),'body':_0x3af25d}],'snapshotHash':_0x481148[_0x473a02(0x186)],'warnings':_0x1fb6fe?[_0x473a02(0x1a4)]:[]})};}function assertExternalLinkLeaf(_0x629007){const _0x49ac78=a154_0xcf7603;if(_0x629007[_0x49ac78(0x195)]!==_0x49ac78(0x1a5)&&_0x629007[_0x49ac78(0x195)]!==_0x49ac78(0x198))throw menuError(_0x49ac78(0x18c),_0x49ac78(0x1a3)+_0x629007['id']+'\x20is\x20type\x20\x22'+(_0x629007[_0x49ac78(0x195)]||_0x49ac78(0x188))+_0x49ac78(0x1a1),_0x49ac78(0x1a6));if(_0x629007[_0x49ac78(0x1cf)]!==0x0)throw menuError(_0x49ac78(0x19d),_0x49ac78(0x1a3)+_0x629007['id']+_0x49ac78(0x18a)+_0x629007['childrenCount']+_0x49ac78(0x1c0),_0x49ac78(0x185));if(!_0x629007[_0x49ac78(0x199)][_0x49ac78(0x1ae)]())throw menuError(_0x49ac78(0x1b2),_0x49ac78(0x1a3)+_0x629007['id']+_0x49ac78(0x1c6),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x31446c,_0x4aa85b,_0x15cf03){const _0x34c413=a154_0xcf7603;assertExternalLinkLeaf(_0x4aa85b);const _0x37e309=[['id',_0x4aa85b['id'],_0x31446c['id']],[_0x34c413(0x1b7),_0x4aa85b[_0x34c413(0x1b7)],_0x31446c[_0x34c413(0x1b7)]],[_0x34c413(0x195),_0x4aa85b[_0x34c413(0x195)],_0x31446c[_0x34c413(0x195)]],['path',_0x4aa85b['path'],_0x31446c[_0x34c413(0x199)]],[_0x34c413(0x194),_0x4aa85b[_0x34c413(0x194)],_0x31446c[_0x34c413(0x194)]],[_0x34c413(0x17f),_0x4aa85b[_0x34c413(0x17f)],_0x31446c[_0x34c413(0x17f)]],[_0x34c413(0x1ba),_0x4aa85b['visible'],_0x31446c['visible']]];for(const [_0x41b229,_0x23a5a0,_0x3e24e9]of _0x37e309){assertVerified(_0x23a5a0===_0x3e24e9,_0x34c413(0x1a3)+_0x31446c['id']+'\x20'+_0x41b229+_0x34c413(0x1b8));}assertVerified(_0x4aa85b['url']===_0x15cf03,_0x34c413(0x1a3)+_0x31446c['id']+_0x34c413(0x1bc));}function updateSuccess(_0x40ddad,_0x59bd95,_0x4d5ce2,_0x15bdec,_0x1285ee){const _0x2812d9=a154_0xcf7603,_0x1ae0f1=_0x4d5ce2['id'],_0x1fdb5f=mutationResult({..._0x40ddad,'after':_0x4d5ce2,'dryRun':![],'succeeded':[{'id':_0x1ae0f1,'updated':!_0x15bdec,'skipped':_0x15bdec,'recovered':_0x1285ee}],'verification':{'checkedBy':_0x2812d9(0x19e),'snapshotHash':_0x59bd95[_0x2812d9(0x186)],'targetId':_0x1ae0f1,'matchesRequestedState':!![],'recovered':_0x1285ee}});return{'ok':!![],'message':_0x1285ee?_0x2812d9(0x1a0)+_0x1ae0f1+'.':_0x15bdec?_0x2812d9(0x1a3)+_0x1ae0f1+_0x2812d9(0x1c9):_0x2812d9(0x181)+_0x1ae0f1+'.','data':{..._0x1fdb5f,'recovered':_0x1285ee}};}async function recoverAfterResponseLoss(_0x5d9531,_0x8f34b2){const _0x342606=a154_0xcf7603,{plan:_0x47dd31,before:_0x273ef9,body:_0xaae55b}=_0x8f34b2;let _0x38969f;try{_0x38969f=await fetchMenuSnapshot(_0x5d9531[_0x342606(0x197)],_0x5d9531['cookie']);}catch{throw recoveryRequired(_0x47dd31,_0x5d9531[_0x342606(0x197)],{'id':_0xaae55b['id'],'readbackFailed':!![]});}const _0x42d873=_0x38969f['byId'][_0x342606(0x1a2)](_0xaae55b['id']);if(!_0x42d873||_0x42d873[_0x342606(0x189)]!==_0xaae55b[_0x342606(0x189)])throw recoveryRequired(_0x47dd31,_0x5d9531[_0x342606(0x197)],{'id':_0xaae55b['id'],'requestedUrlObserved':![],'after':_0x42d873??null});try{verifyUpdatedFact(_0x273ef9,_0x42d873,_0xaae55b[_0x342606(0x189)]);}catch(_0x37c442){const _0xaafd65=asVerificationError(_0x37c442,'Response\x20was\x20lost\x20and\x20menu\x20'+_0xaae55b['id']+_0x342606(0x1ac));throw menuFailure(_0xaafd65,_0x47dd31,{'stage':_0x342606(0x1cd),'succeeded':[{'id':_0xaae55b['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xaae55b['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x42d873,'warnings':[_0x342606(0x1c4)],'verification':{'status':_0x342606(0x180),'targetId':_0xaae55b['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5d9531[_0x342606(0x197)])}});}return updateSuccess(_0x47dd31,_0x38969f,_0x42d873,![],!![]);}function recoveryRequired(_0x3ec21a,_0x7e2fa1,_0x167995){const _0x18ee57=a154_0xcf7603,_0x14ef39=menuError(_0x18ee57(0x18d),_0x18ee57(0x178),'Run\x20'+buildLookupCommand(_0x7e2fa1)+_0x18ee57(0x1bd));return menuFailure(_0x14ef39,_0x3ec21a,{'stage':_0x18ee57(0x1cd),'failed':{'id':_0x167995['id'],..._0x167995[_0x18ee57(0x196)]===undefined?{}:{'requestedUrlObserved':_0x167995[_0x18ee57(0x196)]},..._0x167995[_0x18ee57(0x1ca)]?{'readbackFailed':!![]}:{}},'after':_0x167995[_0x18ee57(0x190)],'warnings':[_0x18ee57(0x19a)],'verification':{'status':'failed','targetId':_0x167995['id'],..._0x167995[_0x18ee57(0x196)]===undefined?{}:{'requestedUrlObserved':_0x167995[_0x18ee57(0x196)]},..._0x167995[_0x18ee57(0x1ca)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x7e2fa1)}});}function buildLookupCommand(_0xe67a2b){const _0x2a2ce9=a154_0xcf7603,_0x24ec77='\x27'+_0xe67a2b[_0x2a2ce9(0x184)](/'/g,_0x2a2ce9(0x18f))+'\x27';return _0x2a2ce9(0x1cc)+_0x24ec77+_0x2a2ce9(0x191);}
|
|
1
|
+
const a154_0x179e3b=a154_0x128d;(function(_0x2b136f,_0x1352d0){const _0x3e570d=a154_0x128d,_0xea27a0=_0x2b136f();while(!![]){try{const _0x2305ef=-parseInt(_0x3e570d(0x136))/0x1+-parseInt(_0x3e570d(0x101))/0x2+parseInt(_0x3e570d(0x110))/0x3+parseInt(_0x3e570d(0x117))/0x4+parseInt(_0x3e570d(0x119))/0x5*(parseInt(_0x3e570d(0x149))/0x6)+parseInt(_0x3e570d(0x13a))/0x7*(parseInt(_0x3e570d(0x10c))/0x8)+parseInt(_0x3e570d(0x13b))/0x9*(-parseInt(_0x3e570d(0x10a))/0xa);if(_0x2305ef===_0x1352d0)break;else _0xea27a0['push'](_0xea27a0['shift']());}catch(_0x4e4af3){_0xea27a0['push'](_0xea27a0['shift']());}}}(a154_0x10d3,0x9a2e4));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 a154_0x10d3(){const _0x3aa051=['parentId','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','after','\x20changed\x20during\x20the\x20URL-only\x20update.','get','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','cookie','6735220lZmvcj','menu_external_link_not_leaf','9138104VmgcJT','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','string','3599574ICAAuW','plan','\x20is\x20type\x20\x22','menu_external_link_type_required','str','update\x20external\x20menu\x20URL','menu_permission_denied','782288Hmkgqc','replace','605ijRYMr','flagMissing',',\x20current\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','menu\x20list','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','iframe','Run\x20','expect-url','POST','\x20has\x20','Response\x20was\x20lost\x20and\x20menu\x20','appCode','update-recovery','trim','menu_external_link_path_missing','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20could\x20not\x20be\x20verified\x20safely','link','byId','verify\x20external\x20menu\x20URL\x20update','type','write','visible','/smartapi/menu/update','sort','1247995nXJakb','hash','\x27\x5c\x27\x27','url','7xjDKSC','9AlxsRs','Menu\x20','expect-parent-id','failed','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20already\x20matches\x20the\x20requested\x20URL.','menu_update_recovery_required','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','body','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x22,\x20not\x20iframe\x20or\x20link.','snapshot','58170fRvpzx','label','code','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','Update\x20request\x20for\x20menu\x20','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','childrenCount','update-external-link-url','requestedUrlObserved','path','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Updated\x20external\x20URL\x20for\x20menu\x20','unknown','2315494UXpybl','readbackFailed'];a154_0x10d3=function(){return _0x3aa051;};return a154_0x10d3();}const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a154_0x179e3b(0x11f),'risk':a154_0x179e3b(0x132),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a154_0x179e3b(0x139),'type':'string','required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a154_0x179e3b(0x123),'type':a154_0x179e3b(0x10f),'required':!![],'description':a154_0x179e3b(0x108)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1df5c4){validateInput(_0x1df5c4);},async 'dryRun'(_0x4a441e){const _0x37622b=a154_0x179e3b;validateInput(_0x4a441e);const _0x1d1ef3=await buildPlan(_0x4a441e,!![]);return menuDryRunResult(_0x1d1ef3[_0x37622b(0x111)],{'method':_0x37622b(0x124),'url':'/smartapi/menu/update','body':_0x1d1ef3[_0x37622b(0x145)],'description':_0x37622b(0x14c)+_0x1d1ef3['body']['id']+'.'});},async 'execute'(_0x5ee039){const _0x34b278=a154_0x179e3b;validateInput(_0x5ee039);const _0x399e38=await buildPlan(_0x5ee039,![]),{plan:_0x4838e1,body:_0x14802f,before:_0x25771d,noChanges:_0x34e9b6}=_0x399e38,_0x2a3491=_0x14802f['id'];if(_0x34e9b6)return updateSuccess(_0x4838e1,_0x399e38[_0x34b278(0x148)],_0x25771d,!![],![]);await recheckMutationSnapshot(_0x5ee039,_0x4838e1,_0x34b278(0x115),_0x2a3491);try{await updateMenuEntity(_0x5ee039[_0x34b278(0x127)],_0x5ee039[_0x34b278(0x109)],{'id':_0x14802f['id'],'url':_0x14802f[_0x34b278(0x139)]});}catch(_0x4fae51){const _0x52be68=mapMenuApiError(_0x4fae51,_0x34b278(0x115),_0x2a3491);if(isMenuResponseLoss(_0x4fae51)&&_0x52be68[_0x34b278(0x14b)]!==_0x34b278(0x116))return recoverAfterResponseLoss(_0x5ee039,_0x399e38);throw menuFailure(_0x52be68,_0x4838e1,{'stage':'update','failed':{'id':_0x2a3491},'warnings':[_0x34b278(0x12c)],'verification':{'status':_0x34b278(0x13e),'targetId':_0x2a3491,'lookupCommand':buildLookupCommand(_0x5ee039[_0x34b278(0x127)])}});}let _0xf456b4,_0x55d0f0;try{_0xf456b4=await fetchMenuSnapshot(_0x5ee039['appCode'],_0x5ee039[_0x34b278(0x109)]),_0x55d0f0=requireMenu(_0xf456b4,_0x2a3491),verifyUpdatedFact(_0x25771d,_0x55d0f0,_0x14802f['url']);}catch(_0x4795b9){const _0x2cdd64=describeMenuErrorCause(_0x4795b9,_0x34b278(0x130),_0x2a3491),_0x140660=asVerificationError(_0x4795b9,_0x34b278(0x14d)+_0x2a3491+_0x34b278(0xfe));throw menuFailure(_0x140660,_0x4838e1,{'stage':'verification','succeeded':[{'id':_0x2a3491,'updateRequested':!![]}],'failed':{'id':_0x2a3491,'requestedStateConfirmed':![],..._0x2cdd64},'warnings':[_0x34b278(0x140)],'verification':{'status':_0x34b278(0x13e),'targetId':_0x2a3491,'lookupCommand':buildLookupCommand(_0x5ee039['appCode'])}});}return updateSuccess(_0x4838e1,_0xf456b4,_0x55d0f0,![],![]);}};function validateInput(_0x495570){const _0x4d849e=a154_0x179e3b;validateExactId(_0x495570),requiredUrl(_0x495570,'url'),requiredExpectedUrl(_0x495570),parseParentId(_0x495570,_0x4d849e(0x13d),{'required':!![]});}function requiredUrl(_0x2cd742,_0x1afb1d){const _0x41ea43=a154_0x179e3b;if(!hasFlag(_0x2cd742,_0x1afb1d)||!_0x2cd742[_0x41ea43(0x114)](_0x1afb1d)[_0x41ea43(0x129)]())throw CliErrors[_0x41ea43(0x11a)](_0x1afb1d);return validateExternalMenuUrl(_0x2cd742[_0x41ea43(0x114)](_0x1afb1d));}function requiredExpectedUrl(_0x17ea06){const _0x4ac7f=a154_0x179e3b;if(!hasFlag(_0x17ea06,_0x4ac7f(0x123))||!_0x17ea06[_0x4ac7f(0x114)](_0x4ac7f(0x123))['trim']())throw CliErrors[_0x4ac7f(0x11a)](_0x4ac7f(0x123));return _0x17ea06[_0x4ac7f(0x114)]('expect-url')['trim']();}async function buildPlan(_0x205a87,_0x609dba){const _0x395717=a154_0x179e3b,_0x416cce=validateExactId(_0x205a87),_0x39d2f5=requiredUrl(_0x205a87,_0x395717(0x139)),_0xb7c336=requiredExpectedUrl(_0x205a87),_0x464ca8=parseParentId(_0x205a87,_0x395717(0x13d),{'required':!![]}),_0x13a1e5=await fetchMutationSnapshot(_0x205a87,_0x395717(0x115),_0x416cce),_0x2514d4=requireMenu(_0x13a1e5,_0x416cce);assertExternalLinkLeaf(_0x2514d4);if(_0x2514d4[_0x395717(0x103)]!==_0x464ca8)throw menuError('menu_state_drift',_0x395717(0x13c)+_0x416cce+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x464ca8)+_0x395717(0x11b)+formatParent(_0x2514d4[_0x395717(0x103)])+'.',_0x395717(0x10d));const _0x1b35c6=_0x2514d4[_0x395717(0x139)]===_0x39d2f5;if(!_0x1b35c6&&_0x2514d4['url']!==_0xb7c336)throw menuError('menu_state_drift',_0x395717(0x13c)+_0x416cce+_0x395717(0x12b),_0x395717(0x10e));const _0x456064={'id':_0x416cce,'appCode':_0x205a87['appCode'],'url':_0x39d2f5},_0x305c58={..._0x2514d4,'url':_0x39d2f5};return{'body':_0x456064,'before':_0x2514d4,'noChanges':_0x1b35c6,'snapshot':_0x13a1e5,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x416cce},'before':_0x2514d4,'after':_0x305c58,'dryRun':_0x609dba,'backend':[...BACKEND],'plannedActions':_0x1b35c6?[]:[{'stage':_0x395717(0x150),'method':_0x395717(0x124),'path':_0x395717(0x134),'body':_0x456064}],'snapshotHash':_0x13a1e5[_0x395717(0x137)],'warnings':_0x1b35c6?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x4c7206){const _0x137af8=a154_0x179e3b;if(_0x4c7206[_0x137af8(0x131)]!==_0x137af8(0x121)&&_0x4c7206[_0x137af8(0x131)]!==_0x137af8(0x12e))throw menuError(_0x137af8(0x113),_0x137af8(0x13c)+_0x4c7206['id']+_0x137af8(0x112)+(_0x4c7206[_0x137af8(0x131)]||_0x137af8(0x100))+_0x137af8(0x147),_0x137af8(0x144));if(_0x4c7206[_0x137af8(0x14f)]!==0x0)throw menuError(_0x137af8(0x10b),_0x137af8(0x13c)+_0x4c7206['id']+_0x137af8(0x125)+_0x4c7206[_0x137af8(0x14f)]+'\x20direct\x20child\x20menu(s).',_0x137af8(0x146));if(!_0x4c7206[_0x137af8(0x152)][_0x137af8(0x129)]())throw menuError(_0x137af8(0x12a),_0x137af8(0x13c)+_0x4c7206['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x137af8(0x141));}function verifyUpdatedFact(_0xc77290,_0xd66e86,_0x3aa598){const _0x408173=a154_0x179e3b;assertExternalLinkLeaf(_0xd66e86);const _0x588eba=[['id',_0xd66e86['id'],_0xc77290['id']],[_0x408173(0x14a),_0xd66e86[_0x408173(0x14a)],_0xc77290[_0x408173(0x14a)]],[_0x408173(0x131),_0xd66e86[_0x408173(0x131)],_0xc77290[_0x408173(0x131)]],[_0x408173(0x152),_0xd66e86[_0x408173(0x152)],_0xc77290['path']],[_0x408173(0x103),_0xd66e86[_0x408173(0x103)],_0xc77290['parentId']],[_0x408173(0x135),_0xd66e86[_0x408173(0x135)],_0xc77290[_0x408173(0x135)]],['visible',_0xd66e86[_0x408173(0x133)],_0xc77290[_0x408173(0x133)]]];for(const [_0x396a61,_0x2da893,_0xffcd5a]of _0x588eba){assertVerified(_0x2da893===_0xffcd5a,_0x408173(0x13c)+_0xc77290['id']+'\x20'+_0x396a61+_0x408173(0x106));}assertVerified(_0xd66e86['url']===_0x3aa598,_0x408173(0x13c)+_0xc77290['id']+_0x408173(0x11e));}function updateSuccess(_0x312af9,_0x56f885,_0x23a1c7,_0x176437,_0x2c737f){const _0x34b2d1=a154_0x179e3b,_0x4066d6=_0x23a1c7['id'],_0x1e2afd=mutationResult({..._0x312af9,'after':_0x23a1c7,'dryRun':![],'succeeded':[{'id':_0x4066d6,'updated':!_0x176437,'skipped':_0x176437,'recovered':_0x2c737f}],'verification':{'checkedBy':_0x34b2d1(0x11d),'snapshotHash':_0x56f885[_0x34b2d1(0x137)],'targetId':_0x4066d6,'matchesRequestedState':!![],'recovered':_0x2c737f}});return{'ok':!![],'message':_0x2c737f?_0x34b2d1(0x120)+_0x4066d6+'.':_0x176437?_0x34b2d1(0x13c)+_0x4066d6+_0x34b2d1(0x142):_0x34b2d1(0xff)+_0x4066d6+'.','data':{..._0x1e2afd,'recovered':_0x2c737f}};}function a154_0x128d(_0x3735f5,_0x4dbb38){_0x3735f5=_0x3735f5-0xfe;const _0x10d31e=a154_0x10d3();let _0x128d19=_0x10d31e[_0x3735f5];return _0x128d19;}async function recoverAfterResponseLoss(_0x283807,_0x171656){const _0x56f8a4=a154_0x179e3b,{plan:_0x1cd974,before:_0x462573,body:_0x363894}=_0x171656;let _0x532550;try{_0x532550=await fetchMenuSnapshot(_0x283807[_0x56f8a4(0x127)],_0x283807[_0x56f8a4(0x109)]);}catch{throw recoveryRequired(_0x1cd974,_0x283807['appCode'],{'id':_0x363894['id'],'readbackFailed':!![]});}const _0x3866bf=_0x532550[_0x56f8a4(0x12f)][_0x56f8a4(0x107)](_0x363894['id']);if(!_0x3866bf||_0x3866bf[_0x56f8a4(0x139)]!==_0x363894[_0x56f8a4(0x139)])throw recoveryRequired(_0x1cd974,_0x283807[_0x56f8a4(0x127)],{'id':_0x363894['id'],'requestedUrlObserved':![],'after':_0x3866bf??null});try{verifyUpdatedFact(_0x462573,_0x3866bf,_0x363894[_0x56f8a4(0x139)]);}catch(_0x51760b){const _0xac1896=asVerificationError(_0x51760b,_0x56f8a4(0x126)+_0x363894['id']+_0x56f8a4(0x12d));throw menuFailure(_0xac1896,_0x1cd974,{'stage':_0x56f8a4(0x128),'succeeded':[{'id':_0x363894['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x363894['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3866bf,'warnings':[_0x56f8a4(0x13f)],'verification':{'status':_0x56f8a4(0x13e),'targetId':_0x363894['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x283807[_0x56f8a4(0x127)])}});}return updateSuccess(_0x1cd974,_0x532550,_0x3866bf,![],!![]);}function recoveryRequired(_0x2e4826,_0x2fc669,_0x11272c){const _0x140fa2=a154_0x179e3b,_0x5a9590=menuError(_0x140fa2(0x143),_0x140fa2(0x14e),_0x140fa2(0x122)+buildLookupCommand(_0x2fc669)+_0x140fa2(0x104));return menuFailure(_0x5a9590,_0x2e4826,{'stage':'update-recovery','failed':{'id':_0x11272c['id'],..._0x11272c[_0x140fa2(0x151)]===undefined?{}:{'requestedUrlObserved':_0x11272c[_0x140fa2(0x151)]},..._0x11272c['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x11272c[_0x140fa2(0x105)],'warnings':[_0x140fa2(0x11c)],'verification':{'status':'failed','targetId':_0x11272c['id'],..._0x11272c['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x11272c[_0x140fa2(0x151)]},..._0x11272c[_0x140fa2(0x102)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x2fc669)}});}function buildLookupCommand(_0xc677b9){const _0xe739d7=a154_0x179e3b,_0x3ce46d='\x27'+_0xc677b9[_0xe739d7(0x118)](/'/g,_0xe739d7(0x138))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3ce46d+'\x20--format\x20compress';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a155_0x1337ab=a155_0x1ef4;(function(_0x19e2bf,_0x2d6a0c){const _0x52c852=a155_0x1ef4,_0x132dd3=_0x19e2bf();while(!![]){try{const _0x3b0bec=-parseInt(_0x52c852(0x20f))/0x1*(-parseInt(_0x52c852(0x21d))/0x2)+-parseInt(_0x52c852(0x220))/0x3*(parseInt(_0x52c852(0x212))/0x4)+parseInt(_0x52c852(0x1fc))/0x5*(-parseInt(_0x52c852(0x21b))/0x6)+parseInt(_0x52c852(0x1f6))/0x7+parseInt(_0x52c852(0x21c))/0x8*(parseInt(_0x52c852(0x1f1))/0x9)+-parseInt(_0x52c852(0x206))/0xa+-parseInt(_0x52c852(0x1f7))/0xb*(parseInt(_0x52c852(0x205))/0xc);if(_0x3b0bec===_0x2d6a0c)break;else _0x132dd3['push'](_0x132dd3['shift']());}catch(_0x25f262){_0x132dd3['push'](_0x132dd3['shift']());}}}(a155_0x471f,0x2d3fa));function a155_0x1ef4(_0xa257d8,_0xaef54){_0xa257d8=_0xa257d8-0x1e8;const _0x471ffc=a155_0x471f();let _0x1ef4de=_0x471ffc[_0xa257d8];return _0x1ef4de;}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';function a155_0x471f(){const _0x3dd75c=['Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','2225604oYLpDS','1001150gvSMNM','sort','trim','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','childrenCount','\x22\x20with\x20a\x20platform-generated\x20path.','\x20is\x20not\x20empty.','byId','str','16953uQwerl','get','<platform-generated>','9644YJqwtw','verify\x20folder\x20creation','create-response-validation','verification','type','cookie','failed','after','appCode','1135146XPNWzE','96gVLEXs','38ZeVfff','flagMissing','parent-id','186SvxdeQ','hash','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Folder\x20label','menu\x20list','group-create','isSafeInteger','\x20has\x20resources.','\x20unexpectedly\x20owns\x20a\x20page.','\x20is\x20not\x20visible.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','create-folder','menu_create_response_invalid','path','\x20is\x20not\x20type\x20folder.','resources','POST','stringify','string','rabetbase\x20menu\x20list\x20--format\x20json','depth','215937ZmBkwq','folder','Folder\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','menu','1396990XDbREY','11zBUMKz','\x20has\x20an\x20unexpected\x20label.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','parentId','\x20has\x20an\x20unexpected\x20sort.','5APXygI','\x20is\x20missing\x20from\x20menu\x20list.','Created\x20folder\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','/smartapi/menu/create','create\x20folder','label','\x20has\x20unexpected\x20parent\x20'];a155_0x471f=function(){return _0x3dd75c;};return a155_0x471f();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a155_0x1337ab(0x200)}];export const menuGroupCreate={'service':a155_0x1337ab(0x1f5),'command':a155_0x1337ab(0x227),'description':a155_0x1337ab(0x224),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a155_0x1337ab(0x1ee),'required':!![],'description':a155_0x1337ab(0x225)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1fda36){validateCreateInput(_0x1fda36);},async 'dryRun'(_0x19baf6){const _0x3cf871=a155_0x1337ab,_0x214ffa=await buildCreatePlan(_0x19baf6,!![]),_0x1e60d1=_0x214ffa[_0x3cf871(0x219)];return menuDryRunResult(_0x214ffa,{'method':_0x3cf871(0x1ec),'url':_0x3cf871(0x200),'body':{'parentId':toApiParentId(_0x1e60d1['parentId']),'label':_0x1e60d1['label'],'type':_0x3cf871(0x1f2),'visible':!![],'sort':_0x1e60d1[_0x3cf871(0x207)],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x1e60d1[_0x3cf871(0x202)])+_0x3cf871(0x20b)});},async 'execute'(_0x23062d){const _0x56f273=a155_0x1337ab;validateCreateInput(_0x23062d);const _0x45bc38=await buildCreatePlan(_0x23062d,![]),_0x463a70=_0x45bc38[_0x56f273(0x219)];await recheckMutationSnapshot(_0x23062d,_0x45bc38,'create\x20folder');let _0x162ac0;try{_0x162ac0=await createMenuEntity(_0x23062d[_0x56f273(0x21a)],_0x23062d[_0x56f273(0x217)],{'parentId':toApiParentId(_0x463a70['parentId']),'label':String(_0x463a70['label']),'type':_0x56f273(0x1f2),'visible':!![],'sort':Number(_0x463a70[_0x56f273(0x207)]),'extend':{}});}catch(_0x17534a){const _0x4c0002=mapMenuApiError(_0x17534a,'create\x20folder');throw menuFailure(_0x4c0002,_0x45bc38,{'stage':'create','failed':{}});}const _0x4895d8=Number(_0x162ac0['id']);if(!Number[_0x56f273(0x228)](_0x4895d8)||_0x4895d8<=0x0){const _0x30b487=menuError('menu_create_response_invalid',_0x56f273(0x204),_0x56f273(0x1ff));throw menuFailure(_0x30b487,_0x45bc38,{'stage':_0x56f273(0x214),'failed':{'createdId':_0x162ac0['id']??null},'warnings':[_0x56f273(0x1f4)],'verification':{'status':_0x56f273(0x218),'lookupCommand':_0x56f273(0x1ef)}});}const _0x25cf53=typeof _0x162ac0[_0x56f273(0x1e9)]===_0x56f273(0x1ee)?_0x162ac0[_0x56f273(0x1e9)]:'';if(!_0x25cf53[_0x56f273(0x208)]()){const _0x141415=menuError(_0x56f273(0x1e8),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x4895d8+_0x56f273(0x1f9),_0x56f273(0x222));throw menuFailure(_0x141415,_0x45bc38,{'stage':_0x56f273(0x214),'succeeded':[{'id':_0x4895d8,'created':!![]}],'failed':{'id':_0x4895d8,'generatedPathConfirmed':![]},'warnings':[_0x56f273(0x1f3)+_0x4895d8+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x463a70,'id':_0x4895d8,'path':_0x25cf53},'verification':{'status':_0x56f273(0x218),'lookupCommand':_0x56f273(0x1ef),'targetId':_0x4895d8}});}let _0x14ab35;try{_0x14ab35=await fetchMenuSnapshot(_0x23062d[_0x56f273(0x21a)],_0x23062d[_0x56f273(0x217)]);}catch(_0x1f2849){const _0x24be42=describeMenuErrorCause(_0x1f2849,'verify\x20folder\x20creation',_0x4895d8),_0x30a649=asVerificationError(_0x1f2849,_0x56f273(0x1f3)+_0x4895d8+_0x56f273(0x22c));throw menuFailure(_0x30a649,_0x45bc38,{'stage':_0x56f273(0x215),'succeeded':[{'id':_0x4895d8,'created':!![],'path':_0x25cf53}],'failed':{'id':_0x4895d8,'finalFactsConfirmed':![],..._0x24be42},'warnings':[_0x56f273(0x1f3)+_0x4895d8+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON[_0x56f273(0x1ed)](_0x25cf53)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x463a70,'id':_0x4895d8,'path':_0x25cf53},'verification':{'status':_0x56f273(0x218),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4895d8}});}const _0x1ebfaa=_0x14ab35[_0x56f273(0x20d)][_0x56f273(0x210)](_0x4895d8);let _0x1cfe00;try{assertVerified(Boolean(_0x1ebfaa),_0x56f273(0x1fe)+_0x4895d8+_0x56f273(0x1fd)),_0x1cfe00=_0x1ebfaa,assertVerified(_0x1cfe00[_0x56f273(0x216)]===_0x56f273(0x1f2),'Created\x20menu\x20'+_0x4895d8+_0x56f273(0x1ea)),assertVerified(_0x1cfe00[_0x56f273(0x202)]===_0x463a70[_0x56f273(0x202)],'Created\x20folder\x20'+_0x4895d8+_0x56f273(0x1f8)),assertVerified(_0x1cfe00[_0x56f273(0x1e9)]===_0x25cf53&&Boolean(_0x1cfe00[_0x56f273(0x1e9)]['trim']()),_0x56f273(0x1fe)+_0x4895d8+_0x56f273(0x223)),assertVerified(_0x1cfe00['visible']===!![],_0x56f273(0x1fe)+_0x4895d8+_0x56f273(0x22b)),assertVerified(_0x1cfe00[_0x56f273(0x1eb)]['length']===0x0,'Created\x20folder\x20'+_0x4895d8+_0x56f273(0x229)),assertVerified(_0x1cfe00[_0x56f273(0x20a)]===0x0,_0x56f273(0x1fe)+_0x4895d8+_0x56f273(0x20c)),assertVerified(_0x1cfe00[_0x56f273(0x207)]===_0x463a70[_0x56f273(0x207)],'Created\x20folder\x20'+_0x4895d8+_0x56f273(0x1fb)),assertVerified(_0x1cfe00[_0x56f273(0x1fa)]===_0x463a70['parentId'],'Created\x20folder\x20'+_0x4895d8+_0x56f273(0x203)+(_0x1cfe00[_0x56f273(0x1fa)]??'root')+'.'),assertVerified(_0x1cfe00['pageId']==null,_0x56f273(0x1fe)+_0x4895d8+_0x56f273(0x22a));const _0x3c2ff7=_0x1cfe00[_0x56f273(0x1fa)]==null?undefined:requireFolder(_0x14ab35,_0x1cfe00[_0x56f273(0x1fa)]);assertVerified(_0x1cfe00[_0x56f273(0x1f0)]===(_0x3c2ff7?_0x3c2ff7['depth']+0x1:0x0),_0x56f273(0x1fe)+_0x4895d8+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x5ddd43){const _0x532e01=describeMenuErrorCause(_0x5ddd43,_0x56f273(0x213),_0x4895d8),_0x2b8ff0=asVerificationError(_0x5ddd43,'Folder\x20'+_0x4895d8+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x2b8ff0,_0x45bc38,{'stage':_0x56f273(0x215),'succeeded':[{'id':_0x4895d8,'created':!![],'path':_0x25cf53}],'failed':{'id':_0x4895d8,'finalFactsConfirmed':![],..._0x532e01},'warnings':[_0x56f273(0x1f3)+_0x4895d8+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x1ebfaa??{..._0x463a70,'id':_0x4895d8,'path':_0x25cf53},'verification':{'status':_0x56f273(0x218),'lookupCommand':_0x56f273(0x1ef),'targetId':_0x4895d8}});}const _0x3996ff=mutationResult({..._0x45bc38,'after':_0x1cfe00,'dryRun':![],'succeeded':[{'id':_0x4895d8,'type':_0x56f273(0x1f2),'path':_0x25cf53}],'verification':{'checkedBy':_0x56f273(0x226),'snapshotHash':_0x14ab35[_0x56f273(0x221)],'folder':!![],'path':_0x25cf53,'emptyResources':!![]}});return{'ok':!![],'data':_0x3996ff,'message':'Created\x20menu\x20folder\x20'+_0x4895d8+'.'};}};function validateCreateInput(_0xb8c4a7){const _0x28b409=a155_0x1337ab,_0x54caf7=_0xb8c4a7['str'](_0x28b409(0x202))[_0x28b409(0x208)]();if(!_0x54caf7)throw CliErrors[_0x28b409(0x21e)](_0x28b409(0x202));parseParentId(_0xb8c4a7,'parent-id'),validateSort(_0xb8c4a7);}async function buildCreatePlan(_0x1192f8,_0x6c899){const _0x2cd02d=a155_0x1337ab,_0x1ac8a7=await fetchMutationSnapshot(_0x1192f8,_0x2cd02d(0x201)),_0x35134a=parseParentId(_0x1192f8,_0x2cd02d(0x21f))??null;if(_0x35134a!=null)requireFolder(_0x1ac8a7,_0x35134a);const _0x2b91ca=validateSort(_0x1192f8),_0x4b15e6=_0x2b91ca??nextSiblingSort(_0x1ac8a7,_0x35134a,_0x2cd02d(0x1f2)),_0x320699=_0x1192f8[_0x2cd02d(0x20e)](_0x2cd02d(0x202))[_0x2cd02d(0x208)]();return mutationResult({'operation':_0x2cd02d(0x227),'selector':{'label':_0x320699,'parentId':_0x35134a},'before':null,'after':{'id':null,'parentId':_0x35134a,'label':_0x320699,'path':_0x2cd02d(0x211),'type':_0x2cd02d(0x1f2),'visible':!![],'sort':_0x4b15e6,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x6c899,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2cd02d(0x22d),'method':_0x2cd02d(0x1ec),'path':_0x2cd02d(0x200),'body':{'parentId':toApiParentId(_0x35134a),'label':_0x320699,'type':_0x2cd02d(0x1f2),'visible':!![],'sort':_0x4b15e6,'extend':{}}}],'snapshotHash':_0x1ac8a7[_0x2cd02d(0x221)],'warnings':[_0x2cd02d(0x209)]});}
|
|
1
|
+
const a155_0x37beac=a155_0x3752;(function(_0x1866da,_0x4d2a99){const _0xfcb337=a155_0x3752,_0x473712=_0x1866da();while(!![]){try{const _0x26730d=parseInt(_0xfcb337(0x14b))/0x1*(parseInt(_0xfcb337(0x17f))/0x2)+parseInt(_0xfcb337(0x144))/0x3*(-parseInt(_0xfcb337(0x164))/0x4)+parseInt(_0xfcb337(0x159))/0x5+-parseInt(_0xfcb337(0x184))/0x6*(-parseInt(_0xfcb337(0x172))/0x7)+-parseInt(_0xfcb337(0x14e))/0x8*(parseInt(_0xfcb337(0x178))/0x9)+parseInt(_0xfcb337(0x167))/0xa*(-parseInt(_0xfcb337(0x154))/0xb)+-parseInt(_0xfcb337(0x169))/0xc*(-parseInt(_0xfcb337(0x165))/0xd);if(_0x26730d===_0x4d2a99)break;else _0x473712['push'](_0x473712['shift']());}catch(_0x5552b2){_0x473712['push'](_0x473712['shift']());}}}(a155_0x49a2,0x9ec57));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';function a155_0x49a2(){const _0x770d71=['Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','\x20has\x20resources.','3501673VCKeDw','path','\x20has\x20unexpected\x20parent\x20','stringify','after','group-create','27JqeAQx','menu','rabetbase\x20menu\x20list\x20--format\x20json','childrenCount','menu\x20list','appCode','type','2900yTrMpL','folder','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20is\x20not\x20empty.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','6enDPYA','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','Created\x20menu\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','resources','Folder\x20','depth','Would\x20create\x20empty\x20folder\x20\x22','9TzlIfd','verify\x20folder\x20creation','byId','label','root','parentId','str','821xCJstQ','<platform-generated>','create\x20folder','2591944XgIRUh','create-folder','write','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x22\x20with\x20a\x20platform-generated\x20path.','\x20may\x20exist\x20online\x20at\x20path\x20','105039SxxGzl','trim','verification','parent-id','create-response-validation','2754395Kuptwu','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','POST','\x20has\x20an\x20unexpected\x20sort.','menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','sort','length','Menu\x20create\x20response\x20for\x20folder\x20','string','305656GrwQfy','5977933SYRQdT','failed','890inKsrS','hash','12dLrrBp','Created\x20folder\x20','/smartapi/menu/create','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','pageId','\x20has\x20an\x20unexpected\x20label.',';\x20verify\x20it\x20before\x20retrying.'];a155_0x49a2=function(){return _0x770d71;};return a155_0x49a2();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a155_0x37beac(0x15b),'path':a155_0x37beac(0x16b)}];export const menuGroupCreate={'service':a155_0x37beac(0x179),'command':'group-create','description':a155_0x37beac(0x170),'risk':a155_0x37beac(0x150),'structuredErrors':!![],'flags':[{'name':a155_0x37beac(0x147),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x530347){validateCreateInput(_0x530347);},async 'dryRun'(_0xdc993c){const _0x24986d=a155_0x37beac,_0x4006cc=await buildCreatePlan(_0xdc993c,!![]),_0xe68d6d=_0x4006cc['after'];return menuDryRunResult(_0x4006cc,{'method':'POST','url':_0x24986d(0x16b),'body':{'parentId':toApiParentId(_0xe68d6d[_0x24986d(0x149)]),'label':_0xe68d6d[_0x24986d(0x147)],'type':_0x24986d(0x180),'visible':!![],'sort':_0xe68d6d[_0x24986d(0x160)],'extend':{}},'description':_0x24986d(0x18b)+String(_0xe68d6d[_0x24986d(0x147)])+_0x24986d(0x152)});},async 'execute'(_0x3f3db7){const _0x859a03=a155_0x37beac;validateCreateInput(_0x3f3db7);const _0x3ff488=await buildCreatePlan(_0x3f3db7,![]),_0x383661=_0x3ff488[_0x859a03(0x176)];await recheckMutationSnapshot(_0x3f3db7,_0x3ff488,'create\x20folder');let _0x56b709;try{_0x56b709=await createMenuEntity(_0x3f3db7[_0x859a03(0x17d)],_0x3f3db7['cookie'],{'parentId':toApiParentId(_0x383661[_0x859a03(0x149)]),'label':String(_0x383661[_0x859a03(0x147)]),'type':_0x859a03(0x180),'visible':!![],'sort':Number(_0x383661[_0x859a03(0x160)]),'extend':{}});}catch(_0x4e9605){const _0x1a44c7=mapMenuApiError(_0x4e9605,'create\x20folder');throw menuFailure(_0x1a44c7,_0x3ff488,{'stage':'create','failed':{}});}const _0x2ecdf9=Number(_0x56b709['id']);if(!Number['isSafeInteger'](_0x2ecdf9)||_0x2ecdf9<=0x0){const _0x3ea3a3=menuError(_0x859a03(0x15d),_0x859a03(0x15e),_0x859a03(0x185));throw menuFailure(_0x3ea3a3,_0x3ff488,{'stage':_0x859a03(0x158),'failed':{'createdId':_0x56b709['id']??null},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'],'verification':{'status':'failed','lookupCommand':_0x859a03(0x17a)}});}const _0x2de727=typeof _0x56b709[_0x859a03(0x173)]===_0x859a03(0x163)?_0x56b709['path']:'';if(!_0x2de727[_0x859a03(0x155)]()){const _0x3927ce=menuError(_0x859a03(0x15d),_0x859a03(0x162)+_0x2ecdf9+_0x859a03(0x16c),_0x859a03(0x15f));throw menuFailure(_0x3927ce,_0x3ff488,{'stage':_0x859a03(0x158),'succeeded':[{'id':_0x2ecdf9,'created':!![]}],'failed':{'id':_0x2ecdf9,'generatedPathConfirmed':![]},'warnings':[_0x859a03(0x189)+_0x2ecdf9+_0x859a03(0x151)],'after':{..._0x383661,'id':_0x2ecdf9,'path':_0x2de727},'verification':{'status':_0x859a03(0x166),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x2ecdf9}});}let _0x44c028;try{_0x44c028=await fetchMenuSnapshot(_0x3f3db7[_0x859a03(0x17d)],_0x3f3db7['cookie']);}catch(_0x1d76ef){const _0x200b8d=describeMenuErrorCause(_0x1d76ef,_0x859a03(0x145),_0x2ecdf9),_0x319ae5=asVerificationError(_0x1d76ef,_0x859a03(0x189)+_0x2ecdf9+_0x859a03(0x15a));throw menuFailure(_0x319ae5,_0x3ff488,{'stage':'verification','succeeded':[{'id':_0x2ecdf9,'created':!![],'path':_0x2de727}],'failed':{'id':_0x2ecdf9,'finalFactsConfirmed':![],..._0x200b8d},'warnings':[_0x859a03(0x189)+_0x2ecdf9+_0x859a03(0x153)+JSON[_0x859a03(0x175)](_0x2de727)+_0x859a03(0x16f)],'after':{..._0x383661,'id':_0x2ecdf9,'path':_0x2de727},'verification':{'status':_0x859a03(0x166),'lookupCommand':_0x859a03(0x17a),'targetId':_0x2ecdf9}});}const _0x24b500=_0x44c028[_0x859a03(0x146)]['get'](_0x2ecdf9);let _0x41f99f;try{assertVerified(Boolean(_0x24b500),_0x859a03(0x16a)+_0x2ecdf9+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x41f99f=_0x24b500,assertVerified(_0x41f99f[_0x859a03(0x17e)]==='folder',_0x859a03(0x186)+_0x2ecdf9+'\x20is\x20not\x20type\x20folder.'),assertVerified(_0x41f99f[_0x859a03(0x147)]===_0x383661[_0x859a03(0x147)],'Created\x20folder\x20'+_0x2ecdf9+_0x859a03(0x16e)),assertVerified(_0x41f99f[_0x859a03(0x173)]===_0x2de727&&Boolean(_0x41f99f[_0x859a03(0x173)][_0x859a03(0x155)]()),_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x187)),assertVerified(_0x41f99f['visible']===!![],_0x859a03(0x16a)+_0x2ecdf9+'\x20is\x20not\x20visible.'),assertVerified(_0x41f99f[_0x859a03(0x188)][_0x859a03(0x161)]===0x0,_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x171)),assertVerified(_0x41f99f[_0x859a03(0x17b)]===0x0,_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x182)),assertVerified(_0x41f99f[_0x859a03(0x160)]===_0x383661[_0x859a03(0x160)],_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x15c)),assertVerified(_0x41f99f['parentId']===_0x383661[_0x859a03(0x149)],_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x174)+(_0x41f99f[_0x859a03(0x149)]??_0x859a03(0x148))+'.'),assertVerified(_0x41f99f[_0x859a03(0x16d)]==null,_0x859a03(0x16a)+_0x2ecdf9+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3b26a8=_0x41f99f[_0x859a03(0x149)]==null?undefined:requireFolder(_0x44c028,_0x41f99f[_0x859a03(0x149)]);assertVerified(_0x41f99f[_0x859a03(0x18a)]===(_0x3b26a8?_0x3b26a8[_0x859a03(0x18a)]+0x1:0x0),_0x859a03(0x16a)+_0x2ecdf9+_0x859a03(0x181));}catch(_0xd6e951){const _0x320c7f=describeMenuErrorCause(_0xd6e951,_0x859a03(0x145),_0x2ecdf9),_0x122c8f=asVerificationError(_0xd6e951,_0x859a03(0x189)+_0x2ecdf9+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x122c8f,_0x3ff488,{'stage':_0x859a03(0x156),'succeeded':[{'id':_0x2ecdf9,'created':!![],'path':_0x2de727}],'failed':{'id':_0x2ecdf9,'finalFactsConfirmed':![],..._0x320c7f},'warnings':[_0x859a03(0x189)+_0x2ecdf9+_0x859a03(0x183)],'after':_0x24b500??{..._0x383661,'id':_0x2ecdf9,'path':_0x2de727},'verification':{'status':_0x859a03(0x166),'lookupCommand':_0x859a03(0x17a),'targetId':_0x2ecdf9}});}const _0x5a1f56=mutationResult({..._0x3ff488,'after':_0x41f99f,'dryRun':![],'succeeded':[{'id':_0x2ecdf9,'type':'folder','path':_0x2de727}],'verification':{'checkedBy':_0x859a03(0x17c),'snapshotHash':_0x44c028['hash'],'folder':!![],'path':_0x2de727,'emptyResources':!![]}});return{'ok':!![],'data':_0x5a1f56,'message':'Created\x20menu\x20folder\x20'+_0x2ecdf9+'.'};}};function a155_0x3752(_0x50bb87,_0x25b621){_0x50bb87=_0x50bb87-0x144;const _0x49a2f6=a155_0x49a2();let _0x49a237=_0x49a2f6[_0x50bb87];return _0x49a237;}function validateCreateInput(_0x40c9f5){const _0x2dcd09=a155_0x37beac,_0x5a353f=_0x40c9f5[_0x2dcd09(0x14a)](_0x2dcd09(0x147))[_0x2dcd09(0x155)]();if(!_0x5a353f)throw CliErrors['flagMissing'](_0x2dcd09(0x147));parseParentId(_0x40c9f5,_0x2dcd09(0x157)),validateSort(_0x40c9f5);}async function buildCreatePlan(_0x3da4b8,_0x4eb5d4){const _0x425490=a155_0x37beac,_0x3e198d=await fetchMutationSnapshot(_0x3da4b8,_0x425490(0x14d)),_0x1d26cb=parseParentId(_0x3da4b8,_0x425490(0x157))??null;if(_0x1d26cb!=null)requireFolder(_0x3e198d,_0x1d26cb);const _0x5aa56e=validateSort(_0x3da4b8),_0x362d87=_0x5aa56e??nextSiblingSort(_0x3e198d,_0x1d26cb,_0x425490(0x180)),_0x2ebdd0=_0x3da4b8[_0x425490(0x14a)](_0x425490(0x147))[_0x425490(0x155)]();return mutationResult({'operation':_0x425490(0x177),'selector':{'label':_0x2ebdd0,'parentId':_0x1d26cb},'before':null,'after':{'id':null,'parentId':_0x1d26cb,'label':_0x2ebdd0,'path':_0x425490(0x14c),'type':_0x425490(0x180),'visible':!![],'sort':_0x362d87,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4eb5d4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x425490(0x14f),'method':'POST','path':_0x425490(0x16b),'body':{'parentId':toApiParentId(_0x1d26cb),'label':_0x2ebdd0,'type':'folder','visible':!![],'sort':_0x362d87,'extend':{}}}],'snapshotHash':_0x3e198d[_0x425490(0x168)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a156_0x3fc05c=a156_0x24dc;(function(_0x50c939,_0x369985){const _0xf98a08=a156_0x24dc,_0x3dd776=_0x50c939();while(!![]){try{const _0x1c59d7=parseInt(_0xf98a08(0x201))/0x1+-parseInt(_0xf98a08(0x1e8))/0x2+-parseInt(_0xf98a08(0x1ea))/0x3*(parseInt(_0xf98a08(0x217))/0x4)+parseInt(_0xf98a08(0x1f4))/0x5*(-parseInt(_0xf98a08(0x218))/0x6)+-parseInt(_0xf98a08(0x1ff))/0x7+parseInt(_0xf98a08(0x205))/0x8*(-parseInt(_0xf98a08(0x1fe))/0x9)+-parseInt(_0xf98a08(0x209))/0xa*(-parseInt(_0xf98a08(0x1f8))/0xb);if(_0x1c59d7===_0x369985)break;else _0x3dd776['push'](_0x3dd776['shift']());}catch(_0x221876){_0x3dd776['push'](_0x3dd776['shift']());}}}(a156_0x1a3f,0x46b94));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a156_0x24dc(_0x480efc,_0x1944f4){_0x480efc=_0x480efc-0x1e8;const _0x1a3f93=a156_0x1a3f();let _0x24dc94=_0x1a3f93[_0x480efc];return _0x24dc94;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a156_0x3fc05c(0x202),'path':a156_0x3fc05c(0x1f5)}];export const menuGroupUpdate={'service':a156_0x3fc05c(0x1fc),'command':a156_0x3fc05c(0x207),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a156_0x3fc05c(0x208),'structuredErrors':!![],'rejectedFlags':[{'name':a156_0x3fc05c(0x1fa),'message':a156_0x3fc05c(0x20d),'hint':a156_0x3fc05c(0x200)}],'flags':[MENU_ID_FLAG,{'name':a156_0x3fc05c(0x20b),'type':a156_0x3fc05c(0x1e9),'description':a156_0x3fc05c(0x1f3)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x44a579){validateUpdateInput(_0x44a579);},async 'dryRun'(_0x2741a8){const _0x55cf8d=a156_0x3fc05c;validateUpdateInput(_0x2741a8);const {plan:_0x15dd32,patch:_0x10ce0e}=await buildUpdatePlan(_0x2741a8,!![]);return menuDryRunResult(_0x15dd32,{'method':_0x55cf8d(0x202),'url':_0x55cf8d(0x1f5),'body':_0x10ce0e,'description':_0x55cf8d(0x210)+_0x15dd32[_0x55cf8d(0x1ed)]['id']+'.'});},async 'execute'(_0x50f2d0){const _0x2f57ef=a156_0x3fc05c;validateUpdateInput(_0x50f2d0);const {plan:_0x5781ef,patch:_0x20c5fd,noChanges:_0x31c1a7}=await buildUpdatePlan(_0x50f2d0,![]),_0x1dcbd5=Number(_0x5781ef[_0x2f57ef(0x1ed)]['id']),_0x2496e4=await recheckMutationSnapshot(_0x50f2d0,_0x5781ef,_0x2f57ef(0x215),_0x1dcbd5);if(!_0x31c1a7)try{await updateMenuEntity(_0x50f2d0[_0x2f57ef(0x1fb)],_0x50f2d0[_0x2f57ef(0x1ee)],_0x20c5fd);}catch(_0x5ad91e){const _0x467059=mapMenuApiError(_0x5ad91e,'update\x20folder',_0x1dcbd5);throw menuFailure(_0x467059,_0x5781ef,{'stage':'update','failed':{'id':_0x1dcbd5}});}let _0x2e714f=_0x2496e4,_0x51d9f8;try{!_0x31c1a7&&(_0x2e714f=await fetchMenuSnapshot(_0x50f2d0[_0x2f57ef(0x1fb)],_0x50f2d0[_0x2f57ef(0x1ee)])),_0x51d9f8=requireMenu(_0x2e714f,_0x1dcbd5),verifyPatch(_0x51d9f8,_0x20c5fd),_0x51d9f8[_0x2f57ef(0x1f0)]!=null&&requireFolder(_0x2e714f,_0x51d9f8['parentId']);}catch(_0x100b3b){const _0x1fd4f0=describeMenuErrorCause(_0x100b3b,_0x2f57ef(0x20f),_0x1dcbd5),_0xe80263=asVerificationError(_0x100b3b,_0x2f57ef(0x20a)+_0x1dcbd5+_0x2f57ef(0x1fd));throw menuFailure(_0xe80263,_0x5781ef,{'stage':_0x2f57ef(0x1f2),'succeeded':[{'id':_0x1dcbd5,'updateRequested':!_0x31c1a7,'skipped':_0x31c1a7}],'failed':{'id':_0x1dcbd5,'requestedStateConfirmed':![],..._0x1fd4f0},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x2f57ef(0x203),'targetId':_0x1dcbd5}});}const _0x496e4e=mutationResult({..._0x5781ef,'after':_0x51d9f8,'dryRun':![],'succeeded':[{'id':_0x1dcbd5,'updated':!_0x31c1a7,'skipped':_0x31c1a7}],'verification':{'checkedBy':_0x2f57ef(0x20e),'snapshotHash':_0x2e714f[_0x2f57ef(0x212)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x496e4e,'message':_0x31c1a7?_0x2f57ef(0x1f9)+_0x1dcbd5+'\x20already\x20matches\x20the\x20requested\x20state.':_0x2f57ef(0x1f1)+_0x1dcbd5+'.'};}};function validateUpdateInput(_0x5e6aa4){const _0x282549=a156_0x3fc05c;validateExactId(_0x5e6aa4);if(hasFlag(_0x5e6aa4,'parent-id'))throw CliErrors[_0x282549(0x213)](_0x282549(0x20d),_0x282549(0x200));if(!hasFlag(_0x5e6aa4,'label')&&!hasFlag(_0x5e6aa4,_0x282549(0x206)))throw CliErrors[_0x282549(0x213)](_0x282549(0x20c));if(hasFlag(_0x5e6aa4,_0x282549(0x20b))&&!_0x5e6aa4[_0x282549(0x1f7)](_0x282549(0x20b))[_0x282549(0x1f6)]())throw CliErrors[_0x282549(0x213)](_0x282549(0x1eb));validateSort(_0x5e6aa4);}async function buildUpdatePlan(_0x331d3c,_0x11d6ee){const _0x41fb22=a156_0x3fc05c,_0x133e56=validateExactId(_0x331d3c),_0x357e49=await fetchMutationSnapshot(_0x331d3c,'update\x20folder',_0x133e56),_0x813804=requireMenu(_0x357e49,_0x133e56);if(_0x813804[_0x41fb22(0x219)]!=='folder')throw menuError('menu_not_folder',_0x41fb22(0x216)+_0x133e56+'\x20is\x20type\x20\x22'+(_0x813804['type']||_0x41fb22(0x1ef))+_0x41fb22(0x214),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x331d3c,_0x813804);const _0x459556={'id':_0x133e56},_0xcdc63e={..._0x813804};if(hasFlag(_0x331d3c,_0x41fb22(0x20b))){const _0x57ebb9=_0x331d3c[_0x41fb22(0x1f7)](_0x41fb22(0x20b))[_0x41fb22(0x1f6)]();_0x459556[_0x41fb22(0x20b)]=_0x57ebb9,_0xcdc63e[_0x41fb22(0x20b)]=_0x57ebb9;}if(hasFlag(_0x331d3c,_0x41fb22(0x206))){const _0x2d2bcc=validateSort(_0x331d3c);_0x459556[_0x41fb22(0x206)]=_0x2d2bcc,_0xcdc63e[_0x41fb22(0x206)]=_0x2d2bcc;}const _0x5924dd=sameRequestedState(_0x813804,_0xcdc63e),_0x52b7b9=_0x5924dd?[_0x41fb22(0x211)]:[];return{'patch':_0x459556,'noChanges':_0x5924dd,'plan':mutationResult({'operation':_0x41fb22(0x207),'selector':{'id':_0x133e56},'before':_0x813804,'after':_0xcdc63e,'dryRun':_0x11d6ee,'backend':[...BACKEND],'snapshotHash':_0x357e49['hash'],'warnings':_0x52b7b9})};}function sameRequestedState(_0x579c7f,_0x314034){const _0x4291c1=a156_0x3fc05c;return _0x579c7f[_0x4291c1(0x20b)]===_0x314034['label']&&_0x579c7f[_0x4291c1(0x206)]===_0x314034['sort'];}function a156_0x1a3f(){const _0x1d2601=['1047292AGLLJE','string','930060ccJltB','--label\x20cannot\x20be\x20empty.','\x20sort\x20update\x20did\x20not\x20take\x20effect.','selector','cookie','unknown','parentId','Updated\x20folder\x20','verification','New\x20folder\x20label','46215vYQxlF','/smartapi/menu/update','trim','str','69113nvmjRT','Folder\x20','parent-id','appCode','menu','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','582651Ycfqjf','1744428ilctWt','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','454449LSMIEO','POST','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20no\x20longer\x20type\x20folder.','40aZQPKs','sort','group-update','write','2050lEyACD','Update\x20request\x20for\x20folder\x20','label','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','menu\x20list','verify\x20folder\x20update','Would\x20update\x20folder\x20','No\x20online\x20fields\x20would\x20change.','hash','validation','\x22,\x20not\x20folder.','update\x20folder','Menu\x20','4yidDVX','30KAnLyb','type'];a156_0x1a3f=function(){return _0x1d2601;};return a156_0x1a3f();}function verifyPatch(_0x318766,_0x36e2f8){const _0x5528f2=a156_0x3fc05c;assertVerified(_0x318766['type']==='folder',_0x5528f2(0x216)+_0x318766['id']+_0x5528f2(0x204)),_0x36e2f8['label']!==undefined&&assertVerified(_0x318766[_0x5528f2(0x20b)]===_0x36e2f8[_0x5528f2(0x20b)],_0x5528f2(0x1f9)+_0x318766['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x36e2f8[_0x5528f2(0x206)]!==undefined&&assertVerified(_0x318766['sort']===_0x36e2f8['sort'],'Folder\x20'+_0x318766['id']+_0x5528f2(0x1ec));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x197f05,_0x33ceba){const _0x21180b=a157_0x28bd,_0x52fd98=_0x197f05();while(!![]){try{const _0x485486=parseInt(_0x21180b(0x1ed))/0x1+parseInt(_0x21180b(0x1f0))/0x2*(-parseInt(_0x21180b(0x1ef))/0x3)+parseInt(_0x21180b(0x1f2))/0x4+parseInt(_0x21180b(0x1f3))/0x5*(parseInt(_0x21180b(0x1e9))/0x6)+parseInt(_0x21180b(0x1ea))/0x7*(parseInt(_0x21180b(0x1f4))/0x8)+-parseInt(_0x21180b(0x1eb))/0x9*(-parseInt(_0x21180b(0x1f1))/0xa)+-parseInt(_0x21180b(0x1ee))/0xb*(parseInt(_0x21180b(0x1ec))/0xc);if(_0x485486===_0x33ceba)break;else _0x52fd98['push'](_0x52fd98['shift']());}catch(_0x45c03d){_0x52fd98['push'](_0x52fd98['shift']());}}}(a157_0x16a4,0xad49c));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';function a157_0x16a4(){const _0x192e8d=['3543801RetYcI','2npVhBH','3440UoaGQh','3551952EVpJJM','15gdpuwI','216thzGIX','1040886gXkehI','224847EpgLma','702wZnLcY','1382916wIrUzy','164740nmqSAr','55kPpkFu'];a157_0x16a4=function(){return _0x192e8d;};return a157_0x16a4();}import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';function a157_0x28bd(_0x1b86d5,_0x11b141){_0x1b86d5=_0x1b86d5-0x1e9;const _0x16a482=a157_0x16a4();let _0x28bd78=_0x16a482[_0x1b86d5];return _0x28bd78;}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';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuSubappAssetsStatus,menuSubappAssetsUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a158_0x4a95(){const _0x1c607c=['5448580BEQGJz','menus','hash','410838kxiwtK','318HFDvLa','4vXQdWg','verbose','No\x20menus\x20found.','appCode','83825Dcwyaj','list','92995vYSsnx','1197ukYgNh','read','total','map','boolean','3450237lajgIE','\x20menu(s)','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','1315749pVGWRt','55240IBkQpd'];a158_0x4a95=function(){return _0x1c607c;};return a158_0x4a95();}const a158_0x2dfcca=a158_0x3a0f;(function(_0x1da97d,_0xdcc5aa){const _0x26fd2a=a158_0x3a0f,_0x25d174=_0x1da97d();while(!![]){try{const _0x412314=-parseInt(_0x26fd2a(0x114))/0x1+parseInt(_0x26fd2a(0x10e))/0x2+parseInt(_0x26fd2a(0x109))/0x3*(parseInt(_0x26fd2a(0x110))/0x4)+-parseInt(_0x26fd2a(0x116))/0x5*(parseInt(_0x26fd2a(0x10f))/0x6)+-parseInt(_0x26fd2a(0x11c))/0x7+-parseInt(_0x26fd2a(0x10a))/0x8*(-parseInt(_0x26fd2a(0x117))/0x9)+parseInt(_0x26fd2a(0x10b))/0xa;if(_0x412314===_0xdcc5aa)break;else _0x25d174['push'](_0x25d174['shift']());}catch(_0x5cf53d){_0x25d174['push'](_0x25d174['shift']());}}}(a158_0x4a95,0x84ffa));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a158_0x3a0f(_0x4cb693,_0xd42876){_0x4cb693=_0x4cb693-0x107;const _0x4a95ea=a158_0x4a95();let _0x3a0f5d=_0x4a95ea[_0x4cb693];return _0x3a0f5d;}export const menuList={'service':'menu','command':a158_0x2dfcca(0x115),'description':a158_0x2dfcca(0x108),'risk':a158_0x2dfcca(0x118),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'verbose','type':a158_0x2dfcca(0x11b),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x5476a5){const _0x41b2ac=a158_0x2dfcca,_0x5a55ab=_0x5476a5['bool'](_0x41b2ac(0x111)),_0x28e9e9=await fetchMenuSnapshot(_0x5476a5[_0x41b2ac(0x113)],_0x5476a5['cookie'],{'verbose':_0x5a55ab});return{'ok':!![],'data':{'total':_0x28e9e9[_0x41b2ac(0x119)],'snapshotHash':_0x28e9e9[_0x41b2ac(0x10d)],'menus':_0x28e9e9[_0x41b2ac(0x10c)][_0x41b2ac(0x11a)](toMenuListItem)},'message':_0x28e9e9[_0x41b2ac(0x119)]===0x0?_0x41b2ac(0x112):'Found\x20'+_0x28e9e9[_0x41b2ac(0x119)]+_0x41b2ac(0x107)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a159_0x1d93b9=a159_0x58f5;(function(_0x2a4f52,_0x16a874){const _0x546550=a159_0x58f5,_0x37d5c1=_0x2a4f52();while(!![]){try{const _0x351a7c=parseInt(_0x546550(0x1fa))/0x1*(-parseInt(_0x546550(0x20b))/0x2)+-parseInt(_0x546550(0x20d))/0x3+-parseInt(_0x546550(0x208))/0x4+-parseInt(_0x546550(0x20e))/0x5+parseInt(_0x546550(0x203))/0x6+-parseInt(_0x546550(0x1f9))/0x7+-parseInt(_0x546550(0x1f5))/0x8*(-parseInt(_0x546550(0x214))/0x9);if(_0x351a7c===_0x16a874)break;else _0x37d5c1['push'](_0x37d5c1['shift']());}catch(_0x26845f){_0x37d5c1['push'](_0x37d5c1['shift']());}}}(a159_0x14c5,0xcba8a));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';function a159_0x58f5(_0xb26983,_0xa0d7ac){_0xb26983=_0xb26983-0x1e7;const _0x14c5e1=a159_0x14c5();let _0x58f585=_0x14c5e1[_0xb26983];return _0x58f585;}const BACKEND=[{'method':a159_0x1d93b9(0x1f4),'path':'/smartapi/menu/update'}];function a159_0x14c5(){const _0x4e4146=['parent-id','failed','type','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','after','Moved\x20menu\x20','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','move\x20menu',',\x20current\x20','update','verification','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','Move\x20request\x20for\x20menu\x20','POST','43672lGURXz','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','hash','sort','9420446XjnDvM','918COoGgy','menu_move_source_not_leaf','\x20is\x20no\x20longer\x20a\x20leaf.','cookie','rabetbase\x20menu\x20list\x20--format\x20compress','write','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','move','expect-parent-id','6997194VpmSdM','move-menu','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','/smartapi/menu/update','appCode','4414828lszyFL','menu','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','3466zIWLuj','\x20parent\x20changed:\x20expected\x20','148416PFqwuG','7605075olQCsx','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','verify\x20menu\x20move','Menu\x20','Would\x20move\x20menu\x20','folder','8703IiGSia','parentId','childrenCount'];a159_0x14c5=function(){return _0x4e4146;};return a159_0x14c5();}export const menuMove={'service':a159_0x1d93b9(0x209),'command':'move','description':a159_0x1d93b9(0x1ec),'risk':a159_0x1d93b9(0x1ff),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5b6685){validateMoveInput(_0x5b6685);},async 'dryRun'(_0x183683){const _0x31ce28=a159_0x1d93b9,{plan:_0x48bf21,patch:_0x4ff2f3}=await buildMovePlan(_0x183683,!![]);return menuDryRunResult(_0x48bf21,{'method':'POST','url':_0x31ce28(0x206),'body':{..._0x4ff2f3,'appCode':_0x183683[_0x31ce28(0x207)]},'description':_0x31ce28(0x212)+_0x4ff2f3['id']+'.'});},async 'execute'(_0x4d020a){const _0x2127b5=a159_0x1d93b9;validateMoveInput(_0x4d020a);const {plan:_0x5506ec,patch:_0x1ec452,noChanges:_0x73d349,snapshot:_0x1aca03}=await buildMovePlan(_0x4d020a,![]),_0x81a8af=_0x1ec452['id'];if(!_0x73d349)try{await updateMenuEntity(_0x4d020a[_0x2127b5(0x207)],_0x4d020a['cookie'],_0x1ec452);}catch(_0x354d78){const _0x41105c=mapMenuApiError(_0x354d78,'move',_0x81a8af);throw menuFailure(_0x41105c,_0x5506ec,{'stage':_0x2127b5(0x1f0),'failed':{'id':_0x81a8af},'warnings':[_0x2127b5(0x1f6)],'verification':{'status':_0x2127b5(0x1e7),'targetId':_0x81a8af,'lookupCommand':_0x2127b5(0x1fe)}});}let _0x44e2d0,_0xd9279c;try{_0x44e2d0=_0x73d349?_0x1aca03:await fetchMenuSnapshot(_0x4d020a['appCode'],_0x4d020a[_0x2127b5(0x1fd)]),_0xd9279c=requireMenu(_0x44e2d0,_0x81a8af),verifyMove(_0xd9279c,_0x5506ec[_0x2127b5(0x1ea)]),_0xd9279c[_0x2127b5(0x215)]!==null&&requireFolder(_0x44e2d0,_0xd9279c[_0x2127b5(0x215)]);}catch(_0x5051ed){const _0xf1a746=describeMenuErrorCause(_0x5051ed,_0x2127b5(0x210),_0x81a8af),_0x745cf4=asVerificationError(_0x5051ed,_0x2127b5(0x1f3)+_0x81a8af+_0x2127b5(0x20f));throw menuFailure(_0x745cf4,_0x5506ec,{'stage':_0x2127b5(0x1f1),'succeeded':[{'id':_0x81a8af,'updateRequested':!_0x73d349,'skipped':_0x73d349}],'failed':{'id':_0x81a8af,'requestedStateConfirmed':![],..._0xf1a746},'warnings':[_0x2127b5(0x1e9)],'verification':{'status':_0x2127b5(0x1e7),'targetId':_0x81a8af,'lookupCommand':_0x2127b5(0x1fe)}});}const _0x19efb7=mutationResult({..._0x5506ec,'after':_0xd9279c,'dryRun':![],'succeeded':[{'id':_0x81a8af,'updated':!_0x73d349,'skipped':_0x73d349}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x44e2d0[_0x2127b5(0x1f7)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x19efb7,'message':_0x73d349?_0x2127b5(0x211)+_0x81a8af+_0x2127b5(0x1ed):_0x2127b5(0x1eb)+_0x81a8af+'.'};}};function validateMoveInput(_0x5d2259){const _0x2699a2=a159_0x1d93b9;validateExactId(_0x5d2259),parseParentId(_0x5d2259,_0x2699a2(0x217),{'required':!![]}),parseParentId(_0x5d2259,_0x2699a2(0x202),{'required':!![]}),validateSort(_0x5d2259);}async function buildMovePlan(_0x3dbbc7,_0x42c10b){const _0x420865=a159_0x1d93b9,_0x2924ee=validateExactId(_0x3dbbc7),_0x28fa24=parseParentId(_0x3dbbc7,'parent-id',{'required':!![]}),_0x17d6c9=parseParentId(_0x3dbbc7,_0x420865(0x202),{'required':!![]}),_0x324f56=validateSort(_0x3dbbc7),_0x11c1c1=await fetchMutationSnapshot(_0x3dbbc7,_0x420865(0x1ee),_0x2924ee),_0x17ac46=requireMenu(_0x11c1c1,_0x2924ee);if(_0x17ac46[_0x420865(0x1e8)]==='folder'||_0x17ac46[_0x420865(0x216)]!==0x0)throw menuError(_0x420865(0x1fb),'Menu\x20'+_0x2924ee+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x420865(0x20a));if(_0x17ac46['parentId']!==_0x17d6c9)throw menuError('menu_state_drift',_0x420865(0x211)+_0x2924ee+_0x420865(0x20c)+formatParent(_0x17d6c9)+_0x420865(0x1ef)+formatParent(_0x17ac46[_0x420865(0x215)])+'.',_0x420865(0x200));_0x28fa24!==null&&requireFolder(_0x11c1c1,_0x28fa24);const _0x421c73=_0x324f56??(_0x17ac46[_0x420865(0x215)]===_0x28fa24?_0x17ac46[_0x420865(0x1f8)]??0x0:nextSiblingSort(_0x11c1c1,_0x28fa24,_0x420865(0x209))),_0x5614e1={..._0x17ac46,'parentId':_0x28fa24,'sort':_0x421c73},_0x496390={'id':_0x2924ee,'parentId':toApiParentId(_0x28fa24),'sort':_0x421c73},_0xb0fa32=_0x17ac46[_0x420865(0x215)]===_0x28fa24&&_0x17ac46[_0x420865(0x1f8)]===_0x421c73;return{'patch':_0x496390,'noChanges':_0xb0fa32,'snapshot':_0x11c1c1,'plan':mutationResult({'operation':_0x420865(0x201),'selector':{'id':_0x2924ee,'parentId':_0x28fa24},'before':_0x17ac46,'after':_0x5614e1,'dryRun':_0x42c10b,'backend':[...BACKEND],'plannedActions':[{'stage':_0x420865(0x204),'method':_0x420865(0x1f4),'path':'/smartapi/menu/update','body':{..._0x496390,'appCode':_0x3dbbc7[_0x420865(0x207)]}}],'snapshotHash':_0x11c1c1[_0x420865(0x1f7)],'warnings':_0xb0fa32?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x4c403c,_0x5d90dc){const _0x2727e2=a159_0x1d93b9;assertVerified(_0x4c403c[_0x2727e2(0x1e8)]!==_0x2727e2(0x213),_0x2727e2(0x211)+_0x4c403c['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x4c403c[_0x2727e2(0x216)]===0x0,_0x2727e2(0x211)+_0x4c403c['id']+_0x2727e2(0x1fc)),assertVerified(_0x4c403c[_0x2727e2(0x215)]===_0x5d90dc[_0x2727e2(0x215)],_0x2727e2(0x211)+_0x4c403c['id']+_0x2727e2(0x1f2)),assertVerified(_0x4c403c[_0x2727e2(0x1f8)]===_0x5d90dc[_0x2727e2(0x1f8)],_0x2727e2(0x211)+_0x4c403c['id']+_0x2727e2(0x205));}
|