@lovrabet/rabetbase-cli 2.5.5-beta.3 → 2.5.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/detail.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/cross-db-analysis-shared.d.ts +40 -0
- package/lib/commands/db/cross-db-analysis-shared.js +1 -0
- package/lib/commands/db/cross-db-analyze-latest.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-latest.js +1 -0
- package/lib/commands/db/cross-db-analyze-start.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-start.js +1 -0
- package/lib/commands/db/cross-db-analyze-status.d.ts +2 -0
- package/lib/commands/db/cross-db-analyze-status.js +1 -0
- 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.d.ts +7 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-analysis.d.ts +17 -0
- package/lib/core/cross-db-analysis.js +1 -0
- 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 +6 -4
- package/skills/rabetbase/guides/database-connection-workflow.md +12 -3
- package/skills/rabetbase/guides/independent-deployment.md +10 -2
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-cross-analyze.md +78 -0
- package/skills/rabetbase-page-generation/SKILL.md +1 -1
- package/skills/rabetbase.manifest.json +4 -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 a156_0x5925b6=a156_0x13f7;(function(_0x3d6525,_0x44249e){const _0x1fa728=a156_0x13f7,_0x592aa3=_0x3d6525();while(!![]){try{const _0x3a1e48=-parseInt(_0x1fa728(0x208))/0x1+-parseInt(_0x1fa728(0x1fc))/0x2+parseInt(_0x1fa728(0x20c))/0x3+parseInt(_0x1fa728(0x22e))/0x4+-parseInt(_0x1fa728(0x216))/0x5*(parseInt(_0x1fa728(0x243))/0x6)+parseInt(_0x1fa728(0x20f))/0x7*(parseInt(_0x1fa728(0x1f8))/0x8)+-parseInt(_0x1fa728(0x23f))/0x9;if(_0x3a1e48===_0x44249e)break;else _0x592aa3['push'](_0x592aa3['shift']());}catch(_0x13845d){_0x592aa3['push'](_0x592aa3['shift']());}}}(a156_0x2cbf,0x318e7));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':'POST','path':a156_0x5925b6(0x1d0)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a156_0x5925b6(0x1ea)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a156_0x5925b6(0x235),'description':a156_0x5925b6(0x247)},MENU_DELETE_PLAN_OUT_FLAG={'name':a156_0x5925b6(0x220),'type':'string','description':a156_0x5925b6(0x21e)},MENU_DELETE_PLAN_FLAG={'name':a156_0x5925b6(0x20e),'type':'string','description':a156_0x5925b6(0x227)};function a156_0x13f7(_0x286f1b,_0xab7ddc){_0x286f1b=_0x286f1b-0x1d0;const _0x2cbff5=a156_0x2cbf();let _0x13f7ac=_0x2cbff5[_0x286f1b];return _0x13f7ac;}export const menuDelete={'service':a156_0x5925b6(0x230),'command':a156_0x5925b6(0x205),'description':a156_0x5925b6(0x22f),'risk':'high-risk-write','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'(_0x1e2c8e){const _0x51affa=a156_0x5925b6;_0x1e2c8e[_0x51affa(0x211)]('dry-run')?validateDeleteDryRunInput(_0x1e2c8e):validateDeleteExecuteInput(_0x1e2c8e),requireExplicitYes(_0x1e2c8e);},async 'dryRun'(_0x523311){const _0x165d3c=a156_0x5925b6;validateDeleteDryRunInput(_0x523311);const _0x1496a6=await buildDeletePlan(_0x523311),_0x49a0c9=createMenuDeletePlanFile(_0x523311[_0x165d3c(0x1e0)],_0x1496a6),_0x42b848=await writeMenuDeletePlan(_0x523311['str'](_0x165d3c(0x220)),_0x49a0c9),_0x3674fd=mutationResult({..._0x1496a6,'planFile':{'path':_0x42b848,'createdAt':_0x49a0c9[_0x165d3c(0x21c)],'expiresAt':_0x49a0c9['expiresAt']}});return menuDryRunResult(_0x3674fd,{'method':'POST','url':_0x165d3c(0x1d0),'body':{'idList':_0x3674fd['deleteOrder']},'description':'Would\x20batch\x20delete\x20'+(_0x3674fd['deleteOrder']?.[_0x165d3c(0x22b)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3674fd[_0x165d3c(0x1ec)]['id']+';\x20execution\x20must\x20consume\x20'+_0x42b848+'.'});},async 'execute'(_0x2b9b2f){const _0x52461d=a156_0x5925b6;requireExplicitYes(_0x2b9b2f),validateDeleteExecuteInput(_0x2b9b2f);const _0x41c25a=await readMenuDeletePlan(_0x2b9b2f[_0x52461d(0x218)](_0x52461d(0x20e))),_0xc929f7=mutationPlanFromDeleteFile(_0x41c25a['plan'],_0x41c25a[_0x52461d(0x224)]),_0x1552ba=_0x41c25a['plan']['target']['id'];try{assertMenuDeletePlanExecutable(_0x41c25a[_0x52461d(0x20e)],_0x2b9b2f['appCode']);}catch(_0x49d053){throw menuFailure(asMenuError(_0x49d053),_0xc929f7,{'stage':_0x52461d(0x234),'failed':{'id':_0x1552ba}});}let _0x3508a7,_0x597087;try{_0x3508a7=await fetchMutationSnapshot(_0x2b9b2f,_0x52461d(0x203),_0x1552ba),_0x597087=assertMenuDeletePlanCurrent(_0x41c25a[_0x52461d(0x20e)],_0x2b9b2f[_0x52461d(0x1e0)],_0x3508a7),assertDeleteTargetsComplete(_0x41c25a['plan'],_0x3508a7),_0x597087[_0x52461d(0x246)](_0x20f5d2=>assertDeleteSafety(_0x20f5d2,_0x41c25a[_0x52461d(0x20e)][_0x52461d(0x245)])),assertNoSharedPages(_0x3508a7,_0x597087),assertCascadeMatchesPlan(_0xc929f7,_0x597087);}catch(_0x5a5d29){throw menuFailure(asMenuError(_0x5a5d29),_0xc929f7,{'stage':_0x52461d(0x1e9),'failed':{'id':_0x1552ba}});}const _0x2db8dd=_0x41c25a[_0x52461d(0x20e)][_0x52461d(0x1d2)];let _0x50b5e1;try{_0x50b5e1=await batchDeleteMenuEntities(_0x2b9b2f['cookie'],_0x2db8dd);}catch(_0x3c9b49){const _0x8a6143=mapMenuApiError(_0x3c9b49,_0x52461d(0x1e1)),_0x45801a=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x2007be;try{_0x2007be=await readDeleteOutcome(_0x2b9b2f,_0x2db8dd);}catch(_0x1b5ef3){const _0xccd805=describeMenuErrorCause(_0x1b5ef3,_0x52461d(0x20b),_0x1552ba);_0x45801a[_0x52461d(0x1e8)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0xccd805[_0x52461d(0x242)]+_0x52461d(0x202)+_0xccd805['causeMessage']);throw menuFailure(_0x8a6143,_0xc929f7,{'stage':_0x52461d(0x21d),'failed':{'targetIds':_0x2db8dd,'targetIdsAbsent':'unconfirmed',..._0xccd805},'warnings':_0x45801a,'verification':{'status':_0x52461d(0x207),'lookupCommand':_0x52461d(0x1d1),'targetIds':_0x2db8dd}});}throw menuFailure(_0x8a6143,_0xc929f7,{'stage':_0x52461d(0x21d),'succeeded':_0x2007be[_0x52461d(0x1fb)][_0x52461d(0x239)](_0x4569dd=>({'id':_0x4569dd,'deleted':!![]})),'failed':{'targetIds':_0x2db8dd,'absentIds':_0x2007be['absentIds'],'remainingIds':_0x2007be[_0x52461d(0x1ef)]},'warnings':_0x45801a,'verification':verificationFromOutcome(_0x2007be)});}if(_0x50b5e1!==_0x2db8dd[_0x52461d(0x22b)]){const _0x110855=menuError(_0x52461d(0x1eb),'Backend\x20reported\x20'+_0x50b5e1+_0x52461d(0x217)+_0x2db8dd[_0x52461d(0x22b)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0xe837b9=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x195b00;try{_0x195b00=await readDeleteOutcome(_0x2b9b2f,_0x2db8dd);}catch(_0x5d076e){const _0x3be735=describeMenuErrorCause(_0x5d076e,_0x52461d(0x200),_0x1552ba);_0xe837b9[_0x52461d(0x1e8)](_0x52461d(0x1ed)+_0x3be735[_0x52461d(0x242)]+'):\x20'+_0x3be735[_0x52461d(0x1f6)]);throw menuFailure(_0x110855,_0xc929f7,{'stage':_0x52461d(0x21d),'failed':{'targetIds':_0x2db8dd,'expectedCount':_0x2db8dd[_0x52461d(0x22b)],'reportedDeletedCount':_0x50b5e1,'targetIdsAbsent':'unconfirmed',..._0x3be735},'warnings':_0xe837b9,'verification':{'status':'failed','lookupCommand':_0x52461d(0x1d1),'targetIds':_0x2db8dd}});}throw menuFailure(_0x110855,_0xc929f7,{'stage':_0x52461d(0x21d),'succeeded':_0x195b00[_0x52461d(0x1fb)][_0x52461d(0x239)](_0x1a564f=>({'id':_0x1a564f,'deleted':!![]})),'failed':{'targetIds':_0x2db8dd,'expectedCount':_0x2db8dd[_0x52461d(0x22b)],'reportedDeletedCount':_0x50b5e1,'absentIds':_0x195b00[_0x52461d(0x1fb)],'remainingIds':_0x195b00['remainingIds']},'warnings':_0xe837b9,'verification':verificationFromOutcome(_0x195b00)});}let _0x13b50b;try{_0x13b50b=await readDeleteOutcome(_0x2b9b2f,_0x2db8dd);}catch(_0x1484fc){const _0x5c37f3=describeMenuErrorCause(_0x1484fc,_0x52461d(0x23b),_0x1552ba),_0x5a5540=asVerificationError(_0x1484fc,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x1552ba+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x5a5540,_0xc929f7,{'stage':_0x52461d(0x1ff),'succeeded':_0x2db8dd[_0x52461d(0x239)](_0x2ebee8=>({'id':_0x2ebee8,'deleteRequested':!![]})),'failed':{'id':_0x1552ba,'targetIds':_0x2db8dd,'targetIdsAbsent':'unconfirmed',..._0x5c37f3},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':_0x52461d(0x207),'lookupCommand':_0x52461d(0x1d1),'targetIds':_0x2db8dd}});}if(_0x13b50b['remainingIds'][_0x52461d(0x22b)]>0x0){const _0x31f4aa=menuError(_0x52461d(0x232),_0x52461d(0x1d3)+_0x13b50b[_0x52461d(0x1ef)][_0x52461d(0x1ee)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x31f4aa,_0xc929f7,{'stage':'verification','succeeded':_0x2db8dd[_0x52461d(0x239)](_0x4e5e16=>({'id':_0x4e5e16,'deleteRequested':!![]})),'failed':{'id':_0x1552ba,'targetIds':_0x2db8dd,'absentIds':_0x13b50b[_0x52461d(0x1fb)],'remainingIds':_0x13b50b[_0x52461d(0x1ef)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x13b50b)});}const _0x39003f=_0x2db8dd[_0x52461d(0x239)](_0x102e1c=>({'id':_0x102e1c,'deleted':!![]})),_0x2721fa=mutationResult({..._0xc929f7,'dryRun':![],'succeeded':_0x39003f,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0xc929f7[_0x52461d(0x1f5)],'finalSnapshotHash':_0x13b50b[_0x52461d(0x219)]['hash'],'reportedDeletedCount':_0x50b5e1,'targetAbsent':!_0x13b50b['snapshot'][_0x52461d(0x1e3)][_0x52461d(0x228)](_0x1552ba),'allTargetsAbsent':!![],'targetIds':_0x2db8dd}});return{'ok':!![],'data':_0x2721fa,'message':_0x52461d(0x1dc)+_0x39003f[_0x52461d(0x22b)]+_0x52461d(0x223)+_0x1552ba+'.'};}};async function readDeleteOutcome(_0x4dcd88,_0x60cf40){const _0x5a2cef=a156_0x5925b6,_0x5805d5=await fetchMenuSnapshot(_0x4dcd88['appCode'],_0x4dcd88[_0x5a2cef(0x1db)]);return{'snapshot':_0x5805d5,'absentIds':_0x60cf40[_0x5a2cef(0x206)](_0x5e7a06=>!_0x5805d5[_0x5a2cef(0x1e3)][_0x5a2cef(0x228)](_0x5e7a06)),'remainingIds':_0x60cf40[_0x5a2cef(0x206)](_0x44f201=>_0x5805d5[_0x5a2cef(0x1e3)]['has'](_0x44f201))};}function verificationFromOutcome(_0xec651){const _0x17766e=a156_0x5925b6;return{'checkedBy':'menu\x20list','absentIds':_0xec651[_0x17766e(0x1fb)],'remainingIds':_0xec651['remainingIds']};}function validateDeleteDryRunInput(_0x2221fd){const _0x32111f=a156_0x5925b6;validateExactId(_0x2221fd);if(!hasFlag(_0x2221fd,_0x32111f(0x220))||!_0x2221fd[_0x32111f(0x218)](_0x32111f(0x220))['trim']())throw CliErrors[_0x32111f(0x1f7)](_0x32111f(0x220),_0x32111f(0x233));if(hasFlag(_0x2221fd,_0x32111f(0x20e)))throw CliErrors[_0x32111f(0x212)](_0x32111f(0x231));}function validateDeleteExecuteInput(_0x2deb93){const _0x5f47a2=a156_0x5925b6;if(!hasFlag(_0x2deb93,_0x5f47a2(0x20e))||!_0x2deb93[_0x5f47a2(0x218)]('plan')[_0x5f47a2(0x249)]())throw CliErrors[_0x5f47a2(0x1f7)](_0x5f47a2(0x20e),_0x5f47a2(0x1e2));const _0x342588=['id',_0x5f47a2(0x245),_0x5f47a2(0x220),_0x5f47a2(0x1d9),'expect-path',_0x5f47a2(0x1da)]['filter'](_0x42c440=>hasFlag(_0x2deb93,_0x42c440));if(_0x342588[_0x5f47a2(0x22b)]>0x0)throw CliErrors[_0x5f47a2(0x212)](_0x5f47a2(0x21a)+_0x342588['map'](_0x3cc8f1=>'--'+_0x3cc8f1)[_0x5f47a2(0x1ee)](',\x20')+'.');}async function buildDeletePlan(_0x2361d2){const _0x51df24=a156_0x5925b6,_0xa2cac5=validateExactId(_0x2361d2),_0x7643e5=await fetchMutationSnapshot(_0x2361d2,_0x51df24(0x23a),_0xa2cac5),_0x169f15=requireMenu(_0x7643e5,_0xa2cac5);assertExpectedState(_0x2361d2,_0x169f15);const _0x170259=_0x2361d2['bool']('recursive');let _0x1524f4;if(_0x170259){if(_0x169f15[_0x51df24(0x1d6)][_0x51df24(0x249)]()[_0x51df24(0x1e5)]()!=='folder')throw menuError(_0x51df24(0x1f1),_0x51df24(0x241)+_0x169f15['id']+_0x51df24(0x240)+(_0x169f15['type']||'unknown')+_0x51df24(0x214));_0x1524f4=collectDeleteTargets(_0x7643e5,_0x169f15),_0x1524f4[_0x51df24(0x246)](_0x5d73d4=>assertDeleteSafety(_0x5d73d4,!![]));}else assertDeleteSafety(_0x169f15),_0x1524f4=[_0x169f15];assertNoSharedPages(_0x7643e5,_0x1524f4);const _0x5e55be=_0x1524f4[_0x51df24(0x239)](_0x314704=>_0x314704['id']),_0x6aa6e3=cascadeForTargets(_0x1524f4),_0x252898=_0x6aa6e3['pages']['length']>0x0?[_0x51df24(0x20d)]:[];return mutationResult({'operation':_0x51df24(0x205),'selector':{'id':_0xa2cac5,'recursive':_0x170259},'before':_0x169f15,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x51df24(0x201),'method':_0x51df24(0x1d4),'path':_0x51df24(0x1d0),'body':{'idList':_0x5e55be}}],'targets':_0x1524f4,'deleteOrder':_0x5e55be,'snapshotHash':_0x7643e5[_0x51df24(0x20a)],'cascade':_0x6aa6e3,'warnings':_0x252898});}function assertDeleteSafety(_0x2aef52,_0x553c79=![]){const _0x603852=a156_0x5925b6,_0x2a80eb=_0x2aef52[_0x603852(0x1d6)][_0x603852(0x249)]()[_0x603852(0x1e5)]()==='folder';if(_0x2aef52[_0x603852(0x23e)]>0x0&&(!_0x553c79||!_0x2a80eb))throw menuError(_0x603852(0x222),'Menu\x20'+_0x2aef52['id']+_0x603852(0x1d7)+_0x2aef52[_0x603852(0x23e)]+_0x603852(0x1df),_0x603852(0x1e7)+_0x2aef52[_0x603852(0x1f0)][_0x603852(0x1ee)](',\x20'));if(_0x2a80eb&&_0x2aef52[_0x603852(0x21b)]!=null)throw menuError(_0x603852(0x21f),_0x603852(0x1fd)+_0x2aef52['id']+_0x603852(0x248)+_0x2aef52['pageId']+_0x603852(0x244),_0x603852(0x1e6));if(!_0x2a80eb)return;if(!_0x2aef52['resourcesValid'])throw menuError(_0x603852(0x1fa),_0x603852(0x1fd)+_0x2aef52['id']+_0x603852(0x1fe),_0x603852(0x213));if(_0x2aef52['resources'][_0x603852(0x22b)]>0x0)throw menuError(_0x603852(0x225),_0x603852(0x1fd)+_0x2aef52['id']+_0x603852(0x1f2)+_0x2aef52[_0x603852(0x236)][_0x603852(0x22b)]+_0x603852(0x22a),_0x603852(0x209));}function collectDeleteTargets(_0x10eef0,_0x341fda){const _0x5d106e=[],_0x2db506=new Set(),_0x1f0d10=new Set(),_0x1dcdf4=_0x3e4537=>{const _0x78d16a=a156_0x13f7;if(_0x2db506[_0x78d16a(0x228)](_0x3e4537['id']))throw menuError(_0x78d16a(0x210),_0x78d16a(0x23d)+_0x3e4537['id']+'.');if(_0x1f0d10['has'](_0x3e4537['id']))return;_0x2db506[_0x78d16a(0x1f3)](_0x3e4537['id']);for(const _0x2c84dc of _0x3e4537['childrenIds']){const _0x31ef2b=_0x10eef0[_0x78d16a(0x1e3)][_0x78d16a(0x226)](_0x2c84dc);if(!_0x31ef2b)throw menuError(_0x78d16a(0x210),_0x78d16a(0x241)+_0x3e4537['id']+_0x78d16a(0x237)+_0x2c84dc+'.');_0x1dcdf4(_0x31ef2b);}_0x2db506[_0x78d16a(0x205)](_0x3e4537['id']),_0x1f0d10[_0x78d16a(0x1f3)](_0x3e4537['id']),_0x5d106e[_0x78d16a(0x1e8)](_0x3e4537);};return _0x1dcdf4(_0x341fda),_0x5d106e;}function assertDeleteTargetsComplete(_0x465ed5,_0x3c7ab8){const _0x328ea0=a156_0x5925b6,_0x1ae837=requireMenu(_0x3c7ab8,_0x465ed5[_0x328ea0(0x229)]['id']);if(_0x465ed5[_0x328ea0(0x245)]&&_0x1ae837['type']['trim']()[_0x328ea0(0x1e5)]()!==_0x328ea0(0x1d8))throw menuError(_0x328ea0(0x1e4),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x1ae837['id']+'\x20is\x20not\x20a\x20folder.');const _0x45de79=_0x465ed5[_0x328ea0(0x245)]?collectDeleteTargets(_0x3c7ab8,_0x1ae837)['map'](_0x2dcc56=>_0x2dcc56['id']):[_0x1ae837['id']];if(JSON[_0x328ea0(0x1d5)](_0x465ed5[_0x328ea0(0x1d2)])!==JSON[_0x328ea0(0x1d5)](_0x45de79))throw menuError(_0x328ea0(0x1e4),_0x328ea0(0x1de),_0x328ea0(0x22d));}function assertNoSharedPages(_0x1410d9,_0x6793){const _0x15cedd=a156_0x5925b6,_0x57f680=new Set(_0x6793[_0x15cedd(0x239)](_0x576558=>_0x576558['id'])),_0x151cc2=new Set(_0x6793[_0x15cedd(0x239)](_0x41c6c7=>_0x41c6c7['pageId'])[_0x15cedd(0x206)](_0xca4410=>_0xca4410!=null));if(_0x151cc2[_0x15cedd(0x238)]===0x0)return;const _0x4314e6=_0x1410d9[_0x15cedd(0x215)][_0x15cedd(0x206)](_0x557edb=>!_0x57f680[_0x15cedd(0x228)](_0x557edb['id'])&&_0x557edb[_0x15cedd(0x21b)]!=null&&_0x151cc2[_0x15cedd(0x228)](_0x557edb[_0x15cedd(0x21b)]));if(_0x4314e6['length']===0x0)return;const _0x20fcc7=_0x4314e6[_0x15cedd(0x239)](_0x547975=>_0x15cedd(0x23c)+_0x547975['pageId']+'\x20->\x20menu\x20'+_0x547975['id'])['join'](',\x20');throw menuError(_0x15cedd(0x1f9),_0x15cedd(0x1dd)+_0x20fcc7+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function a156_0x2cbf(){const _0xa0d2aa=['6oPJefh','\x20and\x20cannot\x20be\x20deleted\x20safely.','recursive','forEach','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','trim','/smartapi/menu/batchDelete','rabetbase\x20menu\x20list\x20--format\x20json','deleteOrder','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','POST','stringify','type','\x20has\x20','folder','expect-parent-id','expected-children-count','cookie','Deleted\x20','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','appCode','batch\x20delete','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','byId','menu_plan_invalid','toLowerCase','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','push','pre-write-plan-validation','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu_batch_delete_count_mismatch','selector','Post-mismatch\x20menu\x20readback\x20failed\x20(','join','remainingIds','childrenIds','menu_recursive_requires_folder','\x20still\x20references\x20','add','cascade','snapshotHash','causeMessage','flagMissing','1386984QDXKtU','menu_page_shared','menu_folder_resources_invalid','absentIds','262406YYoLwv','Folder\x20','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','verification','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','batch-delete-menu','):\x20','execute\x20reviewed\x20delete\x20plan','message','delete','filter','failed','183543jGugWv','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','hash','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','157071OThPXr','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','plan','7uRwZEd','menu_tree_invalid','bool','validation','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','menus','272495pTQGFX','\x20deleted\x20menus;\x20expected\x20','str','snapshot','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','pageId','createdAt','batch-delete','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','menu_delete_page_bound','plan-out','indexOf','menu_non_empty','\x20menu(s)\x20under\x20exact\x20id\x20','path','menu_folder_has_resources','get','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','has','target','\x20resource\x20URL(s).','length','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','1425860HeKRxl','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','menu','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','menu_verification_failed','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','plan-validation','boolean','resources','\x20references\x20missing\x20child\x20','size','map','plan\x20delete','verify\x20batch\x20delete','page\x20','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','childrenCount','89703EMCbMA','\x20is\x20type\x20\x22','Menu\x20','causeCode'];a156_0x2cbf=function(){return _0xa0d2aa;};return a156_0x2cbf();}function assertCascadeMatchesPlan(_0x3f00ca,_0x5eb73b){const _0x15f88=a156_0x5925b6,_0xe71a77=cascadeForTargets(_0x5eb73b);if(JSON[_0x15f88(0x1d5)](_0x3f00ca[_0x15f88(0x1f4)])!==JSON[_0x15f88(0x1d5)](_0xe71a77))throw menuError(_0x15f88(0x1e4),_0x15f88(0x22c));}function cascadeForTargets(_0x4c3918){const _0x1dc1df=a156_0x5925b6,_0x4dde81=_0x4c3918[_0x1dc1df(0x239)](_0x40fc39=>_0x40fc39[_0x1dc1df(0x21b)])['filter'](_0xa489cb=>_0xa489cb!=null)[_0x1dc1df(0x206)]((_0xe633c1,_0x4582e9,_0xf09e32)=>_0xf09e32[_0x1dc1df(0x221)](_0xe633c1)===_0x4582e9);return{'pages':_0x4dde81,'pageSchemaAffected':_0x4dde81['length']>0x0};}function asMenuError(_0x2da103){const _0x2e6673=a156_0x5925b6;return _0x2da103 instanceof CliError?_0x2da103:menuError(_0x2e6673(0x1e4),_0x2da103 instanceof Error?_0x2da103[_0x2e6673(0x204)]:String(_0x2da103));}
|
|
@@ -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 a157_0x48b5fb=a157_0x11eb;(function(_0xd22155,_0xae4009){const _0x31c5c7=a157_0x11eb,_0x242338=_0xd22155();while(!![]){try{const _0xd7a9d3=-parseInt(_0x31c5c7(0x10f))/0x1*(parseInt(_0x31c5c7(0xdf))/0x2)+-parseInt(_0x31c5c7(0xd5))/0x3*(parseInt(_0x31c5c7(0xe1))/0x4)+-parseInt(_0x31c5c7(0xea))/0x5+-parseInt(_0x31c5c7(0xe0))/0x6*(-parseInt(_0x31c5c7(0xcb))/0x7)+parseInt(_0x31c5c7(0x141))/0x8*(parseInt(_0x31c5c7(0x10a))/0x9)+-parseInt(_0x31c5c7(0xfb))/0xa+parseInt(_0x31c5c7(0x11f))/0xb;if(_0xd7a9d3===_0xae4009)break;else _0x242338['push'](_0x242338['shift']());}catch(_0x1bb888){_0x242338['push'](_0x242338['shift']());}}}(a157_0x5a4d,0x40f61));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a157_0x48b5fb(0xf3)};function a157_0x11eb(_0x228ed1,_0x20ee90){_0x228ed1=_0x228ed1-0xc2;const _0x5a4d94=a157_0x5a4d();let _0x11eb69=_0x5a4d94[_0x228ed1];return _0x11eb69;}export function validateExternalMenuUrl(_0x5b6b53){const _0x24e98f=a157_0x48b5fb,_0x439894=_0x5b6b53[_0x24e98f(0xcd)]();let _0x4e913b;try{_0x4e913b=new URL(_0x439894);}catch{throw menuError('menu_url_invalid','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x24e98f(0xf0));}if(_0x4e913b[_0x24e98f(0x13e)]!==_0x24e98f(0x11d))throw menuError(_0x24e98f(0xfd),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x24e98f(0x140));if(_0x4e913b[_0x24e98f(0x127)]||_0x4e913b['password'])throw menuError(_0x24e98f(0xde),_0x24e98f(0xf5),_0x24e98f(0xfe));return _0x439894;}export const menuExternalLinkCreate={'service':a157_0x48b5fb(0x10b),'command':a157_0x48b5fb(0xff),'description':a157_0x48b5fb(0x11e),'risk':a157_0x48b5fb(0xe9),'structuredErrors':!![],'flags':[{'name':a157_0x48b5fb(0x11b),'type':'string','required':!![],'description':a157_0x48b5fb(0x115)},{'name':a157_0x48b5fb(0x110),'type':a157_0x48b5fb(0x117),'required':!![],'enum':[a157_0x48b5fb(0xce),a157_0x48b5fb(0xd2)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':'url','type':a157_0x48b5fb(0x117),'required':!![],'description':a157_0x48b5fb(0x101)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a157_0x48b5fb(0xfc),'type':'boolean','default':!![],'description':a157_0x48b5fb(0x131)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3405d0){validateAddInput(_0x3405d0);},async 'dryRun'(_0x2697f3){const _0x373d97=a157_0x48b5fb;validateAddInput(_0x2697f3);const {plan:_0x34ebdd}=await buildSafeAddPlan(_0x2697f3,!![]),_0x15be46=_0x34ebdd[_0x373d97(0x135)],_0x28def3=createBody(_0x15be46);return menuDryRunResult(_0x34ebdd,{'method':_0x373d97(0x129),'url':'/smartapi/menu/create','body':_0x28def3,'description':_0x373d97(0xd6)+JSON[_0x373d97(0x128)](_0x15be46['label'])+'\x20with\x20'+_0x2697f3[_0x373d97(0xc4)](_0x373d97(0x110))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0xc390de){const _0x4741c7=a157_0x48b5fb;validateAddInput(_0xc390de);const _0x3cae0b=await buildSafeAddPlan(_0xc390de,![]),{plan:_0x27a3cf,snapshot:_0x5a0751}=_0x3cae0b,_0x4e53eb=_0x27a3cf['after'],_0x5a86ce=buildMenuLookupCommand(_0xc390de['appCode']);await recheckAddSnapshot(_0xc390de,_0x27a3cf);let _0x4e5e8c;try{_0x4e5e8c=await createMenuEntity(_0xc390de[_0x4741c7(0x102)],_0xc390de[_0x4741c7(0x138)],createBody(_0x4e53eb));}catch(_0x41ba95){const _0x30d1ab=mapMenuApiError(_0x41ba95,_0x4741c7(0xf4));if(!isMenuResponseLoss(_0x41ba95)||_0x30d1ab[_0x4741c7(0xc3)]===_0x4741c7(0x134))throw externalLinkCreateFailure(_0x30d1ab,_0x27a3cf,{'stage':'create','failed':{},'verification':{'status':_0x4741c7(0x108),'lookupCommand':_0x5a86ce}});return recoverAfterResponseLoss(_0xc390de,_0x3cae0b,_0x5a86ce);}const _0x424966=Number(_0x4e5e8c?.['id']),_0x4c4282=typeof _0x4e5e8c?.[_0x4741c7(0x12a)]===_0x4741c7(0x117)?_0x4e5e8c[_0x4741c7(0x12a)]:'';if(!Number[_0x4741c7(0xd1)](_0x424966)||_0x424966<=0x0||!_0x4c4282[_0x4741c7(0xcd)]()){const _0x4a9e56=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x4741c7(0x118)+_0x5a86ce+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x4a9e56,_0x27a3cf,{'stage':'create-response-validation','succeeded':Number[_0x4741c7(0xd1)](_0x424966)&&_0x424966>0x0?[{'id':_0x424966,'created':!![]}]:[],'failed':{'createdId':Number[_0x4741c7(0xd1)](_0x424966)?_0x424966:null,'generatedPathConfirmed':Boolean(_0x4c4282['trim']())},'warnings':[_0x4741c7(0x130)],'after':Number[_0x4741c7(0xd1)](_0x424966)&&_0x424966>0x0?{..._0x4e53eb,'id':_0x424966,'path':_0x4c4282}:_0x4e53eb,'verification':{'status':_0x4741c7(0x108),'lookupCommand':_0x5a86ce,...Number[_0x4741c7(0xd1)](_0x424966)&&_0x424966>0x0?{'targetId':_0x424966}:{}}});}const _0x278366=await readAndVerifyCreatedMenu({'appCode':_0xc390de['appCode'],'cookie':_0xc390de[_0x4741c7(0x138)],'plan':_0x27a3cf,'afterPlan':_0x4e53eb,'createdId':_0x424966,'expectedPath':_0x4c4282,'lookupCommand':_0x5a86ce,'recovered':![]});return creationSuccess(_0x27a3cf,_0x278366['snapshot'],_0x278366[_0x4741c7(0xed)],![]);}};function validateAddInput(_0x1a43d8){const _0x2e9e85=a157_0x48b5fb;if(!_0x1a43d8[_0x2e9e85(0xc4)](_0x2e9e85(0x11b))[_0x2e9e85(0xcd)]())throw CliErrors[_0x2e9e85(0x112)](_0x2e9e85(0x11b));resolveExternalMenuType(_0x1a43d8),validateExternalMenuUrl(_0x1a43d8[_0x2e9e85(0xc4)](_0x2e9e85(0x124))),parseParentId(_0x1a43d8,_0x2e9e85(0x10d)),validateSort(_0x1a43d8);}function resolveExternalMenuType(_0x1cb019){const _0x3d9c41=a157_0x48b5fb,_0x5c4a92=_0x1cb019[_0x3d9c41(0xc4)](_0x3d9c41(0x110))['trim']();if(!_0x5c4a92)throw CliErrors[_0x3d9c41(0x112)](_0x3d9c41(0x110));const _0x23750d=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x5c4a92];if(!_0x23750d)throw menuError(_0x3d9c41(0xf8),_0x3d9c41(0xf6),_0x3d9c41(0xc2));return _0x23750d;}async function buildAddPlan(_0x25e2bb,_0x3f1fe1){const _0x1db3a9=a157_0x48b5fb,_0x2b684e=await fetchMutationSnapshot(_0x25e2bb,_0x1db3a9(0xf4)),_0x3163fc=parseParentId(_0x25e2bb,_0x1db3a9(0x10d))??null;if(_0x3163fc!=null)requireFolder(_0x2b684e,_0x3163fc);const _0x4c1725=validateSort(_0x25e2bb),_0xa13bd6=_0x4c1725??nextSiblingSort(_0x2b684e,_0x3163fc,_0x1db3a9(0x10b)),_0x7ddbb4=_0x25e2bb[_0x1db3a9(0xc4)](_0x1db3a9(0x11b))[_0x1db3a9(0xcd)](),_0x389c88=resolveExternalMenuType(_0x25e2bb),_0x590085=validateExternalMenuUrl(_0x25e2bb[_0x1db3a9(0xc4)](_0x1db3a9(0x124))),_0x5b55cd=Object['prototype'][_0x1db3a9(0x109)][_0x1db3a9(0xcc)](_0x25e2bb[_0x1db3a9(0x105)],_0x1db3a9(0xfc))?_0x25e2bb[_0x1db3a9(0xda)](_0x1db3a9(0xfc)):!![],_0x2538fe={'id':null,'parentId':_0x3163fc,'label':_0x7ddbb4,'path':'<platform-generated>','url':_0x590085,'type':_0x389c88,'visible':_0x5b55cd,'sort':_0xa13bd6},_0x11aca3=buildMenuLookupCommand(_0x25e2bb['appCode']),_0x4d5989=mutationResult({'operation':_0x1db3a9(0x10c),'selector':{'parentId':_0x3163fc,'type':_0x389c88,'label':_0x7ddbb4,'url':_0x590085},'before':null,'after':_0x2538fe,'dryRun':_0x3f1fe1,'backend':[{'method':_0x1db3a9(0x129),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x1db3a9(0x100),'method':'POST','path':_0x1db3a9(0xee),'body':createBody(_0x2538fe)}],'snapshotHash':_0x2b684e[_0x1db3a9(0xeb)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x11aca3}});return{'plan':_0x4d5989,'snapshot':_0x2b684e};}async function buildSafeAddPlan(_0x4ab812,_0x24e703){try{return await buildAddPlan(_0x4ab812,_0x24e703);}catch(_0x69100f){throw safeMenuAddError(_0x69100f);}}async function recheckAddSnapshot(_0xe6ba0f,_0x4af4e4){const _0x254f4c=a157_0x48b5fb;try{await recheckMutationSnapshot(_0xe6ba0f,_0x4af4e4,_0x254f4c(0xf4));}catch(_0x40d263){const _0x4e8e0c=getFailureRecord(_0x40d263);throw externalLinkCreateFailure(_0x40d263,_0x4af4e4,{'stage':'pre-write-recheck','failed':{..._0x4e8e0c?.[_0x254f4c(0x11c)]?{'expectedSnapshotHash':_0x4e8e0c[_0x254f4c(0x11c)]}:{},..._0x4e8e0c?.[_0x254f4c(0x13c)]?{'currentSnapshotHash':_0x4e8e0c[_0x254f4c(0x13c)]}:{}}});}}function createBody(_0x400ef2){const _0x12e8eb=a157_0x48b5fb;return{'parentId':toApiParentId(_0x400ef2[_0x12e8eb(0xcf)]),'label':String(_0x400ef2[_0x12e8eb(0x11b)]),'type':String(_0x400ef2[_0x12e8eb(0x114)]),'url':String(_0x400ef2[_0x12e8eb(0x124)]),'visible':Boolean(_0x400ef2[_0x12e8eb(0xfc)]),'sort':Number(_0x400ef2[_0x12e8eb(0x136)]),'extend':{}};}function buildMenuLookupCommand(_0x2e12cd){const _0x21e766=a157_0x48b5fb,_0x2e27e8='\x27'+_0x2e12cd[_0x21e766(0xe3)](/'/g,_0x21e766(0xca))+'\x27';return _0x21e766(0x145)+_0x2e27e8+_0x21e766(0x12e);}function a157_0x5a4d(){const _0x5e15fa=['Provide\x20an\x20HTTPS\x20URL.','24aTZAQR','data','causemessage','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','rabetbase\x20menu\x20list\x20--appcode\x20','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','code','str','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','createdId','menu_mutation_failed','Created\x20menu\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x27\x5c\x27\x27','35DDPsaw','call','trim','embedded','parentId','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','isSafeInteger','new-window','Menu\x20','Created\x20external\x20menu\x20','60657ZvsGWb','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','bool','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','readbackerror','object','menu_url_credentials_forbidden','2gslbUi','68790MXlVTG','20WTFyYx','menu_parent_not_folder','replace','menu\x20list','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Recovered\x20menu\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','write','1447600VMTKHC','hash','map','fact','/smartapi/menu/create','menu_not_found','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','\x20failed\x20final\x20verification.','plannedActions','link','create\x20external\x20menu','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Recovered\x20created\x20external\x20menu\x20','menu_open_mode_invalid','menus','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','2176120UDajuB','visible','menu_url_https_required','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','external-link-create','create-menu','External\x20HTTPS\x20URL','appCode','menu_verification_failed','parent','rawFlags','menu_create_recovery_required','menu_sort_invalid','failed','hasOwnProperty','1199673YNKdZv','menu','add','parent-id','includes','58774JAQPVM','open-mode','has','flagMissing','\x20has\x20an\x20unexpected\x20generated\x20path.','type','Menu\x20label','External\x20menu\x20creation\x20failed.','string','Run\x20','body','byId','label','expectedSnapshotHash','https:','Create\x20an\x20external\x20website\x20link\x20menu','5234526MbyPRQ','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','afterPlan','expectedPath','url','length','isArray','username','stringify','POST','path','\x20has\x20an\x20unexpected\x20','recovered','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','\x20--format\x20compress','visibility','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Whether\x20the\x20menu\x20is\x20visible','filter','lookupCommand','menu_permission_denied','after','sort','verification','cookie','plan','fromEntries','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','currentSnapshotHash','menu_create_response_invalid','protocol','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'];a157_0x5a4d=function(){return _0x5e15fa;};return a157_0x5a4d();}async function recoverAfterResponseLoss(_0x13b0ce,_0x416773,_0x442f91){const _0x6c3b04=a157_0x48b5fb,{plan:_0x315234,snapshot:_0x44a874}=_0x416773,_0x24c64c=_0x315234[_0x6c3b04(0x135)];let _0x4207bb;try{_0x4207bb=await fetchMenuSnapshot(_0x13b0ce[_0x6c3b04(0x102)],_0x13b0ce[_0x6c3b04(0x138)]);}catch(_0x32d52d){throw recoveryRequiredFailure(_0x315234,_0x442f91,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x565e87=_0x4207bb[_0x6c3b04(0xf9)]['filter'](_0x4de6a4=>_0x4de6a4['parentId']===_0x24c64c[_0x6c3b04(0xcf)]&&_0x4de6a4[_0x6c3b04(0x114)]===_0x24c64c[_0x6c3b04(0x114)]&&_0x4de6a4[_0x6c3b04(0x11b)]===_0x24c64c['label']&&_0x4de6a4[_0x6c3b04(0x124)]===_0x24c64c[_0x6c3b04(0x124)]),_0xadd751=_0x565e87['filter'](_0x22b964=>!_0x44a874['byId']['has'](_0x22b964['id'])),_0x563c5b=_0x565e87[_0x6c3b04(0x132)](_0x31c095=>_0x44a874['byId'][_0x6c3b04(0x111)](_0x31c095['id']));if(_0x565e87[_0x6c3b04(0x125)]!==0x1||_0xadd751['length']!==0x1)throw recoveryRequiredFailure(_0x315234,_0x442f91,{'matchCount':_0x565e87[_0x6c3b04(0x125)],'newMatchCount':_0xadd751['length'],'preexistingMatchCount':_0x563c5b[_0x6c3b04(0x125)]});const _0xe984cd=_0xadd751[0x0];try{verifyCreatedFact(_0xe984cd,_0xe984cd['id'],_0x24c64c,null);}catch(_0x3b8d8a){const _0x569377=_0x3b8d8a instanceof Error&&_0x6c3b04(0xc3)in _0x3b8d8a?_0x3b8d8a:menuError('menu_verification_failed',_0x6c3b04(0xe7)+_0xe984cd['id']+'\x20could\x20not\x20be\x20verified.',_0x6c3b04(0x118)+_0x442f91+_0x6c3b04(0xd7));throw externalLinkCreateFailure(_0x569377,_0x315234,{'stage':_0x6c3b04(0x137),'succeeded':[{'id':_0xe984cd['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xe984cd['id'],'finalFactsConfirmed':![]},'after':_0xe984cd,'warnings':['Menu\x20'+_0xe984cd['id']+_0x6c3b04(0x121)],'verification':{'status':'failed','targetId':_0xe984cd['id'],'recovered':!![],'lookupCommand':_0x442f91}});}return creationSuccess(_0x315234,_0x4207bb,_0xe984cd,!![]);}function recoveryRequiredFailure(_0x23cba2,_0x5b2c18,_0x1a25bb){const _0x113f12=a157_0x48b5fb,_0x103a63=menuError(_0x113f12(0x106),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x113f12(0x118)+_0x5b2c18+_0x113f12(0xdb));return externalLinkCreateFailure(_0x103a63,_0x23cba2,{'stage':'create-recovery','failed':_0x1a25bb,'warnings':[_0x113f12(0xd8)],'verification':{'status':'failed',..._0x1a25bb,'lookupCommand':_0x5b2c18}});}async function readAndVerifyCreatedMenu(_0x43725f){const _0x2df4c2=a157_0x48b5fb;let _0x525def;try{_0x525def=await fetchMenuSnapshot(_0x43725f[_0x2df4c2(0x102)],_0x43725f[_0x2df4c2(0x138)]);}catch(_0x4272d1){const _0x1656f1=menuError('menu_verification_failed','Menu\x20'+_0x43725f[_0x2df4c2(0xc6)]+_0x2df4c2(0xd0),_0x2df4c2(0x118)+_0x43725f[_0x2df4c2(0x133)]+_0x2df4c2(0x13b));throw externalLinkCreateFailure(_0x1656f1,_0x43725f['plan'],{'stage':'verification','succeeded':[{'id':_0x43725f[_0x2df4c2(0xc6)],'created':!![]}],'failed':{'id':_0x43725f[_0x2df4c2(0xc6)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x43725f[_0x2df4c2(0x122)],'id':_0x43725f[_0x2df4c2(0xc6)],'path':_0x43725f[_0x2df4c2(0x123)]},'warnings':[_0x2df4c2(0xd3)+_0x43725f[_0x2df4c2(0xc6)]+_0x2df4c2(0x13f)],'verification':{'status':_0x2df4c2(0x108),'targetId':_0x43725f[_0x2df4c2(0xc6)],'lookupCommand':_0x43725f[_0x2df4c2(0x133)]}});}const _0x4b5ddf=_0x525def[_0x2df4c2(0x11a)]['get'](_0x43725f[_0x2df4c2(0xc6)]);try{if(!_0x4b5ddf)throw menuError(_0x2df4c2(0x103),_0x2df4c2(0xc8)+_0x43725f[_0x2df4c2(0xc6)]+_0x2df4c2(0x120),_0x2df4c2(0x118)+_0x43725f[_0x2df4c2(0x133)]+_0x2df4c2(0x13b));verifyCreatedFact(_0x4b5ddf,_0x43725f['createdId'],_0x43725f[_0x2df4c2(0x122)],_0x43725f[_0x2df4c2(0x123)]);}catch(_0x2dee7c){const _0x2ffce1=_0x2dee7c instanceof Error&&_0x2df4c2(0xc3)in _0x2dee7c?_0x2dee7c:menuError('menu_verification_failed',_0x2df4c2(0xc8)+_0x43725f['createdId']+_0x2df4c2(0xf1),_0x2df4c2(0x118)+_0x43725f[_0x2df4c2(0x133)]+_0x2df4c2(0x13b));throw externalLinkCreateFailure(_0x2ffce1,_0x43725f[_0x2df4c2(0x139)],{'stage':_0x2df4c2(0x137),'succeeded':[{'id':_0x43725f[_0x2df4c2(0xc6)],'created':!![]}],'failed':{'id':_0x43725f[_0x2df4c2(0xc6)],'finalFactsConfirmed':![]},'after':_0x4b5ddf??{..._0x43725f['afterPlan'],'id':_0x43725f[_0x2df4c2(0xc6)],'path':_0x43725f[_0x2df4c2(0x123)]},'warnings':[_0x2df4c2(0xd3)+_0x43725f[_0x2df4c2(0xc6)]+_0x2df4c2(0xd9)],'verification':{'status':_0x2df4c2(0x108),'targetId':_0x43725f[_0x2df4c2(0xc6)],'recovered':_0x43725f[_0x2df4c2(0x12c)],'lookupCommand':_0x43725f['lookupCommand']}});}return{'snapshot':_0x525def,'fact':_0x4b5ddf};}function verifyCreatedFact(_0x21fbe3,_0x41f292,_0x57d092,_0x531a9e){const _0x5ddee6=a157_0x48b5fb;if(!Number[_0x5ddee6(0xd1)](_0x21fbe3['id'])||_0x21fbe3['id']<=0x0||_0x21fbe3['id']!==_0x41f292)throw menuError('menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x1862e0=[[_0x5ddee6(0x104),_0x21fbe3[_0x5ddee6(0xcf)],_0x57d092[_0x5ddee6(0xcf)]],['type',_0x21fbe3['type'],_0x57d092[_0x5ddee6(0x114)]],[_0x5ddee6(0x11b),_0x21fbe3[_0x5ddee6(0x11b)],_0x57d092[_0x5ddee6(0x11b)]],['URL',_0x21fbe3['url'],_0x57d092['url']],[_0x5ddee6(0x12f),_0x21fbe3[_0x5ddee6(0xfc)],_0x57d092[_0x5ddee6(0xfc)]],[_0x5ddee6(0x136),_0x21fbe3[_0x5ddee6(0x136)],_0x57d092[_0x5ddee6(0x136)]]];for(const [_0x550ed4,_0xeeebcb,_0x5e8140]of _0x1862e0){if(_0xeeebcb!==_0x5e8140)throw menuError(_0x5ddee6(0x103),_0x5ddee6(0xc8)+_0x21fbe3['id']+_0x5ddee6(0x12b)+_0x550ed4+'.',_0x5ddee6(0xe5));}if(!_0x21fbe3[_0x5ddee6(0x12a)]['trim']()||_0x531a9e!==null&&_0x21fbe3[_0x5ddee6(0x12a)]!==_0x531a9e)throw menuError(_0x5ddee6(0x103),_0x5ddee6(0xc8)+_0x21fbe3['id']+_0x5ddee6(0x113),_0x5ddee6(0xe5));}function creationSuccess(_0x497365,_0x25fcb5,_0x1ea9de,_0x4de496){const _0x3cd38e=a157_0x48b5fb,_0x36094f=mutationResult({..._0x497365,'after':_0x1ea9de,'dryRun':![],'succeeded':[{'id':_0x1ea9de['id'],'created':!![],'recovered':_0x4de496}],'verification':{'checkedBy':_0x3cd38e(0xe4),'snapshotHash':_0x25fcb5[_0x3cd38e(0xeb)],'targetId':_0x1ea9de['id'],'recovered':_0x4de496,'path':_0x1ea9de[_0x3cd38e(0x12a)]}});return{'ok':!![],'message':_0x4de496?_0x3cd38e(0xf7)+_0x1ea9de['id']+'\x20after\x20response\x20loss.':_0x3cd38e(0xd4)+_0x1ea9de['id']+'.','data':{..._0x36094f,'recovered':_0x4de496}};}function externalLinkCreateFailure(_0x3070d2,_0x467d69,_0x2b6760){const _0x4ffde1=a157_0x48b5fb;return menuFailure(safeMenuAddError(_0x3070d2),redactFailurePlan(_0x467d69),{..._0x2b6760,'succeeded':_0x2b6760['succeeded']?.[_0x4ffde1(0xec)](redactFailureRecord),'failed':_0x2b6760['failed']?redactFailureRecord(_0x2b6760[_0x4ffde1(0x108)]):undefined,'verification':_0x2b6760[_0x4ffde1(0x137)]?redactFailureRecord(_0x2b6760[_0x4ffde1(0x137)]):undefined,'after':_0x2b6760[_0x4ffde1(0x135)]===undefined?undefined:redactFailureValue(_0x2b6760[_0x4ffde1(0x135)])});}function redactFailurePlan(_0x5b782f){const _0x4e100e=a157_0x48b5fb;return{..._0x5b782f,'selector':redactFailureRecord(_0x5b782f['selector']),'before':redactFailureValue(_0x5b782f['before']),'after':redactFailureValue(_0x5b782f[_0x4e100e(0x135)]),'plannedActions':_0x5b782f[_0x4e100e(0xf2)]?.['map'](_0x4aa187=>({..._0x4aa187,'body':redactFailureRecord(_0x4aa187[_0x4e100e(0x119)])})),'succeeded':_0x5b782f['succeeded'][_0x4e100e(0xec)](redactFailureRecord),'failed':_0x5b782f[_0x4e100e(0x108)][_0x4e100e(0xec)](redactFailureRecord),'verification':_0x5b782f[_0x4e100e(0x137)]?redactFailureRecord(_0x5b782f['verification']):undefined};}function redactFailureRecord(_0x43410e){return redactFailureValue(_0x43410e);}function redactFailureValue(_0x5870c4,_0x100b9f=''){const _0x4ea900=a157_0x48b5fb,_0x58c5cb=_0x100b9f['toLowerCase']()[_0x4ea900(0xe3)](/[^a-z0-9]/g,'');if(['cause',_0x4ea900(0x143),_0x4ea900(0xdc),'rawerror'][_0x4ea900(0x10e)](_0x58c5cb))return'<redacted>';if(Array[_0x4ea900(0x126)](_0x5870c4))return _0x5870c4[_0x4ea900(0xec)](_0x3cbc31=>redactFailureValue(_0x3cbc31));if(_0x5870c4&&typeof _0x5870c4===_0x4ea900(0xdd))return Object[_0x4ea900(0x13a)](Object['entries'](_0x5870c4)[_0x4ea900(0xec)](([_0x5d3422,_0x26233d])=>[_0x5d3422,redactFailureValue(_0x26233d,_0x5d3422)]));return _0x5870c4;}function safeMenuAddError(_0x20ed77){const _0x358c83=a157_0x48b5fb,_0x38d37e=_0x20ed77 instanceof CliError?_0x20ed77['code']:_0x358c83(0xc7);switch(_0x38d37e){case'menu_state_drift':return menuError(_0x38d37e,_0x358c83(0xc5),_0x358c83(0x144));case'menu_permission_denied':return menuError(_0x38d37e,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x358c83(0x12d));case _0x358c83(0x13d):return menuError(_0x38d37e,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x358c83(0xc9));case _0x358c83(0x103):return menuError(_0x38d37e,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x358c83(0xc9));case'menu_create_recovery_required':return menuError(_0x38d37e,_0x358c83(0xe6),_0x358c83(0xe8));case'menu_mutation_failed':case _0x358c83(0xef):case _0x358c83(0xe2):case _0x358c83(0x107):case'menu_sort_overflow':return menuError(_0x38d37e,_0x358c83(0x116),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x358c83(0xc7),_0x358c83(0x116),_0x358c83(0xfa));}}function getFailureRecord(_0x16ed1d){const _0x17929c=a157_0x48b5fb;if(!(_0x16ed1d instanceof Error)||!(_0x17929c(0x142)in _0x16ed1d))return undefined;const _0x46cec2=_0x16ed1d[_0x17929c(0x142)];if(!_0x46cec2||typeof _0x46cec2!=='object')return undefined;const _0x48a6d4=_0x46cec2['failed'];if(!Array[_0x17929c(0x126)](_0x48a6d4)||!_0x48a6d4[0x0]||typeof _0x48a6d4[0x0]!=='object')return undefined;return _0x48a6d4[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
|
+
function a158_0xf27d(_0x31adc5,_0x2da2c8){_0x31adc5=_0x31adc5-0x1f0;const _0x16c12e=a158_0x16c1();let _0xf27deb=_0x16c12e[_0x31adc5];return _0xf27deb;}const a158_0x48edb0=a158_0xf27d;(function(_0x3c5476,_0x1d47b1){const _0x479054=a158_0xf27d,_0x51e152=_0x3c5476();while(!![]){try{const _0x1793f2=-parseInt(_0x479054(0x1f8))/0x1*(parseInt(_0x479054(0x22e))/0x2)+parseInt(_0x479054(0x201))/0x3+-parseInt(_0x479054(0x22f))/0x4+-parseInt(_0x479054(0x218))/0x5+-parseInt(_0x479054(0x1f0))/0x6+-parseInt(_0x479054(0x1f4))/0x7*(parseInt(_0x479054(0x213))/0x8)+-parseInt(_0x479054(0x220))/0x9*(-parseInt(_0x479054(0x229))/0xa);if(_0x1793f2===_0x1d47b1)break;else _0x51e152['push'](_0x51e152['shift']());}catch(_0xc7be2c){_0x51e152['push'](_0x51e152['shift']());}}}(a158_0x16c1,0x40f1a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a158_0x16c1(){const _0x5e5f72=['str','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','appCode','trim','Menu\x20',',\x20current\x20','label','8MFnPCL','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','code','New\x20external\x20HTTPS\x20URL','hash','2650485dhsnVb','update-recovery','flagMissing','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','menu_update_recovery_required','Response\x20was\x20lost\x20and\x20menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','2592pUUaUx','/smartapi/menu/update','\x27\x5c\x27\x27','expect-parent-id','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','sort','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','after','menu_permission_denied','56680EhwguJ','external-link-update','menu\x20list','requestedUrlObserved','childrenCount','5704bQqSrJ','1732796gtVedD','plan','menu_external_link_type_required','update','parentId','\x20--format\x20compress','string','visible','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','byId','POST','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','failed','Run\x20','menu_external_link_path_missing','replace','\x20has\x20','763698fMnxsh','path','Updated\x20external\x20URL\x20for\x20menu\x20','cookie','2417681OotQDH','readbackFailed','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','type','1bzWOBq','snapshot','update\x20external\x20menu\x20URL','body','expect-url','url','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','get','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','217320USfQZj','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20changed\x20during\x20the\x20URL-only\x20update.','iframe','\x20has\x20an\x20empty\x20platform\x20path.','\x22,\x20not\x20iframe\x20or\x20link.','\x20direct\x20child\x20menu(s).','update-external-link-url','link','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','verification'];a158_0x16c1=function(){return _0x5e5f72;};return a158_0x16c1();}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':a158_0x48edb0(0x239),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':a158_0x48edb0(0x22a),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a158_0x48edb0(0x235),'required':!![],'description':a158_0x48edb0(0x216)},{'name':'expect-url','type':'string','required':!![],'description':a158_0x48edb0(0x202)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x50a835){validateInput(_0x50a835);},async 'dryRun'(_0x873ad){const _0x3606e1=a158_0x48edb0;validateInput(_0x873ad);const _0x3b9185=await buildPlan(_0x873ad,!![]);return menuDryRunResult(_0x3b9185[_0x3606e1(0x230)],{'method':'POST','url':_0x3606e1(0x221),'body':_0x3b9185[_0x3606e1(0x1fb)],'description':_0x3606e1(0x224)+_0x3b9185[_0x3606e1(0x1fb)]['id']+'.'});},async 'execute'(_0x2b2bf7){const _0x3b64da=a158_0x48edb0;validateInput(_0x2b2bf7);const _0x3d57c9=await buildPlan(_0x2b2bf7,![]),{plan:_0x2bb88f,body:_0x40badf,before:_0xbba09b,noChanges:_0x2da458}=_0x3d57c9,_0x4d74d0=_0x40badf['id'];if(_0x2da458)return updateSuccess(_0x2bb88f,_0x3d57c9[_0x3b64da(0x1f9)],_0xbba09b,!![],![]);await recheckMutationSnapshot(_0x2b2bf7,_0x2bb88f,_0x3b64da(0x1fa),_0x4d74d0);try{await updateMenuEntity(_0x2b2bf7[_0x3b64da(0x20e)],_0x2b2bf7[_0x3b64da(0x1f3)],{'id':_0x40badf['id'],'url':_0x40badf[_0x3b64da(0x1fd)]});}catch(_0xad03ec){const _0x195786=mapMenuApiError(_0xad03ec,_0x3b64da(0x1fa),_0x4d74d0);if(isMenuResponseLoss(_0xad03ec)&&_0x195786[_0x3b64da(0x215)]!==_0x3b64da(0x228))return recoverAfterResponseLoss(_0x2b2bf7,_0x3d57c9);throw menuFailure(_0x195786,_0x2bb88f,{'stage':_0x3b64da(0x232),'failed':{'id':_0x4d74d0},'warnings':[_0x3b64da(0x20a)],'verification':{'status':_0x3b64da(0x23b),'targetId':_0x4d74d0,'lookupCommand':buildLookupCommand(_0x2b2bf7[_0x3b64da(0x20e)])}});}let _0x279e99,_0x1e1e3a;try{_0x279e99=await fetchMenuSnapshot(_0x2b2bf7[_0x3b64da(0x20e)],_0x2b2bf7[_0x3b64da(0x1f3)]),_0x1e1e3a=requireMenu(_0x279e99,_0x4d74d0),verifyUpdatedFact(_0xbba09b,_0x1e1e3a,_0x40badf[_0x3b64da(0x1fd)]);}catch(_0xf8974a){const _0x1d9312=describeMenuErrorCause(_0xf8974a,'verify\x20external\x20menu\x20URL\x20update',_0x4d74d0),_0x17bf0f=asVerificationError(_0xf8974a,'Update\x20request\x20for\x20menu\x20'+_0x4d74d0+_0x3b64da(0x200));throw menuFailure(_0x17bf0f,_0x2bb88f,{'stage':_0x3b64da(0x20b),'succeeded':[{'id':_0x4d74d0,'updateRequested':!![]}],'failed':{'id':_0x4d74d0,'requestedStateConfirmed':![],..._0x1d9312},'warnings':[_0x3b64da(0x21c)],'verification':{'status':_0x3b64da(0x23b),'targetId':_0x4d74d0,'lookupCommand':buildLookupCommand(_0x2b2bf7[_0x3b64da(0x20e)])}});}return updateSuccess(_0x2bb88f,_0x279e99,_0x1e1e3a,![],![]);}};function validateInput(_0x147d40){const _0x3e84bf=a158_0x48edb0;validateExactId(_0x147d40),requiredUrl(_0x147d40,_0x3e84bf(0x1fd)),requiredExpectedUrl(_0x147d40),parseParentId(_0x147d40,_0x3e84bf(0x223),{'required':!![]});}function requiredUrl(_0x6a863f,_0x557cf7){const _0x4863cf=a158_0x48edb0;if(!hasFlag(_0x6a863f,_0x557cf7)||!_0x6a863f[_0x4863cf(0x20c)](_0x557cf7)[_0x4863cf(0x20f)]())throw CliErrors[_0x4863cf(0x21a)](_0x557cf7);return validateExternalMenuUrl(_0x6a863f['str'](_0x557cf7));}function requiredExpectedUrl(_0x197843){const _0x44eb93=a158_0x48edb0;if(!hasFlag(_0x197843,_0x44eb93(0x1fc))||!_0x197843[_0x44eb93(0x20c)](_0x44eb93(0x1fc))[_0x44eb93(0x20f)]())throw CliErrors[_0x44eb93(0x21a)](_0x44eb93(0x1fc));return _0x197843[_0x44eb93(0x20c)](_0x44eb93(0x1fc))[_0x44eb93(0x20f)]();}async function buildPlan(_0x444fcc,_0x493456){const _0x3fed43=a158_0x48edb0,_0x3e912b=validateExactId(_0x444fcc),_0x66ff0f=requiredUrl(_0x444fcc,_0x3fed43(0x1fd)),_0x14f552=requiredExpectedUrl(_0x444fcc),_0x55424d=parseParentId(_0x444fcc,_0x3fed43(0x223),{'required':!![]}),_0x5b3981=await fetchMutationSnapshot(_0x444fcc,'update\x20external\x20menu\x20URL',_0x3e912b),_0x667955=requireMenu(_0x5b3981,_0x3e912b);assertExternalLinkLeaf(_0x667955);if(_0x667955['parentId']!==_0x55424d)throw menuError('menu_state_drift','Menu\x20'+_0x3e912b+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x55424d)+_0x3fed43(0x211)+formatParent(_0x667955[_0x3fed43(0x233)])+'.',_0x3fed43(0x1f6));const _0x50abc0=_0x667955[_0x3fed43(0x1fd)]===_0x66ff0f;if(!_0x50abc0&&_0x667955[_0x3fed43(0x1fd)]!==_0x14f552)throw menuError('menu_state_drift',_0x3fed43(0x210)+_0x3e912b+_0x3fed43(0x1fe),_0x3fed43(0x214));const _0x380b37={'id':_0x3e912b,'appCode':_0x444fcc[_0x3fed43(0x20e)],'url':_0x66ff0f},_0x42a0e8={..._0x667955,'url':_0x66ff0f};return{'body':_0x380b37,'before':_0x667955,'noChanges':_0x50abc0,'snapshot':_0x5b3981,'plan':mutationResult({'operation':_0x3fed43(0x22a),'selector':{'id':_0x3e912b},'before':_0x667955,'after':_0x42a0e8,'dryRun':_0x493456,'backend':[...BACKEND],'plannedActions':_0x50abc0?[]:[{'stage':_0x3fed43(0x208),'method':_0x3fed43(0x239),'path':_0x3fed43(0x221),'body':_0x380b37}],'snapshotHash':_0x5b3981[_0x3fed43(0x217)],'warnings':_0x50abc0?[_0x3fed43(0x237)]:[]})};}function assertExternalLinkLeaf(_0x3f450c){const _0x1c7348=a158_0x48edb0;if(_0x3f450c[_0x1c7348(0x1f7)]!==_0x1c7348(0x204)&&_0x3f450c[_0x1c7348(0x1f7)]!==_0x1c7348(0x209))throw menuError(_0x1c7348(0x231),_0x1c7348(0x210)+_0x3f450c['id']+'\x20is\x20type\x20\x22'+(_0x3f450c[_0x1c7348(0x1f7)]||'unknown')+_0x1c7348(0x206),_0x1c7348(0x23a));if(_0x3f450c[_0x1c7348(0x22d)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x1c7348(0x210)+_0x3f450c['id']+_0x1c7348(0x23f)+_0x3f450c[_0x1c7348(0x22d)]+_0x1c7348(0x207),_0x1c7348(0x226));if(!_0x3f450c[_0x1c7348(0x1f1)]['trim']())throw menuError(_0x1c7348(0x23d),'Menu\x20'+_0x3f450c['id']+_0x1c7348(0x205),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x3c0e4f,_0x322cae,_0x5da4f1){const _0x5b418e=a158_0x48edb0;assertExternalLinkLeaf(_0x322cae);const _0x2609d1=[['id',_0x322cae['id'],_0x3c0e4f['id']],['label',_0x322cae[_0x5b418e(0x212)],_0x3c0e4f[_0x5b418e(0x212)]],[_0x5b418e(0x1f7),_0x322cae[_0x5b418e(0x1f7)],_0x3c0e4f['type']],[_0x5b418e(0x1f1),_0x322cae[_0x5b418e(0x1f1)],_0x3c0e4f[_0x5b418e(0x1f1)]],[_0x5b418e(0x233),_0x322cae[_0x5b418e(0x233)],_0x3c0e4f[_0x5b418e(0x233)]],[_0x5b418e(0x225),_0x322cae[_0x5b418e(0x225)],_0x3c0e4f[_0x5b418e(0x225)]],[_0x5b418e(0x236),_0x322cae['visible'],_0x3c0e4f[_0x5b418e(0x236)]]];for(const [_0x39a340,_0x23c8f5,_0x224c0f]of _0x2609d1){assertVerified(_0x23c8f5===_0x224c0f,_0x5b418e(0x210)+_0x3c0e4f['id']+'\x20'+_0x39a340+_0x5b418e(0x203));}assertVerified(_0x322cae[_0x5b418e(0x1fd)]===_0x5da4f1,'Menu\x20'+_0x3c0e4f['id']+_0x5b418e(0x21f));}function updateSuccess(_0x426442,_0x2fa567,_0x2501c4,_0x570406,_0x17f79f){const _0x5c066b=a158_0x48edb0,_0x20c391=_0x2501c4['id'],_0x29a18e=mutationResult({..._0x426442,'after':_0x2501c4,'dryRun':![],'succeeded':[{'id':_0x20c391,'updated':!_0x570406,'skipped':_0x570406,'recovered':_0x17f79f}],'verification':{'checkedBy':_0x5c066b(0x22b),'snapshotHash':_0x2fa567[_0x5c066b(0x217)],'targetId':_0x20c391,'matchesRequestedState':!![],'recovered':_0x17f79f}});return{'ok':!![],'message':_0x17f79f?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x20c391+'.':_0x570406?_0x5c066b(0x210)+_0x20c391+'\x20already\x20matches\x20the\x20requested\x20URL.':_0x5c066b(0x1f2)+_0x20c391+'.','data':{..._0x29a18e,'recovered':_0x17f79f}};}async function recoverAfterResponseLoss(_0x2ed410,_0x24a91f){const _0x2b8926=a158_0x48edb0,{plan:_0x19fe9e,before:_0x5ebb37,body:_0x246e5c}=_0x24a91f;let _0x310287;try{_0x310287=await fetchMenuSnapshot(_0x2ed410[_0x2b8926(0x20e)],_0x2ed410[_0x2b8926(0x1f3)]);}catch{throw recoveryRequired(_0x19fe9e,_0x2ed410[_0x2b8926(0x20e)],{'id':_0x246e5c['id'],'readbackFailed':!![]});}const _0x4d058c=_0x310287[_0x2b8926(0x238)][_0x2b8926(0x1ff)](_0x246e5c['id']);if(!_0x4d058c||_0x4d058c[_0x2b8926(0x1fd)]!==_0x246e5c[_0x2b8926(0x1fd)])throw recoveryRequired(_0x19fe9e,_0x2ed410[_0x2b8926(0x20e)],{'id':_0x246e5c['id'],'requestedUrlObserved':![],'after':_0x4d058c??null});try{verifyUpdatedFact(_0x5ebb37,_0x4d058c,_0x246e5c[_0x2b8926(0x1fd)]);}catch(_0x125875){const _0x5a804f=asVerificationError(_0x125875,_0x2b8926(0x21e)+_0x246e5c['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x5a804f,_0x19fe9e,{'stage':_0x2b8926(0x219),'succeeded':[{'id':_0x246e5c['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x246e5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4d058c,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x2b8926(0x23b),'targetId':_0x246e5c['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x2ed410[_0x2b8926(0x20e)])}});}return updateSuccess(_0x19fe9e,_0x310287,_0x4d058c,![],!![]);}function recoveryRequired(_0x4fb335,_0xc248a,_0xb4f5d6){const _0xde1ce=a158_0x48edb0,_0x20e54a=menuError(_0xde1ce(0x21d),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0xde1ce(0x23c)+buildLookupCommand(_0xc248a)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x20e54a,_0x4fb335,{'stage':_0xde1ce(0x219),'failed':{'id':_0xb4f5d6['id'],..._0xb4f5d6[_0xde1ce(0x22c)]===undefined?{}:{'requestedUrlObserved':_0xb4f5d6[_0xde1ce(0x22c)]},..._0xb4f5d6['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0xb4f5d6[_0xde1ce(0x227)],'warnings':[_0xde1ce(0x20d)],'verification':{'status':_0xde1ce(0x23b),'targetId':_0xb4f5d6['id'],..._0xb4f5d6[_0xde1ce(0x22c)]===undefined?{}:{'requestedUrlObserved':_0xb4f5d6[_0xde1ce(0x22c)]},..._0xb4f5d6[_0xde1ce(0x1f5)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0xc248a)}});}function buildLookupCommand(_0x43d201){const _0x375eff=a158_0x48edb0,_0x1e0469='\x27'+_0x43d201[_0x375eff(0x23e)](/'/g,_0x375eff(0x222))+'\x27';return _0x375eff(0x21b)+_0x1e0469+_0x375eff(0x234);}
|
|
@@ -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 a159_0x2acb02=a159_0x1df4;(function(_0x3d1fff,_0x498780){const _0x1ad0d1=a159_0x1df4,_0x1e2167=_0x3d1fff();while(!![]){try{const _0x52c89e=parseInt(_0x1ad0d1(0x144))/0x1*(parseInt(_0x1ad0d1(0x149))/0x2)+-parseInt(_0x1ad0d1(0x156))/0x3*(-parseInt(_0x1ad0d1(0x147))/0x4)+-parseInt(_0x1ad0d1(0x168))/0x5*(parseInt(_0x1ad0d1(0x188))/0x6)+-parseInt(_0x1ad0d1(0x164))/0x7*(parseInt(_0x1ad0d1(0x14c))/0x8)+-parseInt(_0x1ad0d1(0x15b))/0x9+parseInt(_0x1ad0d1(0x146))/0xa*(parseInt(_0x1ad0d1(0x141))/0xb)+parseInt(_0x1ad0d1(0x17f))/0xc;if(_0x52c89e===_0x498780)break;else _0x1e2167['push'](_0x1e2167['shift']());}catch(_0x114072){_0x1e2167['push'](_0x1e2167['shift']());}}}(a159_0x1958,0xbf692));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a159_0x1958(){const _0x1f13ce=['Created\x20menu\x20folder\x20','menu\x20list','1179315GNhDHZ','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','verify\x20folder\x20creation','folder','label','\x20has\x20an\x20unexpected\x20label.','\x22\x20with\x20a\x20platform-generated\x20path.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parent-id','8438591eloVwu','POST','\x20has\x20resources.','create\x20folder','52970UIGyAu','pageId','\x20has\x20an\x20unexpected\x20sort.','Would\x20create\x20empty\x20folder\x20\x22','trim','\x20is\x20missing\x20from\x20menu\x20list.','str','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','length','sort','\x20is\x20not\x20visible.','create-folder','Folder\x20label','visible','menu_create_response_invalid','depth','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','rabetbase\x20menu\x20list\x20--format\x20json','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20may\x20exist\x20online\x20at\x20path\x20','isSafeInteger',';\x20verify\x20it\x20before\x20retrying.','after','11337540cvyfUA','create','<platform-generated>','\x20has\x20unexpected\x20parent\x20','Folder\x20','cookie','failed','verification','parentId','606NzLjkw','menu','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','hash','flagMissing','11fvcKBh','/smartapi/menu/create','path','121889MhtESP','create-response-validation','7880190bkfLoM','1131068dMInSq','appCode','10dcQPBE','Menu\x20create\x20response\x20for\x20folder\x20','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','8vQJrqK','Created\x20folder\x20','get','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','childrenCount','resources','\x20is\x20not\x20type\x20folder.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','type','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','9octRxP','Created\x20menu\x20','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'];a159_0x1958=function(){return _0x1f13ce;};return a159_0x1958();}const BACKEND=[{'method':a159_0x2acb02(0x165),'path':a159_0x2acb02(0x142)}];export const menuGroupCreate={'service':a159_0x2acb02(0x189),'command':'group-create','description':a159_0x2acb02(0x162),'risk':'write','structuredErrors':!![],'flags':[{'name':a159_0x2acb02(0x15f),'type':'string','required':!![],'description':a159_0x2acb02(0x174)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5c4305){validateCreateInput(_0x5c4305);},async 'dryRun'(_0x318b70){const _0x1c16a4=a159_0x2acb02,_0x4f6152=await buildCreatePlan(_0x318b70,!![]),_0xfb9108=_0x4f6152[_0x1c16a4(0x17e)];return menuDryRunResult(_0x4f6152,{'method':_0x1c16a4(0x165),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0xfb9108[_0x1c16a4(0x187)]),'label':_0xfb9108[_0x1c16a4(0x15f)],'type':'folder','visible':!![],'sort':_0xfb9108['sort'],'extend':{}},'description':_0x1c16a4(0x16b)+String(_0xfb9108[_0x1c16a4(0x15f)])+_0x1c16a4(0x161)});},async 'execute'(_0x225183){const _0x170b25=a159_0x2acb02;validateCreateInput(_0x225183);const _0x1704bf=await buildCreatePlan(_0x225183,![]),_0x54ccbf=_0x1704bf[_0x170b25(0x17e)];await recheckMutationSnapshot(_0x225183,_0x1704bf,_0x170b25(0x167));let _0x418b26;try{_0x418b26=await createMenuEntity(_0x225183[_0x170b25(0x148)],_0x225183[_0x170b25(0x184)],{'parentId':toApiParentId(_0x54ccbf['parentId']),'label':String(_0x54ccbf[_0x170b25(0x15f)]),'type':_0x170b25(0x15e),'visible':!![],'sort':Number(_0x54ccbf[_0x170b25(0x171)]),'extend':{}});}catch(_0x3b24e1){const _0x20456d=mapMenuApiError(_0x3b24e1,_0x170b25(0x167));throw menuFailure(_0x20456d,_0x1704bf,{'stage':_0x170b25(0x180),'failed':{}});}const _0x4dc029=Number(_0x418b26['id']);if(!Number[_0x170b25(0x17c)](_0x4dc029)||_0x4dc029<=0x0){const _0x24ede4=menuError(_0x170b25(0x176),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x170b25(0x15c));throw menuFailure(_0x24ede4,_0x1704bf,{'stage':_0x170b25(0x145),'failed':{'createdId':_0x418b26['id']??null},'warnings':[_0x170b25(0x153)],'verification':{'status':_0x170b25(0x185),'lookupCommand':_0x170b25(0x179)}});}const _0x4fe82f=typeof _0x418b26[_0x170b25(0x143)]==='string'?_0x418b26[_0x170b25(0x143)]:'';if(!_0x4fe82f[_0x170b25(0x16c)]()){const _0x43aa28=menuError(_0x170b25(0x176),_0x170b25(0x14a)+_0x4dc029+_0x170b25(0x14f),_0x170b25(0x14b));throw menuFailure(_0x43aa28,_0x1704bf,{'stage':_0x170b25(0x145),'succeeded':[{'id':_0x4dc029,'created':!![]}],'failed':{'id':_0x4dc029,'generatedPathConfirmed':![]},'warnings':[_0x170b25(0x183)+_0x4dc029+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x54ccbf,'id':_0x4dc029,'path':_0x4fe82f},'verification':{'status':_0x170b25(0x185),'lookupCommand':_0x170b25(0x179),'targetId':_0x4dc029}});}let _0x2131d7;try{_0x2131d7=await fetchMenuSnapshot(_0x225183[_0x170b25(0x148)],_0x225183[_0x170b25(0x184)]);}catch(_0x58283f){const _0x5589f4=describeMenuErrorCause(_0x58283f,'verify\x20folder\x20creation',_0x4dc029),_0x7149e1=asVerificationError(_0x58283f,_0x170b25(0x183)+_0x4dc029+_0x170b25(0x178));throw menuFailure(_0x7149e1,_0x1704bf,{'stage':_0x170b25(0x186),'succeeded':[{'id':_0x4dc029,'created':!![],'path':_0x4fe82f}],'failed':{'id':_0x4dc029,'finalFactsConfirmed':![],..._0x5589f4},'warnings':[_0x170b25(0x183)+_0x4dc029+_0x170b25(0x17b)+JSON['stringify'](_0x4fe82f)+_0x170b25(0x17d)],'after':{..._0x54ccbf,'id':_0x4dc029,'path':_0x4fe82f},'verification':{'status':_0x170b25(0x185),'lookupCommand':_0x170b25(0x179),'targetId':_0x4dc029}});}const _0x4d015c=_0x2131d7['byId'][_0x170b25(0x14e)](_0x4dc029);let _0x426397;try{assertVerified(Boolean(_0x4d015c),_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x16d)),_0x426397=_0x4d015c,assertVerified(_0x426397[_0x170b25(0x154)]===_0x170b25(0x15e),_0x170b25(0x157)+_0x4dc029+_0x170b25(0x152)),assertVerified(_0x426397[_0x170b25(0x15f)]===_0x54ccbf['label'],_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x160)),assertVerified(_0x426397[_0x170b25(0x143)]===_0x4fe82f&&Boolean(_0x426397[_0x170b25(0x143)]['trim']()),'Created\x20folder\x20'+_0x4dc029+_0x170b25(0x158)),assertVerified(_0x426397[_0x170b25(0x175)]===!![],_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x172)),assertVerified(_0x426397[_0x170b25(0x151)][_0x170b25(0x170)]===0x0,'Created\x20folder\x20'+_0x4dc029+_0x170b25(0x166)),assertVerified(_0x426397[_0x170b25(0x150)]===0x0,'Created\x20folder\x20'+_0x4dc029+'\x20is\x20not\x20empty.'),assertVerified(_0x426397[_0x170b25(0x171)]===_0x54ccbf[_0x170b25(0x171)],_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x16a)),assertVerified(_0x426397[_0x170b25(0x187)]===_0x54ccbf['parentId'],_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x182)+(_0x426397[_0x170b25(0x187)]??'root')+'.'),assertVerified(_0x426397[_0x170b25(0x169)]==null,_0x170b25(0x14d)+_0x4dc029+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x4a4ca6=_0x426397['parentId']==null?undefined:requireFolder(_0x2131d7,_0x426397[_0x170b25(0x187)]);assertVerified(_0x426397[_0x170b25(0x177)]===(_0x4a4ca6?_0x4a4ca6[_0x170b25(0x177)]+0x1:0x0),_0x170b25(0x14d)+_0x4dc029+_0x170b25(0x18a));}catch(_0x4ec686){const _0x17148a=describeMenuErrorCause(_0x4ec686,_0x170b25(0x15d),_0x4dc029),_0x17f670=asVerificationError(_0x4ec686,_0x170b25(0x183)+_0x4dc029+_0x170b25(0x17a));throw menuFailure(_0x17f670,_0x1704bf,{'stage':_0x170b25(0x186),'succeeded':[{'id':_0x4dc029,'created':!![],'path':_0x4fe82f}],'failed':{'id':_0x4dc029,'finalFactsConfirmed':![],..._0x17148a},'warnings':[_0x170b25(0x183)+_0x4dc029+_0x170b25(0x16f)],'after':_0x4d015c??{..._0x54ccbf,'id':_0x4dc029,'path':_0x4fe82f},'verification':{'status':_0x170b25(0x185),'lookupCommand':_0x170b25(0x179),'targetId':_0x4dc029}});}const _0x2b852f=mutationResult({..._0x1704bf,'after':_0x426397,'dryRun':![],'succeeded':[{'id':_0x4dc029,'type':_0x170b25(0x15e),'path':_0x4fe82f}],'verification':{'checkedBy':_0x170b25(0x15a),'snapshotHash':_0x2131d7['hash'],'folder':!![],'path':_0x4fe82f,'emptyResources':!![]}});return{'ok':!![],'data':_0x2b852f,'message':_0x170b25(0x159)+_0x4dc029+'.'};}};function a159_0x1df4(_0x170488,_0x4b278a){_0x170488=_0x170488-0x140;const _0x19583d=a159_0x1958();let _0x1df496=_0x19583d[_0x170488];return _0x1df496;}function validateCreateInput(_0x54ba56){const _0x52766b=a159_0x2acb02,_0x3c2db0=_0x54ba56[_0x52766b(0x16e)]('label')[_0x52766b(0x16c)]();if(!_0x3c2db0)throw CliErrors[_0x52766b(0x140)](_0x52766b(0x15f));parseParentId(_0x54ba56,_0x52766b(0x163)),validateSort(_0x54ba56);}async function buildCreatePlan(_0x23fff1,_0x4d9f9f){const _0x14cd3c=a159_0x2acb02,_0x2e5dfa=await fetchMutationSnapshot(_0x23fff1,_0x14cd3c(0x167)),_0x1e6ef2=parseParentId(_0x23fff1,_0x14cd3c(0x163))??null;if(_0x1e6ef2!=null)requireFolder(_0x2e5dfa,_0x1e6ef2);const _0x63f98e=validateSort(_0x23fff1),_0x50a929=_0x63f98e??nextSiblingSort(_0x2e5dfa,_0x1e6ef2,'folder'),_0x3e71f2=_0x23fff1[_0x14cd3c(0x16e)](_0x14cd3c(0x15f))[_0x14cd3c(0x16c)]();return mutationResult({'operation':'group-create','selector':{'label':_0x3e71f2,'parentId':_0x1e6ef2},'before':null,'after':{'id':null,'parentId':_0x1e6ef2,'label':_0x3e71f2,'path':_0x14cd3c(0x181),'type':'folder','visible':!![],'sort':_0x50a929,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4d9f9f,'backend':[...BACKEND],'plannedActions':[{'stage':_0x14cd3c(0x173),'method':_0x14cd3c(0x165),'path':_0x14cd3c(0x142),'body':{'parentId':toApiParentId(_0x1e6ef2),'label':_0x3e71f2,'type':'folder','visible':!![],'sort':_0x50a929,'extend':{}}}],'snapshotHash':_0x2e5dfa[_0x14cd3c(0x18b)],'warnings':[_0x14cd3c(0x155)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a160_0x2439a7=a160_0x996d;(function(_0x24ec8d,_0x23334e){const _0x178e0c=a160_0x996d,_0x371baa=_0x24ec8d();while(!![]){try{const _0x6c9899=parseInt(_0x178e0c(0xe7))/0x1+-parseInt(_0x178e0c(0xf8))/0x2*(parseInt(_0x178e0c(0xe1))/0x3)+-parseInt(_0x178e0c(0xea))/0x4+-parseInt(_0x178e0c(0xe3))/0x5*(-parseInt(_0x178e0c(0xe2))/0x6)+-parseInt(_0x178e0c(0x113))/0x7+-parseInt(_0x178e0c(0xf3))/0x8*(parseInt(_0x178e0c(0x108))/0x9)+parseInt(_0x178e0c(0xfc))/0xa;if(_0x6c9899===_0x23334e)break;else _0x371baa['push'](_0x371baa['shift']());}catch(_0x291ef5){_0x371baa['push'](_0x371baa['shift']());}}}(a160_0x4b98,0x3ebcd));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a160_0x996d(_0x19a858,_0x43207b){_0x19a858=_0x19a858-0xe0;const _0x4b9834=a160_0x4b98();let _0x996da2=_0x4b9834[_0x19a858];return _0x996da2;}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';import{CliErrors}from'../../errors.js';function a160_0x4b98(){const _0x50246a=['menu','folder','6440810epFnqg','type','rabetbase\x20menu\x20list\x20--format\x20json','selector','No\x20online\x20fields\x20would\x20change.','failed','parent-id','Folder\x20','menu_not_folder','str','string','verify\x20folder\x20update','301761tkrSmg','Would\x20update\x20folder\x20','sort','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','\x20is\x20no\x20longer\x20type\x20folder.','update','validation','appCode','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','--label\x20cannot\x20be\x20empty.','Update\x20request\x20for\x20folder\x20','2457021yUAbUm','\x20label\x20update\x20did\x20not\x20take\x20effect.','3JKBkvc','10758AaBjLE','1425LRZQRF','parentId','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','Updated\x20folder\x20','414514VErBXV','update\x20folder','trim','1578688DkzAQI','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','Menu\x20','cookie','label','POST','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','group-update','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','16akOZwf','New\x20folder\x20label','hash','write','unknown','999788lmWZJB','verification'];a160_0x4b98=function(){return _0x50246a;};return a160_0x4b98();}const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a160_0x2439a7(0xfa),'command':a160_0x2439a7(0xf1),'description':a160_0x2439a7(0xf0),'risk':a160_0x2439a7(0xf6),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a160_0x2439a7(0xe5),'hint':a160_0x2439a7(0x10b)}],'flags':[MENU_ID_FLAG,{'name':a160_0x2439a7(0xee),'type':a160_0x2439a7(0x106),'description':a160_0x2439a7(0xf4)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2ebac6){validateUpdateInput(_0x2ebac6);},async 'dryRun'(_0x5aab6e){const _0x332d4c=a160_0x2439a7;validateUpdateInput(_0x5aab6e);const {plan:_0x4dc55a,patch:_0x3b21b4}=await buildUpdatePlan(_0x5aab6e,!![]);return menuDryRunResult(_0x4dc55a,{'method':_0x332d4c(0xef),'url':'/smartapi/menu/update','body':_0x3b21b4,'description':_0x332d4c(0x109)+_0x4dc55a[_0x332d4c(0xff)]['id']+'.'});},async 'execute'(_0x36446d){const _0x3357d6=a160_0x2439a7;validateUpdateInput(_0x36446d);const {plan:_0x15c054,patch:_0x9fd1d3,noChanges:_0x131312}=await buildUpdatePlan(_0x36446d,![]),_0x471896=Number(_0x15c054[_0x3357d6(0xff)]['id']),_0x3b9668=await recheckMutationSnapshot(_0x36446d,_0x15c054,_0x3357d6(0xe8),_0x471896);if(!_0x131312)try{await updateMenuEntity(_0x36446d[_0x3357d6(0x10f)],_0x36446d[_0x3357d6(0xed)],_0x9fd1d3);}catch(_0x48353a){const _0x2b8ef0=mapMenuApiError(_0x48353a,_0x3357d6(0xe8),_0x471896);throw menuFailure(_0x2b8ef0,_0x15c054,{'stage':_0x3357d6(0x10d),'failed':{'id':_0x471896}});}let _0x433c15=_0x3b9668,_0x26cd33;try{!_0x131312&&(_0x433c15=await fetchMenuSnapshot(_0x36446d[_0x3357d6(0x10f)],_0x36446d[_0x3357d6(0xed)])),_0x26cd33=requireMenu(_0x433c15,_0x471896),verifyPatch(_0x26cd33,_0x9fd1d3),_0x26cd33[_0x3357d6(0xe4)]!=null&&requireFolder(_0x433c15,_0x26cd33[_0x3357d6(0xe4)]);}catch(_0x3ac853){const _0xff92e9=describeMenuErrorCause(_0x3ac853,_0x3357d6(0x107),_0x471896),_0x1fddf0=asVerificationError(_0x3ac853,_0x3357d6(0x112)+_0x471896+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x1fddf0,_0x15c054,{'stage':_0x3357d6(0xf9),'succeeded':[{'id':_0x471896,'updateRequested':!_0x131312,'skipped':_0x131312}],'failed':{'id':_0x471896,'requestedStateConfirmed':![],..._0xff92e9},'warnings':[_0x3357d6(0xf2)],'verification':{'status':_0x3357d6(0x101),'lookupCommand':_0x3357d6(0xfe),'targetId':_0x471896}});}const _0x4d1505=mutationResult({..._0x15c054,'after':_0x26cd33,'dryRun':![],'succeeded':[{'id':_0x471896,'updated':!_0x131312,'skipped':_0x131312}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x433c15['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x4d1505,'message':_0x131312?_0x3357d6(0x103)+_0x471896+'\x20already\x20matches\x20the\x20requested\x20state.':_0x3357d6(0xe6)+_0x471896+'.'};}};function validateUpdateInput(_0x12dd88){const _0x44d7d7=a160_0x2439a7;validateExactId(_0x12dd88);if(hasFlag(_0x12dd88,_0x44d7d7(0x102)))throw CliErrors[_0x44d7d7(0x10e)](_0x44d7d7(0xe5),_0x44d7d7(0x10b));if(!hasFlag(_0x12dd88,'label')&&!hasFlag(_0x12dd88,_0x44d7d7(0x10a)))throw CliErrors['validation'](_0x44d7d7(0x110));if(hasFlag(_0x12dd88,_0x44d7d7(0xee))&&!_0x12dd88[_0x44d7d7(0x105)](_0x44d7d7(0xee))[_0x44d7d7(0xe9)]())throw CliErrors['validation'](_0x44d7d7(0x111));validateSort(_0x12dd88);}async function buildUpdatePlan(_0x5735ac,_0x11ecb8){const _0x4c7fef=a160_0x2439a7,_0x394de7=validateExactId(_0x5735ac),_0x31fe94=await fetchMutationSnapshot(_0x5735ac,_0x4c7fef(0xe8),_0x394de7),_0xf4910d=requireMenu(_0x31fe94,_0x394de7);if(_0xf4910d['type']!==_0x4c7fef(0xfb))throw menuError(_0x4c7fef(0x104),'Menu\x20'+_0x394de7+'\x20is\x20type\x20\x22'+(_0xf4910d[_0x4c7fef(0xfd)]||_0x4c7fef(0xf7))+'\x22,\x20not\x20folder.',_0x4c7fef(0xeb));assertExpectedState(_0x5735ac,_0xf4910d);const _0x134a3f={'id':_0x394de7},_0x433822={..._0xf4910d};if(hasFlag(_0x5735ac,_0x4c7fef(0xee))){const _0x24baac=_0x5735ac[_0x4c7fef(0x105)](_0x4c7fef(0xee))[_0x4c7fef(0xe9)]();_0x134a3f['label']=_0x24baac,_0x433822['label']=_0x24baac;}if(hasFlag(_0x5735ac,_0x4c7fef(0x10a))){const _0x581114=validateSort(_0x5735ac);_0x134a3f[_0x4c7fef(0x10a)]=_0x581114,_0x433822[_0x4c7fef(0x10a)]=_0x581114;}const _0x22f09d=sameRequestedState(_0xf4910d,_0x433822),_0x18754a=_0x22f09d?[_0x4c7fef(0x100)]:[];return{'patch':_0x134a3f,'noChanges':_0x22f09d,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x394de7},'before':_0xf4910d,'after':_0x433822,'dryRun':_0x11ecb8,'backend':[...BACKEND],'snapshotHash':_0x31fe94[_0x4c7fef(0xf5)],'warnings':_0x18754a})};}function sameRequestedState(_0xa7d83a,_0x4d0b3d){const _0x4daf98=a160_0x2439a7;return _0xa7d83a[_0x4daf98(0xee)]===_0x4d0b3d[_0x4daf98(0xee)]&&_0xa7d83a[_0x4daf98(0x10a)]===_0x4d0b3d[_0x4daf98(0x10a)];}function verifyPatch(_0xff455e,_0x49f206){const _0x5493f7=a160_0x2439a7;assertVerified(_0xff455e[_0x5493f7(0xfd)]==='folder',_0x5493f7(0xec)+_0xff455e['id']+_0x5493f7(0x10c)),_0x49f206['label']!==undefined&&assertVerified(_0xff455e[_0x5493f7(0xee)]===_0x49f206[_0x5493f7(0xee)],'Folder\x20'+_0xff455e['id']+_0x5493f7(0xe0)),_0x49f206[_0x5493f7(0x10a)]!==undefined&&assertVerified(_0xff455e[_0x5493f7(0x10a)]===_0x49f206['sort'],_0x5493f7(0x103)+_0xff455e['id']+'\x20sort\x20update\x20did\x20not\x20take\x20effect.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x415746,_0x5d5040){const _0x457994=a161_0x2b74,_0x4c5dcf=_0x415746();while(!![]){try{const _0x311d70=-parseInt(_0x457994(0x8c))/0x1+-parseInt(_0x457994(0x95))/0x2*(-parseInt(_0x457994(0x8d))/0x3)+-parseInt(_0x457994(0x8b))/0x4+parseInt(_0x457994(0x91))/0x5+-parseInt(_0x457994(0x94))/0x6*(-parseInt(_0x457994(0x90))/0x7)+parseInt(_0x457994(0x8e))/0x8*(parseInt(_0x457994(0x92))/0x9)+-parseInt(_0x457994(0x8f))/0xa*(parseInt(_0x457994(0x93))/0xb);if(_0x311d70===_0x5d5040)break;else _0x4c5dcf['push'](_0x4c5dcf['shift']());}catch(_0x18c4c7){_0x4c5dcf['push'](_0x4c5dcf['shift']());}}}(a161_0x4159,0x24224));import{menuList}from'../../commands/menu/list.js';function a161_0x4159(){const _0x1ae7c7=['6DQDZUb','463150nnlobr','766020KGSAgt','247168OKwFSq','3JszfVp','907872xqfmsD','30qTWRwZ','1894627rnmxix','855615MrjwDQ','9FkNuJL','733942aFTlGe'];a161_0x4159=function(){return _0x1ae7c7;};return a161_0x4159();}function a161_0x2b74(_0x114697,_0xe1a2b0){_0x114697=_0x114697-0x8b;const _0x415977=a161_0x4159();let _0x2b74a4=_0x415977[_0x114697];return _0x2b74a4;}import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';import{menuSubappAssetsStatus}from'../../commands/menu/subapp-assets-status.js';import{menuSubappAssetsUpdate}from'../../commands/menu/subapp-assets-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuSubappAssetsStatus,menuSubappAssetsUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a162_0x2234cc=a162_0x2a6e;function a162_0x2c14(){const _0xfd0471=['11246AJaRAv','No\x20menus\x20found.','Found\x20','boolean','658XKDXar','221960soFMTZ','1375312QPAhnC','56615QNETSi','16yCPVKx','verbose','appCode','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','menus','list','menu','1231011JDlMhX','248697ORvVXC','map','read','\x20menu(s)','bool','7446mOdWlH','total','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','14pcDMDj'];a162_0x2c14=function(){return _0xfd0471;};return a162_0x2c14();}(function(_0x1ed3af,_0xd14bab){const _0x185ef6=a162_0x2a6e,_0x2568d3=_0x1ed3af();while(!![]){try{const _0x1d2545=parseInt(_0x185ef6(0x135))/0x1*(parseInt(_0x185ef6(0x136))/0x2)+parseInt(_0x185ef6(0x12d))/0x3+-parseInt(_0x185ef6(0x13e))/0x4*(-parseInt(_0x185ef6(0x13d))/0x5)+parseInt(_0x185ef6(0x132))/0x6*(-parseInt(_0x185ef6(0x13a))/0x7)+parseInt(_0x185ef6(0x13c))/0x8+-parseInt(_0x185ef6(0x145))/0x9+-parseInt(_0x185ef6(0x13b))/0xa;if(_0x1d2545===_0xd14bab)break;else _0x2568d3['push'](_0x2568d3['shift']());}catch(_0x5f4ce4){_0x2568d3['push'](_0x2568d3['shift']());}}}(a162_0x2c14,0x1931e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a162_0x2a6e(_0x551049,_0x5784a6){_0x551049=_0x551049-0x12d;const _0x2c1479=a162_0x2c14();let _0x2a6e03=_0x2c1479[_0x551049];return _0x2a6e03;}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a162_0x2234cc(0x144),'command':a162_0x2234cc(0x143),'description':a162_0x2234cc(0x141),'risk':a162_0x2234cc(0x12f),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a162_0x2234cc(0x13f),'type':a162_0x2234cc(0x139),'description':a162_0x2234cc(0x134)}],async 'execute'(_0x162ced){const _0x4445a7=a162_0x2234cc,_0x345e0c=_0x162ced[_0x4445a7(0x131)]('verbose'),_0x161fa6=await fetchMenuSnapshot(_0x162ced[_0x4445a7(0x140)],_0x162ced['cookie'],{'verbose':_0x345e0c});return{'ok':!![],'data':{'total':_0x161fa6[_0x4445a7(0x133)],'snapshotHash':_0x161fa6['hash'],'menus':_0x161fa6[_0x4445a7(0x142)][_0x4445a7(0x12e)](toMenuListItem)},'message':_0x161fa6['total']===0x0?_0x4445a7(0x137):_0x4445a7(0x138)+_0x161fa6[_0x4445a7(0x133)]+_0x4445a7(0x130)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a163_0x39c4d9=a163_0x4120;(function(_0x9d8ca9,_0x2b5b71){const _0xaa4d69=a163_0x4120,_0x1919f1=_0x9d8ca9();while(!![]){try{const _0x501206=parseInt(_0xaa4d69(0x107))/0x1*(-parseInt(_0xaa4d69(0x108))/0x2)+parseInt(_0xaa4d69(0x11b))/0x3*(-parseInt(_0xaa4d69(0x128))/0x4)+parseInt(_0xaa4d69(0x112))/0x5*(parseInt(_0xaa4d69(0x12d))/0x6)+parseInt(_0xaa4d69(0x10a))/0x7+-parseInt(_0xaa4d69(0x11d))/0x8+-parseInt(_0xaa4d69(0x125))/0x9*(parseInt(_0xaa4d69(0x11f))/0xa)+-parseInt(_0xaa4d69(0x124))/0xb*(-parseInt(_0xaa4d69(0x134))/0xc);if(_0x501206===_0x2b5b71)break;else _0x1919f1['push'](_0x1919f1['shift']());}catch(_0xb91ce9){_0x1919f1['push'](_0x1919f1['shift']());}}}(a163_0x467b,0xa4bc9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':a163_0x39c4d9(0x10b),'path':a163_0x39c4d9(0x131)}];export const menuMove={'service':a163_0x39c4d9(0x121),'command':'move','description':a163_0x39c4d9(0x129),'risk':a163_0x39c4d9(0x135),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x30a7dc){validateMoveInput(_0x30a7dc);},async 'dryRun'(_0x185829){const _0x434b7=a163_0x39c4d9,{plan:_0x127785,patch:_0x1100cd}=await buildMovePlan(_0x185829,!![]);return menuDryRunResult(_0x127785,{'method':'POST','url':_0x434b7(0x131),'body':{..._0x1100cd,'appCode':_0x185829[_0x434b7(0x133)]},'description':_0x434b7(0x126)+_0x1100cd['id']+'.'});},async 'execute'(_0x44d8f4){const _0xf14cf8=a163_0x39c4d9;validateMoveInput(_0x44d8f4);const {plan:_0x2e4459,patch:_0x212a9d,noChanges:_0x5a4b2a,snapshot:_0x4c2668}=await buildMovePlan(_0x44d8f4,![]),_0x12b0b8=_0x212a9d['id'];if(!_0x5a4b2a)try{await updateMenuEntity(_0x44d8f4['appCode'],_0x44d8f4[_0xf14cf8(0x12a)],_0x212a9d);}catch(_0x1ddce2){const _0x73055c=mapMenuApiError(_0x1ddce2,_0xf14cf8(0x117),_0x12b0b8);throw menuFailure(_0x73055c,_0x2e4459,{'stage':_0xf14cf8(0x116),'failed':{'id':_0x12b0b8},'warnings':[_0xf14cf8(0x119)],'verification':{'status':'failed','targetId':_0x12b0b8,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}let _0x5f322c,_0x30a30d;try{_0x5f322c=_0x5a4b2a?_0x4c2668:await fetchMenuSnapshot(_0x44d8f4['appCode'],_0x44d8f4[_0xf14cf8(0x12a)]),_0x30a30d=requireMenu(_0x5f322c,_0x12b0b8),verifyMove(_0x30a30d,_0x2e4459[_0xf14cf8(0x12c)]),_0x30a30d['parentId']!==null&&requireFolder(_0x5f322c,_0x30a30d[_0xf14cf8(0x118)]);}catch(_0x1775ea){const _0x34d1eb=describeMenuErrorCause(_0x1775ea,_0xf14cf8(0x120),_0x12b0b8),_0x46e083=asVerificationError(_0x1775ea,_0xf14cf8(0x111)+_0x12b0b8+_0xf14cf8(0x115));throw menuFailure(_0x46e083,_0x2e4459,{'stage':'verification','succeeded':[{'id':_0x12b0b8,'updateRequested':!_0x5a4b2a,'skipped':_0x5a4b2a}],'failed':{'id':_0x12b0b8,'requestedStateConfirmed':![],..._0x34d1eb},'warnings':[_0xf14cf8(0x10e)],'verification':{'status':_0xf14cf8(0x10c),'targetId':_0x12b0b8,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x4827b0=mutationResult({..._0x2e4459,'after':_0x30a30d,'dryRun':![],'succeeded':[{'id':_0x12b0b8,'updated':!_0x5a4b2a,'skipped':_0x5a4b2a}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5f322c[_0xf14cf8(0x12f)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x4827b0,'message':_0x5a4b2a?_0xf14cf8(0x110)+_0x12b0b8+_0xf14cf8(0x122):_0xf14cf8(0x12e)+_0x12b0b8+'.'};}};function validateMoveInput(_0x39c911){const _0x310dcd=a163_0x39c4d9;validateExactId(_0x39c911),parseParentId(_0x39c911,_0x310dcd(0x123),{'required':!![]}),parseParentId(_0x39c911,_0x310dcd(0x136),{'required':!![]}),validateSort(_0x39c911);}function a163_0x467b(){const _0x1173a4=['move\x20menu','Menu\x20','Move\x20request\x20for\x20menu\x20','960515QBmklM',',\x20current\x20','type','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','update','move','parentId','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','3mAhaEA','\x20is\x20now\x20type\x20folder.','4925312szHdaK','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','5986480SShZEx','verify\x20menu\x20move','menu','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','parent-id','110RBdclM','18fVokow','Would\x20move\x20menu\x20','\x20is\x20no\x20longer\x20a\x20leaf.','5396068PwyunN','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','cookie','menu_move_source_not_leaf','after','42YeYDJO','Moved\x20menu\x20','hash','sort','/smartapi/menu/update','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','appCode','2515476MTwoiq','write','expect-parent-id','childrenCount','906jxzdZx','890pDHgwl','menu_state_drift','5592699fXgZIB','POST','failed','folder','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'];a163_0x467b=function(){return _0x1173a4;};return a163_0x467b();}async function buildMovePlan(_0x5a7081,_0x3ae0a6){const _0x1c6851=a163_0x39c4d9,_0x1478cc=validateExactId(_0x5a7081),_0x23694f=parseParentId(_0x5a7081,'parent-id',{'required':!![]}),_0x4139ce=parseParentId(_0x5a7081,_0x1c6851(0x136),{'required':!![]}),_0x2a7c7a=validateSort(_0x5a7081),_0x1c8989=await fetchMutationSnapshot(_0x5a7081,_0x1c6851(0x10f),_0x1478cc),_0x2b0df0=requireMenu(_0x1c8989,_0x1478cc);if(_0x2b0df0[_0x1c6851(0x114)]===_0x1c6851(0x10d)||_0x2b0df0[_0x1c6851(0x106)]!==0x0)throw menuError(_0x1c6851(0x12b),'Menu\x20'+_0x1478cc+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x1c6851(0x132));if(_0x2b0df0[_0x1c6851(0x118)]!==_0x4139ce)throw menuError(_0x1c6851(0x109),_0x1c6851(0x110)+_0x1478cc+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x4139ce)+_0x1c6851(0x113)+formatParent(_0x2b0df0[_0x1c6851(0x118)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x23694f!==null&&requireFolder(_0x1c8989,_0x23694f);const _0x14f8e0=_0x2a7c7a??(_0x2b0df0[_0x1c6851(0x118)]===_0x23694f?_0x2b0df0[_0x1c6851(0x130)]??0x0:nextSiblingSort(_0x1c8989,_0x23694f,_0x1c6851(0x121))),_0x2f0067={..._0x2b0df0,'parentId':_0x23694f,'sort':_0x14f8e0},_0x19436f={'id':_0x1478cc,'parentId':toApiParentId(_0x23694f),'sort':_0x14f8e0},_0x29ec64=_0x2b0df0['parentId']===_0x23694f&&_0x2b0df0['sort']===_0x14f8e0;return{'patch':_0x19436f,'noChanges':_0x29ec64,'snapshot':_0x1c8989,'plan':mutationResult({'operation':_0x1c6851(0x117),'selector':{'id':_0x1478cc,'parentId':_0x23694f},'before':_0x2b0df0,'after':_0x2f0067,'dryRun':_0x3ae0a6,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':'POST','path':_0x1c6851(0x131),'body':{..._0x19436f,'appCode':_0x5a7081[_0x1c6851(0x133)]}}],'snapshotHash':_0x1c8989[_0x1c6851(0x12f)],'warnings':_0x29ec64?[_0x1c6851(0x11a)]:[]})};}function a163_0x4120(_0x38b503,_0x391f78){_0x38b503=_0x38b503-0x106;const _0x467b73=a163_0x467b();let _0x41201c=_0x467b73[_0x38b503];return _0x41201c;}function verifyMove(_0x2986b8,_0x1264a7){const _0x8b4550=a163_0x39c4d9;assertVerified(_0x2986b8[_0x8b4550(0x114)]!==_0x8b4550(0x10d),_0x8b4550(0x110)+_0x2986b8['id']+_0x8b4550(0x11c)),assertVerified(_0x2986b8[_0x8b4550(0x106)]===0x0,'Menu\x20'+_0x2986b8['id']+_0x8b4550(0x127)),assertVerified(_0x2986b8[_0x8b4550(0x118)]===_0x1264a7[_0x8b4550(0x118)],_0x8b4550(0x110)+_0x2986b8['id']+_0x8b4550(0x11e)),assertVerified(_0x2986b8[_0x8b4550(0x130)]===_0x1264a7[_0x8b4550(0x130)],_0x8b4550(0x110)+_0x2986b8['id']+'\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.');}
|