@lovrabet/rabetbase-cli 2.5.3-beta.3 → 2.5.3
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/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.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/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +5 -3
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.d.ts +7 -0
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +3 -1
- package/skills/rabetbase/SKILL.md +7 -5
- package/skills/rabetbase/guides/backend-function.md +5 -1
- package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
- package/skills/rabetbase/guides/cross-database-bff.md +70 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
- package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +5 -1
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +41 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
const a151_0x5857a7=a151_0x13c9;(function(_0x2b028f,_0x246f43){const _0x4de676=a151_0x13c9,_0x5008df=_0x2b028f();while(!![]){try{const _0x5854bf=parseInt(_0x4de676(0x170))/0x1*(-parseInt(_0x4de676(0x13d))/0x2)+parseInt(_0x4de676(0x15c))/0x3*(-parseInt(_0x4de676(0x166))/0x4)+parseInt(_0x4de676(0x12d))/0x5*(-parseInt(_0x4de676(0x136))/0x6)+parseInt(_0x4de676(0x109))/0x7+parseInt(_0x4de676(0x171))/0x8+-parseInt(_0x4de676(0x157))/0x9+parseInt(_0x4de676(0x11f))/0xa*(parseInt(_0x4de676(0x182))/0xb);if(_0x5854bf===_0x246f43)break;else _0x5008df['push'](_0x5008df['shift']());}catch(_0x374958){_0x5008df['push'](_0x5008df['shift']());}}}(a151_0x254f,0x8fa98));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':a151_0x5857a7(0x112)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a151_0x5857a7(0x16f)},MENU_DELETE_RECURSIVE_FLAG={'name':a151_0x5857a7(0x178),'type':a151_0x5857a7(0x174),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a151_0x5857a7(0x12a),'type':a151_0x5857a7(0x133),'description':a151_0x5857a7(0x141)},MENU_DELETE_PLAN_FLAG={'name':a151_0x5857a7(0x13b),'type':a151_0x5857a7(0x133),'description':a151_0x5857a7(0x120)};export const menuDelete={'service':a151_0x5857a7(0x15f),'command':a151_0x5857a7(0x16c),'description':a151_0x5857a7(0x177),'risk':a151_0x5857a7(0x131),'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'(_0x5a9ecb){_0x5a9ecb['bool']('dry-run')?validateDeleteDryRunInput(_0x5a9ecb):validateDeleteExecuteInput(_0x5a9ecb),requireExplicitYes(_0x5a9ecb);},async 'dryRun'(_0x12c98c){const _0x44d7a4=a151_0x5857a7;validateDeleteDryRunInput(_0x12c98c);const _0x7ceff6=await buildDeletePlan(_0x12c98c),_0x4dd61a=createMenuDeletePlanFile(_0x12c98c[_0x44d7a4(0x113)],_0x7ceff6),_0x50c87d=await writeMenuDeletePlan(_0x12c98c[_0x44d7a4(0x152)](_0x44d7a4(0x12a)),_0x4dd61a),_0x3e8260=mutationResult({..._0x7ceff6,'planFile':{'path':_0x50c87d,'createdAt':_0x4dd61a[_0x44d7a4(0x127)],'expiresAt':_0x4dd61a[_0x44d7a4(0x156)]}});return menuDryRunResult(_0x3e8260,{'method':_0x44d7a4(0x15a),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x3e8260['deleteOrder']},'description':_0x44d7a4(0x116)+(_0x3e8260[_0x44d7a4(0x11c)]?.[_0x44d7a4(0x179)]??0x1)+_0x44d7a4(0x150)+_0x3e8260['selector']['id']+_0x44d7a4(0x13f)+_0x50c87d+'.'});},async 'execute'(_0x59e156){const _0x3111e9=a151_0x5857a7;requireExplicitYes(_0x59e156),validateDeleteExecuteInput(_0x59e156);const _0x4bde4d=await readMenuDeletePlan(_0x59e156[_0x3111e9(0x152)]('plan')),_0x8d07ed=mutationPlanFromDeleteFile(_0x4bde4d[_0x3111e9(0x13b)],_0x4bde4d[_0x3111e9(0x167)]),_0x320cd2=_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x181)]['id'];try{assertMenuDeletePlanExecutable(_0x4bde4d[_0x3111e9(0x13b)],_0x59e156[_0x3111e9(0x113)]);}catch(_0x27bf7c){throw menuFailure(asMenuError(_0x27bf7c),_0x8d07ed,{'stage':_0x3111e9(0x15b),'failed':{'id':_0x320cd2}});}let _0x4ff899,_0x3fa9b1;try{_0x4ff899=await fetchMutationSnapshot(_0x59e156,_0x3111e9(0x10d),_0x320cd2),_0x3fa9b1=assertMenuDeletePlanCurrent(_0x4bde4d[_0x3111e9(0x13b)],_0x59e156[_0x3111e9(0x113)],_0x4ff899),assertDeleteTargetsComplete(_0x4bde4d['plan'],_0x4ff899),_0x3fa9b1['forEach'](_0x1f5c1b=>assertDeleteSafety(_0x1f5c1b,_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x178)])),assertNoSharedPages(_0x4ff899,_0x3fa9b1),assertCascadeMatchesPlan(_0x8d07ed,_0x3fa9b1);}catch(_0xead721){throw menuFailure(asMenuError(_0xead721),_0x8d07ed,{'stage':_0x3111e9(0x187),'failed':{'id':_0x320cd2}});}const _0x23ebac=_0x4bde4d[_0x3111e9(0x13b)][_0x3111e9(0x11c)];let _0x71ffaf;try{_0x71ffaf=await batchDeleteMenuEntities(_0x59e156['cookie'],_0x23ebac);}catch(_0x1522f4){const _0x5814ec=mapMenuApiError(_0x1522f4,'batch\x20delete'),_0x3e309e=[_0x3111e9(0x148)];let _0x1bf67f;try{_0x1bf67f=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x229e56){const _0x239cb4=describeMenuErrorCause(_0x229e56,_0x3111e9(0x14f),_0x320cd2);_0x3e309e[_0x3111e9(0x14c)](_0x3111e9(0x15e)+_0x239cb4[_0x3111e9(0x10e)]+_0x3111e9(0x16e)+_0x239cb4[_0x3111e9(0x154)]);throw menuFailure(_0x5814ec,_0x8d07ed,{'stage':_0x3111e9(0x186),'failed':{'targetIds':_0x23ebac,'targetIdsAbsent':_0x3111e9(0x16a),..._0x239cb4},'warnings':_0x3e309e,'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x23ebac}});}throw menuFailure(_0x5814ec,_0x8d07ed,{'stage':_0x3111e9(0x186),'succeeded':_0x1bf67f[_0x3111e9(0x12f)]['map'](_0x2f3b77=>({'id':_0x2f3b77,'deleted':!![]})),'failed':{'targetIds':_0x23ebac,'absentIds':_0x1bf67f[_0x3111e9(0x12f)],'remainingIds':_0x1bf67f[_0x3111e9(0x14a)]},'warnings':_0x3e309e,'verification':verificationFromOutcome(_0x1bf67f)});}if(_0x71ffaf!==_0x23ebac[_0x3111e9(0x179)]){const _0x119d1c=menuError(_0x3111e9(0x149),_0x3111e9(0x110)+_0x71ffaf+_0x3111e9(0x14e)+_0x23ebac[_0x3111e9(0x179)]+'.',_0x3111e9(0x162)),_0x2a096b=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x6bd04a;try{_0x6bd04a=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x22f859){const _0x38dd79=describeMenuErrorCause(_0x22f859,_0x3111e9(0x124),_0x320cd2);_0x2a096b['push'](_0x3111e9(0x123)+_0x38dd79[_0x3111e9(0x10e)]+'):\x20'+_0x38dd79[_0x3111e9(0x154)]);throw menuFailure(_0x119d1c,_0x8d07ed,{'stage':_0x3111e9(0x186),'failed':{'targetIds':_0x23ebac,'expectedCount':_0x23ebac['length'],'reportedDeletedCount':_0x71ffaf,'targetIdsAbsent':_0x3111e9(0x16a),..._0x38dd79},'warnings':_0x2a096b,'verification':{'status':_0x3111e9(0x159),'lookupCommand':_0x3111e9(0x143),'targetIds':_0x23ebac}});}throw menuFailure(_0x119d1c,_0x8d07ed,{'stage':'batch-delete','succeeded':_0x6bd04a[_0x3111e9(0x12f)]['map'](_0x1b4a19=>({'id':_0x1b4a19,'deleted':!![]})),'failed':{'targetIds':_0x23ebac,'expectedCount':_0x23ebac['length'],'reportedDeletedCount':_0x71ffaf,'absentIds':_0x6bd04a[_0x3111e9(0x12f)],'remainingIds':_0x6bd04a[_0x3111e9(0x14a)]},'warnings':_0x2a096b,'verification':verificationFromOutcome(_0x6bd04a)});}let _0x366738;try{_0x366738=await readDeleteOutcome(_0x59e156,_0x23ebac);}catch(_0x226d95){const _0x27aef1=describeMenuErrorCause(_0x226d95,_0x3111e9(0x10c),_0x320cd2),_0x24a6a0=asVerificationError(_0x226d95,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x320cd2+_0x3111e9(0x139));throw menuFailure(_0x24a6a0,_0x8d07ed,{'stage':_0x3111e9(0x138),'succeeded':_0x23ebac[_0x3111e9(0x14d)](_0x59cc51=>({'id':_0x59cc51,'deleteRequested':!![]})),'failed':{'id':_0x320cd2,'targetIds':_0x23ebac,'targetIdsAbsent':_0x3111e9(0x16a),..._0x27aef1},'warnings':[_0x3111e9(0x115)],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x23ebac}});}if(_0x366738[_0x3111e9(0x14a)]['length']>0x0){const _0x198582=menuError(_0x3111e9(0x165),_0x3111e9(0x128)+_0x366738['remainingIds'][_0x3111e9(0x180)](',\x20')+'.',_0x3111e9(0x162));throw menuFailure(_0x198582,_0x8d07ed,{'stage':_0x3111e9(0x138),'succeeded':_0x23ebac[_0x3111e9(0x14d)](_0x5ad34b=>({'id':_0x5ad34b,'deleteRequested':!![]})),'failed':{'id':_0x320cd2,'targetIds':_0x23ebac,'absentIds':_0x366738['absentIds'],'remainingIds':_0x366738['remainingIds']},'warnings':[_0x3111e9(0x151)],'verification':verificationFromOutcome(_0x366738)});}const _0xeb6216=_0x23ebac[_0x3111e9(0x14d)](_0x3230b7=>({'id':_0x3230b7,'deleted':!![]})),_0x538fe7=mutationResult({..._0x8d07ed,'dryRun':![],'succeeded':_0xeb6216,'verification':{'checkedBy':_0x3111e9(0x13c),'plannedSnapshotHash':_0x8d07ed[_0x3111e9(0x144)],'finalSnapshotHash':_0x366738[_0x3111e9(0x176)]['hash'],'reportedDeletedCount':_0x71ffaf,'targetAbsent':!_0x366738[_0x3111e9(0x176)]['byId']['has'](_0x320cd2),'allTargetsAbsent':!![],'targetIds':_0x23ebac}});return{'ok':!![],'data':_0x538fe7,'message':'Deleted\x20'+_0xeb6216[_0x3111e9(0x179)]+_0x3111e9(0x150)+_0x320cd2+'.'};}};async function readDeleteOutcome(_0x2e2da3,_0x1196a1){const _0x20370d=a151_0x5857a7,_0x47ac02=await fetchMenuSnapshot(_0x2e2da3[_0x20370d(0x113)],_0x2e2da3[_0x20370d(0x17e)]);return{'snapshot':_0x47ac02,'absentIds':_0x1196a1[_0x20370d(0x188)](_0x4ef42d=>!_0x47ac02['byId'][_0x20370d(0x164)](_0x4ef42d)),'remainingIds':_0x1196a1['filter'](_0x1cd245=>_0x47ac02[_0x20370d(0x17a)]['has'](_0x1cd245))};}function verificationFromOutcome(_0xbcb7f7){const _0x54fb05=a151_0x5857a7;return{'checkedBy':_0x54fb05(0x13c),'absentIds':_0xbcb7f7[_0x54fb05(0x12f)],'remainingIds':_0xbcb7f7[_0x54fb05(0x14a)]};}function validateDeleteDryRunInput(_0x54b217){const _0x446ee2=a151_0x5857a7;validateExactId(_0x54b217);if(!hasFlag(_0x54b217,'plan-out')||!_0x54b217[_0x446ee2(0x152)]('plan-out')[_0x446ee2(0x111)]())throw CliErrors[_0x446ee2(0x153)](_0x446ee2(0x12a),_0x446ee2(0x168));if(hasFlag(_0x54b217,_0x446ee2(0x13b)))throw CliErrors['validation']('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function a151_0x254f(){const _0x477a96=['POST','plan-validation','138JMDphe','\x20->\x20menu\x20','Post-failure\x20menu\x20readback\x20failed\x20(','menu','resourcesValid','menu_plan_invalid','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','\x20is\x20type\x20\x22','has','menu_verification_failed','75708ZedfQp','path','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','unconfirmed','menu_non_empty','delete','Menu\x20','):\x20','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','18nlySGm','2591344FcKGxN','menus','hash','boolean','\x20references\x20missing\x20child\x20','snapshot','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','recursive','length','byId','type','folder','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','cookie','unknown','join','target','1278211hsoDvH','childrenIds','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','batch-delete','pre-write-plan-validation','filter','6972462cqMbgk','validation','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','verify\x20batch\x20delete','execute\x20reviewed\x20delete\x20plan','causeCode','menu_delete_page_bound','Backend\x20reported\x20','trim','/smartapi/menu/batchDelete','appCode','pages','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Would\x20batch\x20delete\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','toLowerCase','stringify','get','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','deleteOrder','batch-delete-menu','pageId','230BLzicP','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','menu_folder_resources_invalid','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','Post-mismatch\x20menu\x20readback\x20failed\x20(','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Recursive\x20menu\x20delete\x20plan\x20root\x20','createdAt','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20still\x20references\x20','plan-out','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','menu_recursive_requires_folder','22555DbRHxs','forEach','absentIds','bool','high-risk-write','\x20has\x20','string','indexOf','Folder\x20','1446aibCnD','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','verification','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','expected-children-count','plan','menu\x20list','97258mjtbar','size',';\x20execution\x20must\x20consume\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','rabetbase\x20menu\x20list\x20--format\x20json','snapshotHash','\x20and\x20cannot\x20be\x20deleted\x20safely.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menu_tree_invalid','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','menu_batch_delete_count_mismatch','remainingIds','add','push','map','\x20deleted\x20menus;\x20expected\x20','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20menu(s)\x20under\x20exact\x20id\x20','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','str','flagMissing','causeMessage','\x20resource\x20URL(s).','expiresAt','5139468UgUcHF','expect-path','failed'];a151_0x254f=function(){return _0x477a96;};return a151_0x254f();}function validateDeleteExecuteInput(_0x187d85){const _0x475f88=a151_0x5857a7;if(!hasFlag(_0x187d85,_0x475f88(0x13b))||!_0x187d85[_0x475f88(0x152)](_0x475f88(0x13b))[_0x475f88(0x111)]())throw CliErrors[_0x475f88(0x153)]('plan',_0x475f88(0x185));const _0x2d0f21=['id',_0x475f88(0x178),_0x475f88(0x12a),'expect-parent-id',_0x475f88(0x158),_0x475f88(0x13a)]['filter'](_0x49b4ca=>hasFlag(_0x187d85,_0x49b4ca));if(_0x2d0f21[_0x475f88(0x179)]>0x0)throw CliErrors[_0x475f88(0x10a)](_0x475f88(0x142)+_0x2d0f21[_0x475f88(0x14d)](_0x30f66b=>'--'+_0x30f66b)[_0x475f88(0x180)](',\x20')+'.');}async function buildDeletePlan(_0x335bd7){const _0x10349c=a151_0x5857a7,_0xa29e79=validateExactId(_0x335bd7),_0x4e4773=await fetchMutationSnapshot(_0x335bd7,'plan\x20delete',_0xa29e79),_0x235ef6=requireMenu(_0x4e4773,_0xa29e79);assertExpectedState(_0x335bd7,_0x235ef6);const _0x558a79=_0x335bd7[_0x10349c(0x130)](_0x10349c(0x178));let _0x465c85;if(_0x558a79){if(_0x235ef6[_0x10349c(0x17b)][_0x10349c(0x111)]()['toLowerCase']()!==_0x10349c(0x17c))throw menuError(_0x10349c(0x12c),_0x10349c(0x16d)+_0x235ef6['id']+_0x10349c(0x163)+(_0x235ef6['type']||_0x10349c(0x17f))+_0x10349c(0x184));_0x465c85=collectDeleteTargets(_0x4e4773,_0x235ef6),_0x465c85[_0x10349c(0x12e)](_0x27fcea=>assertDeleteSafety(_0x27fcea,!![]));}else assertDeleteSafety(_0x235ef6),_0x465c85=[_0x235ef6];assertNoSharedPages(_0x4e4773,_0x465c85);const _0x3b3970=_0x465c85[_0x10349c(0x14d)](_0x363276=>_0x363276['id']),_0x3bbf74=cascadeForTargets(_0x465c85),_0x50c504=_0x3bbf74[_0x10349c(0x114)][_0x10349c(0x179)]>0x0?[_0x10349c(0x122)]:[];return mutationResult({'operation':_0x10349c(0x16c),'selector':{'id':_0xa29e79,'recursive':_0x558a79},'before':_0x235ef6,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x10349c(0x11d),'method':_0x10349c(0x15a),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x3b3970}}],'targets':_0x465c85,'deleteOrder':_0x3b3970,'snapshotHash':_0x4e4773[_0x10349c(0x173)],'cascade':_0x3bbf74,'warnings':_0x50c504});}function assertDeleteSafety(_0x3ceeb1,_0x4b00dd=![]){const _0x56a9cb=a151_0x5857a7,_0x56a524=_0x3ceeb1['type'][_0x56a9cb(0x111)]()[_0x56a9cb(0x118)]()===_0x56a9cb(0x17c);if(_0x3ceeb1['childrenCount']>0x0&&(!_0x4b00dd||!_0x56a524))throw menuError(_0x56a9cb(0x16b),_0x56a9cb(0x16d)+_0x3ceeb1['id']+_0x56a9cb(0x132)+_0x3ceeb1['childrenCount']+_0x56a9cb(0x125),_0x56a9cb(0x137)+_0x3ceeb1[_0x56a9cb(0x183)][_0x56a9cb(0x180)](',\x20'));if(_0x56a524&&_0x3ceeb1[_0x56a9cb(0x11e)]!=null)throw menuError(_0x56a9cb(0x10f),_0x56a9cb(0x135)+_0x3ceeb1['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x3ceeb1['pageId']+_0x56a9cb(0x145),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x56a524)return;if(!_0x3ceeb1[_0x56a9cb(0x160)])throw menuError(_0x56a9cb(0x121),_0x56a9cb(0x135)+_0x3ceeb1['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x56a9cb(0x146));if(_0x3ceeb1['resources'][_0x56a9cb(0x179)]>0x0)throw menuError('menu_folder_has_resources',_0x56a9cb(0x135)+_0x3ceeb1['id']+_0x56a9cb(0x129)+_0x3ceeb1['resources']['length']+_0x56a9cb(0x155),_0x56a9cb(0x140));}function a151_0x13c9(_0x21328f,_0x5d7abb){_0x21328f=_0x21328f-0x109;const _0x254fba=a151_0x254f();let _0x13c9c9=_0x254fba[_0x21328f];return _0x13c9c9;}function collectDeleteTargets(_0x81a477,_0x446bf8){const _0x1b7a74=[],_0x28fcd9=new Set(),_0x5de3ad=new Set(),_0x9b8c65=_0x141ecb=>{const _0x1b324e=a151_0x13c9;if(_0x28fcd9[_0x1b324e(0x164)](_0x141ecb['id']))throw menuError('menu_tree_invalid',_0x1b324e(0x12b)+_0x141ecb['id']+'.');if(_0x5de3ad[_0x1b324e(0x164)](_0x141ecb['id']))return;_0x28fcd9[_0x1b324e(0x14b)](_0x141ecb['id']);for(const _0x522bf9 of _0x141ecb[_0x1b324e(0x183)]){const _0x2144f6=_0x81a477[_0x1b324e(0x17a)][_0x1b324e(0x11a)](_0x522bf9);if(!_0x2144f6)throw menuError(_0x1b324e(0x147),_0x1b324e(0x16d)+_0x141ecb['id']+_0x1b324e(0x175)+_0x522bf9+'.');_0x9b8c65(_0x2144f6);}_0x28fcd9[_0x1b324e(0x16c)](_0x141ecb['id']),_0x5de3ad[_0x1b324e(0x14b)](_0x141ecb['id']),_0x1b7a74['push'](_0x141ecb);};return _0x9b8c65(_0x446bf8),_0x1b7a74;}function assertDeleteTargetsComplete(_0x44fc92,_0x53e221){const _0x253787=a151_0x5857a7,_0x36e569=requireMenu(_0x53e221,_0x44fc92['target']['id']);if(_0x44fc92[_0x253787(0x178)]&&_0x36e569[_0x253787(0x17b)][_0x253787(0x111)]()[_0x253787(0x118)]()!=='folder')throw menuError(_0x253787(0x161),_0x253787(0x126)+_0x36e569['id']+'\x20is\x20not\x20a\x20folder.');const _0x3b7f4f=_0x44fc92[_0x253787(0x178)]?collectDeleteTargets(_0x53e221,_0x36e569)[_0x253787(0x14d)](_0x1992f1=>_0x1992f1['id']):[_0x36e569['id']];if(JSON[_0x253787(0x119)](_0x44fc92[_0x253787(0x11c)])!==JSON[_0x253787(0x119)](_0x3b7f4f))throw menuError(_0x253787(0x161),_0x253787(0x17d),_0x253787(0x11b));}function assertNoSharedPages(_0x47fa7d,_0x52f966){const _0x7b9507=a151_0x5857a7,_0x4c1be9=new Set(_0x52f966[_0x7b9507(0x14d)](_0x988f9e=>_0x988f9e['id'])),_0x59889a=new Set(_0x52f966[_0x7b9507(0x14d)](_0x1492c1=>_0x1492c1[_0x7b9507(0x11e)])[_0x7b9507(0x188)](_0x4609ca=>_0x4609ca!=null));if(_0x59889a[_0x7b9507(0x13e)]===0x0)return;const _0x532a91=_0x47fa7d[_0x7b9507(0x172)][_0x7b9507(0x188)](_0x5b8c35=>!_0x4c1be9[_0x7b9507(0x164)](_0x5b8c35['id'])&&_0x5b8c35[_0x7b9507(0x11e)]!=null&&_0x59889a[_0x7b9507(0x164)](_0x5b8c35[_0x7b9507(0x11e)]));if(_0x532a91[_0x7b9507(0x179)]===0x0)return;const _0x4d8d16=_0x532a91[_0x7b9507(0x14d)](_0x1c9ded=>'page\x20'+_0x1c9ded[_0x7b9507(0x11e)]+_0x7b9507(0x15d)+_0x1c9ded['id'])['join'](',\x20');throw menuError('menu_page_shared',_0x7b9507(0x10b)+_0x4d8d16+'.',_0x7b9507(0x117));}function assertCascadeMatchesPlan(_0x18b3c4,_0x537c01){const _0x169b53=a151_0x5857a7,_0x3207af=cascadeForTargets(_0x537c01);if(JSON[_0x169b53(0x119)](_0x18b3c4['cascade'])!==JSON[_0x169b53(0x119)](_0x3207af))throw menuError(_0x169b53(0x161),_0x169b53(0x169));}function cascadeForTargets(_0x3304f2){const _0x38921b=a151_0x5857a7,_0x40ed65=_0x3304f2[_0x38921b(0x14d)](_0x5cdc06=>_0x5cdc06[_0x38921b(0x11e)])['filter'](_0x1d8dc2=>_0x1d8dc2!=null)[_0x38921b(0x188)]((_0x1b0cc6,_0x110aea,_0x3796a2)=>_0x3796a2[_0x38921b(0x134)](_0x1b0cc6)===_0x110aea);return{'pages':_0x40ed65,'pageSchemaAffected':_0x40ed65[_0x38921b(0x179)]>0x0};}function asMenuError(_0x5d0507){const _0x57a792=a151_0x5857a7;return _0x5d0507 instanceof CliError?_0x5d0507:menuError(_0x57a792(0x161),_0x5d0507 instanceof Error?_0x5d0507['message']:String(_0x5d0507));}
|
|
1
|
+
function a151_0x3f02(_0x34fa5c,_0x2322ca){_0x34fa5c=_0x34fa5c-0xbf;const _0x17479e=a151_0x1747();let _0x3f0245=_0x17479e[_0x34fa5c];return _0x3f0245;}const a151_0x3cdc98=a151_0x3f02;(function(_0x653300,_0x3455ba){const _0x2e48b8=a151_0x3f02,_0x1e1de7=_0x653300();while(!![]){try{const _0x194d87=parseInt(_0x2e48b8(0xdc))/0x1*(-parseInt(_0x2e48b8(0xd7))/0x2)+-parseInt(_0x2e48b8(0xc5))/0x3*(-parseInt(_0x2e48b8(0xfe))/0x4)+-parseInt(_0x2e48b8(0x122))/0x5*(-parseInt(_0x2e48b8(0xe7))/0x6)+parseInt(_0x2e48b8(0xc0))/0x7+parseInt(_0x2e48b8(0xcf))/0x8+parseInt(_0x2e48b8(0xeb))/0x9*(parseInt(_0x2e48b8(0xef))/0xa)+-parseInt(_0x2e48b8(0x10c))/0xb;if(_0x194d87===_0x3455ba)break;else _0x1e1de7['push'](_0x1e1de7['shift']());}catch(_0x2a51e7){_0x1e1de7['push'](_0x1e1de7['shift']());}}}(a151_0x1747,0x85ab7));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':a151_0x3cdc98(0x133),'path':a151_0x3cdc98(0xdf)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a151_0x3cdc98(0x109),'type':a151_0x3cdc98(0xc7),'description':a151_0x3cdc98(0xfa)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':'string','description':a151_0x3cdc98(0x139)},MENU_DELETE_PLAN_FLAG={'name':a151_0x3cdc98(0xc6),'type':'string','description':a151_0x3cdc98(0xd4)};export const menuDelete={'service':'menu','command':a151_0x3cdc98(0xe4),'description':a151_0x3cdc98(0xca),'risk':a151_0x3cdc98(0x101),'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'(_0x490fd0){const _0x1fcd36=a151_0x3cdc98;_0x490fd0[_0x1fcd36(0x10d)](_0x1fcd36(0xd1))?validateDeleteDryRunInput(_0x490fd0):validateDeleteExecuteInput(_0x490fd0),requireExplicitYes(_0x490fd0);},async 'dryRun'(_0x2bef3f){const _0x1a8ad5=a151_0x3cdc98;validateDeleteDryRunInput(_0x2bef3f);const _0x32bd26=await buildDeletePlan(_0x2bef3f),_0x2dafc2=createMenuDeletePlanFile(_0x2bef3f[_0x1a8ad5(0xe2)],_0x32bd26),_0x1d5d82=await writeMenuDeletePlan(_0x2bef3f[_0x1a8ad5(0x127)](_0x1a8ad5(0x112)),_0x2dafc2),_0x2903ef=mutationResult({..._0x32bd26,'planFile':{'path':_0x1d5d82,'createdAt':_0x2dafc2[_0x1a8ad5(0xff)],'expiresAt':_0x2dafc2[_0x1a8ad5(0xe0)]}});return menuDryRunResult(_0x2903ef,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x2903ef[_0x1a8ad5(0xe1)]},'description':_0x1a8ad5(0x11e)+(_0x2903ef[_0x1a8ad5(0xe1)]?.[_0x1a8ad5(0xf0)]??0x1)+_0x1a8ad5(0x100)+_0x2903ef[_0x1a8ad5(0x108)]['id']+_0x1a8ad5(0x107)+_0x1d5d82+'.'});},async 'execute'(_0x5b83bd){const _0x1a4420=a151_0x3cdc98;requireExplicitYes(_0x5b83bd),validateDeleteExecuteInput(_0x5b83bd);const _0x4bbf66=await readMenuDeletePlan(_0x5b83bd[_0x1a4420(0x127)]('plan')),_0x38ab03=mutationPlanFromDeleteFile(_0x4bbf66[_0x1a4420(0xc6)],_0x4bbf66[_0x1a4420(0x125)]),_0x282e33=_0x4bbf66[_0x1a4420(0xc6)][_0x1a4420(0x114)]['id'];try{assertMenuDeletePlanExecutable(_0x4bbf66['plan'],_0x5b83bd[_0x1a4420(0xe2)]);}catch(_0x532cb3){throw menuFailure(asMenuError(_0x532cb3),_0x38ab03,{'stage':_0x1a4420(0x130),'failed':{'id':_0x282e33}});}let _0x19e9df,_0x41c956;try{_0x19e9df=await fetchMutationSnapshot(_0x5b83bd,'execute\x20reviewed\x20delete\x20plan',_0x282e33),_0x41c956=assertMenuDeletePlanCurrent(_0x4bbf66['plan'],_0x5b83bd[_0x1a4420(0xe2)],_0x19e9df),assertDeleteTargetsComplete(_0x4bbf66['plan'],_0x19e9df),_0x41c956['forEach'](_0x5a1e86=>assertDeleteSafety(_0x5a1e86,_0x4bbf66[_0x1a4420(0xc6)]['recursive'])),assertNoSharedPages(_0x19e9df,_0x41c956),assertCascadeMatchesPlan(_0x38ab03,_0x41c956);}catch(_0x254ef7){throw menuFailure(asMenuError(_0x254ef7),_0x38ab03,{'stage':_0x1a4420(0x119),'failed':{'id':_0x282e33}});}const _0x36fdec=_0x4bbf66[_0x1a4420(0xc6)]['deleteOrder'];let _0x4b1ef7;try{_0x4b1ef7=await batchDeleteMenuEntities(_0x5b83bd['cookie'],_0x36fdec);}catch(_0x339f47){const _0xc31d74=mapMenuApiError(_0x339f47,_0x1a4420(0xc4)),_0x5d5f40=[_0x1a4420(0x106)];let _0x3f23e6;try{_0x3f23e6=await readDeleteOutcome(_0x5b83bd,_0x36fdec);}catch(_0xb9b87b){const _0x2db1ca=describeMenuErrorCause(_0xb9b87b,_0x1a4420(0x115),_0x282e33);_0x5d5f40['push'](_0x1a4420(0xd3)+_0x2db1ca['causeCode']+_0x1a4420(0x11c)+_0x2db1ca['causeMessage']);throw menuFailure(_0xc31d74,_0x38ab03,{'stage':_0x1a4420(0x10b),'failed':{'targetIds':_0x36fdec,'targetIdsAbsent':_0x1a4420(0x12e),..._0x2db1ca},'warnings':_0x5d5f40,'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x36fdec}});}throw menuFailure(_0xc31d74,_0x38ab03,{'stage':_0x1a4420(0x10b),'succeeded':_0x3f23e6[_0x1a4420(0x126)]['map'](_0x30b29d=>({'id':_0x30b29d,'deleted':!![]})),'failed':{'targetIds':_0x36fdec,'absentIds':_0x3f23e6[_0x1a4420(0x126)],'remainingIds':_0x3f23e6[_0x1a4420(0xf5)]},'warnings':_0x5d5f40,'verification':verificationFromOutcome(_0x3f23e6)});}if(_0x4b1ef7!==_0x36fdec['length']){const _0x237901=menuError(_0x1a4420(0xd2),'Backend\x20reported\x20'+_0x4b1ef7+_0x1a4420(0xf9)+_0x36fdec[_0x1a4420(0xf0)]+'.',_0x1a4420(0x124)),_0x55bf3a=[_0x1a4420(0xfc)];let _0x3fefa9;try{_0x3fefa9=await readDeleteOutcome(_0x5b83bd,_0x36fdec);}catch(_0x3ef6d){const _0x1d9ac=describeMenuErrorCause(_0x3ef6d,_0x1a4420(0x129),_0x282e33);_0x55bf3a[_0x1a4420(0x120)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x1d9ac['causeCode']+_0x1a4420(0x11c)+_0x1d9ac[_0x1a4420(0x11f)]);throw menuFailure(_0x237901,_0x38ab03,{'stage':_0x1a4420(0x10b),'failed':{'targetIds':_0x36fdec,'expectedCount':_0x36fdec[_0x1a4420(0xf0)],'reportedDeletedCount':_0x4b1ef7,'targetIdsAbsent':_0x1a4420(0x12e),..._0x1d9ac},'warnings':_0x55bf3a,'verification':{'status':_0x1a4420(0xfd),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x36fdec}});}throw menuFailure(_0x237901,_0x38ab03,{'stage':_0x1a4420(0x10b),'succeeded':_0x3fefa9[_0x1a4420(0x126)]['map'](_0x570c60=>({'id':_0x570c60,'deleted':!![]})),'failed':{'targetIds':_0x36fdec,'expectedCount':_0x36fdec['length'],'reportedDeletedCount':_0x4b1ef7,'absentIds':_0x3fefa9['absentIds'],'remainingIds':_0x3fefa9['remainingIds']},'warnings':_0x55bf3a,'verification':verificationFromOutcome(_0x3fefa9)});}let _0xb6e286;try{_0xb6e286=await readDeleteOutcome(_0x5b83bd,_0x36fdec);}catch(_0x7c7821){const _0x5c6487=describeMenuErrorCause(_0x7c7821,'verify\x20batch\x20delete',_0x282e33),_0x5bcb0d=asVerificationError(_0x7c7821,_0x1a4420(0xcb)+_0x282e33+_0x1a4420(0xde));throw menuFailure(_0x5bcb0d,_0x38ab03,{'stage':_0x1a4420(0x128),'succeeded':_0x36fdec[_0x1a4420(0xf7)](_0x4a5e30=>({'id':_0x4a5e30,'deleteRequested':!![]})),'failed':{'id':_0x282e33,'targetIds':_0x36fdec,'targetIdsAbsent':_0x1a4420(0x12e),..._0x5c6487},'warnings':[_0x1a4420(0xea)],'verification':{'status':_0x1a4420(0xfd),'lookupCommand':_0x1a4420(0x10f),'targetIds':_0x36fdec}});}if(_0xb6e286['remainingIds'][_0x1a4420(0xf0)]>0x0){const _0x373ad7=menuError('menu_verification_failed',_0x1a4420(0x103)+_0xb6e286[_0x1a4420(0xf5)]['join'](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x373ad7,_0x38ab03,{'stage':_0x1a4420(0x128),'succeeded':_0x36fdec[_0x1a4420(0xf7)](_0x680af0=>({'id':_0x680af0,'deleteRequested':!![]})),'failed':{'id':_0x282e33,'targetIds':_0x36fdec,'absentIds':_0xb6e286[_0x1a4420(0x126)],'remainingIds':_0xb6e286['remainingIds']},'warnings':[_0x1a4420(0x135)],'verification':verificationFromOutcome(_0xb6e286)});}const _0x1c55a1=_0x36fdec[_0x1a4420(0xf7)](_0x27f616=>({'id':_0x27f616,'deleted':!![]})),_0x31a995=mutationResult({..._0x38ab03,'dryRun':![],'succeeded':_0x1c55a1,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x38ab03[_0x1a4420(0xec)],'finalSnapshotHash':_0xb6e286[_0x1a4420(0x10e)][_0x1a4420(0xc2)],'reportedDeletedCount':_0x4b1ef7,'targetAbsent':!_0xb6e286[_0x1a4420(0x10e)][_0x1a4420(0xfb)][_0x1a4420(0xce)](_0x282e33),'allTargetsAbsent':!![],'targetIds':_0x36fdec}});return{'ok':!![],'data':_0x31a995,'message':_0x1a4420(0xc1)+_0x1c55a1[_0x1a4420(0xf0)]+_0x1a4420(0x100)+_0x282e33+'.'};}};async function readDeleteOutcome(_0x9f6528,_0x181aa2){const _0x58c0b0=a151_0x3cdc98,_0x111dee=await fetchMenuSnapshot(_0x9f6528['appCode'],_0x9f6528[_0x58c0b0(0xf3)]);return{'snapshot':_0x111dee,'absentIds':_0x181aa2[_0x58c0b0(0x105)](_0x434ca2=>!_0x111dee[_0x58c0b0(0xfb)][_0x58c0b0(0xce)](_0x434ca2)),'remainingIds':_0x181aa2[_0x58c0b0(0x105)](_0x1da127=>_0x111dee[_0x58c0b0(0xfb)][_0x58c0b0(0xce)](_0x1da127))};}function verificationFromOutcome(_0x1f8050){const _0x14ac84=a151_0x3cdc98;return{'checkedBy':_0x14ac84(0xcc),'absentIds':_0x1f8050[_0x14ac84(0x126)],'remainingIds':_0x1f8050['remainingIds']};}function validateDeleteDryRunInput(_0x3eb614){const _0x4e66af=a151_0x3cdc98;validateExactId(_0x3eb614);if(!hasFlag(_0x3eb614,_0x4e66af(0x112))||!_0x3eb614[_0x4e66af(0x127)](_0x4e66af(0x112))['trim']())throw CliErrors[_0x4e66af(0xee)](_0x4e66af(0x112),_0x4e66af(0x123));if(hasFlag(_0x3eb614,_0x4e66af(0xc6)))throw CliErrors[_0x4e66af(0x113)](_0x4e66af(0x116));}function validateDeleteExecuteInput(_0x2c624a){const _0x4fcf96=a151_0x3cdc98;if(!hasFlag(_0x2c624a,_0x4fcf96(0xc6))||!_0x2c624a['str']('plan')[_0x4fcf96(0x11d)]())throw CliErrors['flagMissing'](_0x4fcf96(0xc6),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x4b70ba=['id',_0x4fcf96(0x109),'plan-out',_0x4fcf96(0x136),_0x4fcf96(0x10a),_0x4fcf96(0x118)][_0x4fcf96(0x105)](_0x18cb61=>hasFlag(_0x2c624a,_0x18cb61));if(_0x4b70ba['length']>0x0)throw CliErrors[_0x4fcf96(0x113)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4b70ba['map'](_0x447ab8=>'--'+_0x447ab8)[_0x4fcf96(0xc9)](',\x20')+'.');}async function buildDeletePlan(_0x43b1a8){const _0x29b804=a151_0x3cdc98,_0x287414=validateExactId(_0x43b1a8),_0x88123e=await fetchMutationSnapshot(_0x43b1a8,_0x29b804(0xf2),_0x287414),_0x2289e1=requireMenu(_0x88123e,_0x287414);assertExpectedState(_0x43b1a8,_0x2289e1);const _0x418e85=_0x43b1a8['bool'](_0x29b804(0x109));let _0x16b958;if(_0x418e85){if(_0x2289e1[_0x29b804(0x12c)]['trim']()[_0x29b804(0xdd)]()!==_0x29b804(0x11b))throw menuError(_0x29b804(0x138),_0x29b804(0xf8)+_0x2289e1['id']+_0x29b804(0xe8)+(_0x2289e1['type']||'unknown')+_0x29b804(0xed));_0x16b958=collectDeleteTargets(_0x88123e,_0x2289e1),_0x16b958[_0x29b804(0x131)](_0xd1dc36=>assertDeleteSafety(_0xd1dc36,!![]));}else assertDeleteSafety(_0x2289e1),_0x16b958=[_0x2289e1];assertNoSharedPages(_0x88123e,_0x16b958);const _0x2ad5c3=_0x16b958[_0x29b804(0xf7)](_0x1e1810=>_0x1e1810['id']),_0x438711=cascadeForTargets(_0x16b958),_0x4a5a5d=_0x438711['pages'][_0x29b804(0xf0)]>0x0?[_0x29b804(0xe5)]:[];return mutationResult({'operation':_0x29b804(0xe4),'selector':{'id':_0x287414,'recursive':_0x418e85},'before':_0x2289e1,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x29b804(0x117),'method':_0x29b804(0x133),'path':_0x29b804(0xdf),'body':{'idList':_0x2ad5c3}}],'targets':_0x16b958,'deleteOrder':_0x2ad5c3,'snapshotHash':_0x88123e['hash'],'cascade':_0x438711,'warnings':_0x4a5a5d});}function assertDeleteSafety(_0x2c90b6,_0x3d3c83=![]){const _0x1bec8b=a151_0x3cdc98,_0x2261e9=_0x2c90b6['type']['trim']()[_0x1bec8b(0xdd)]()===_0x1bec8b(0x11b);if(_0x2c90b6['childrenCount']>0x0&&(!_0x3d3c83||!_0x2261e9))throw menuError(_0x1bec8b(0x134),_0x1bec8b(0xf8)+_0x2c90b6['id']+'\x20has\x20'+_0x2c90b6[_0x1bec8b(0xd0)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x1bec8b(0xd6)+_0x2c90b6['childrenIds'][_0x1bec8b(0xc9)](',\x20'));if(_0x2261e9&&_0x2c90b6[_0x1bec8b(0x137)]!=null)throw menuError(_0x1bec8b(0xbf),'Folder\x20'+_0x2c90b6['id']+_0x1bec8b(0x104)+_0x2c90b6[_0x1bec8b(0x137)]+_0x1bec8b(0xd8),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x2261e9)return;if(!_0x2c90b6[_0x1bec8b(0xd5)])throw menuError('menu_folder_resources_invalid','Folder\x20'+_0x2c90b6['id']+_0x1bec8b(0x110),_0x1bec8b(0x132));if(_0x2c90b6[_0x1bec8b(0x12d)][_0x1bec8b(0xf0)]>0x0)throw menuError(_0x1bec8b(0xdb),_0x1bec8b(0xf1)+_0x2c90b6['id']+'\x20still\x20references\x20'+_0x2c90b6[_0x1bec8b(0x12d)][_0x1bec8b(0xf0)]+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x37eb6f,_0x276663){const _0x33744b=[],_0x4101ff=new Set(),_0x5a906c=new Set(),_0x43579e=_0x2d2293=>{const _0x4e6e54=a151_0x3f02;if(_0x4101ff[_0x4e6e54(0xce)](_0x2d2293['id']))throw menuError(_0x4e6e54(0x11a),_0x4e6e54(0x12b)+_0x2d2293['id']+'.');if(_0x5a906c[_0x4e6e54(0xce)](_0x2d2293['id']))return;_0x4101ff[_0x4e6e54(0xf4)](_0x2d2293['id']);for(const _0x6177ef of _0x2d2293[_0x4e6e54(0xc3)]){const _0x54bf18=_0x37eb6f['byId']['get'](_0x6177ef);if(!_0x54bf18)throw menuError(_0x4e6e54(0x11a),_0x4e6e54(0xf8)+_0x2d2293['id']+'\x20references\x20missing\x20child\x20'+_0x6177ef+'.');_0x43579e(_0x54bf18);}_0x4101ff[_0x4e6e54(0xe4)](_0x2d2293['id']),_0x5a906c[_0x4e6e54(0xf4)](_0x2d2293['id']),_0x33744b[_0x4e6e54(0x120)](_0x2d2293);};return _0x43579e(_0x276663),_0x33744b;}function assertDeleteTargetsComplete(_0xe3b60a,_0x399021){const _0x2b1d04=a151_0x3cdc98,_0x31d1b4=requireMenu(_0x399021,_0xe3b60a[_0x2b1d04(0x114)]['id']);if(_0xe3b60a['recursive']&&_0x31d1b4[_0x2b1d04(0x12c)]['trim']()[_0x2b1d04(0xdd)]()!=='folder')throw menuError(_0x2b1d04(0xd9),_0x2b1d04(0x102)+_0x31d1b4['id']+_0x2b1d04(0xe6));const _0x3a2501=_0xe3b60a[_0x2b1d04(0x109)]?collectDeleteTargets(_0x399021,_0x31d1b4)[_0x2b1d04(0xf7)](_0x1cdf74=>_0x1cdf74['id']):[_0x31d1b4['id']];if(JSON[_0x2b1d04(0x111)](_0xe3b60a[_0x2b1d04(0xe1)])!==JSON[_0x2b1d04(0x111)](_0x3a2501))throw menuError(_0x2b1d04(0xd9),_0x2b1d04(0xda),_0x2b1d04(0x12a));}function assertNoSharedPages(_0x3e7b04,_0x515868){const _0x1c8fb9=a151_0x3cdc98,_0x570787=new Set(_0x515868['map'](_0x3d7e66=>_0x3d7e66['id'])),_0x200857=new Set(_0x515868['map'](_0x5377b1=>_0x5377b1[_0x1c8fb9(0x137)])[_0x1c8fb9(0x105)](_0x5f48ac=>_0x5f48ac!=null));if(_0x200857['size']===0x0)return;const _0x2af99f=_0x3e7b04['menus']['filter'](_0x27b9f5=>!_0x570787[_0x1c8fb9(0xce)](_0x27b9f5['id'])&&_0x27b9f5['pageId']!=null&&_0x200857[_0x1c8fb9(0xce)](_0x27b9f5['pageId']));if(_0x2af99f[_0x1c8fb9(0xf0)]===0x0)return;const _0x35d194=_0x2af99f['map'](_0x52d8e6=>'page\x20'+_0x52d8e6[_0x1c8fb9(0x137)]+_0x1c8fb9(0x12f)+_0x52d8e6['id'])[_0x1c8fb9(0xc9)](',\x20');throw menuError(_0x1c8fb9(0x121),_0x1c8fb9(0xcd)+_0x35d194+'.',_0x1c8fb9(0xf6));}function assertCascadeMatchesPlan(_0x8faa6c,_0x4e2455){const _0x12beab=a151_0x3cdc98,_0x3b22c2=cascadeForTargets(_0x4e2455);if(JSON[_0x12beab(0x111)](_0x8faa6c['cascade'])!==JSON[_0x12beab(0x111)](_0x3b22c2))throw menuError(_0x12beab(0xd9),_0x12beab(0xc8));}function cascadeForTargets(_0x47dbea){const _0x122c66=a151_0x3cdc98,_0x3fe024=_0x47dbea['map'](_0x42e153=>_0x42e153[_0x122c66(0x137)])[_0x122c66(0x105)](_0x4f113a=>_0x4f113a!=null)[_0x122c66(0x105)]((_0x327ab9,_0x39ffe4,_0xaa411b)=>_0xaa411b[_0x122c66(0xe9)](_0x327ab9)===_0x39ffe4);return{'pages':_0x3fe024,'pageSchemaAffected':_0x3fe024[_0x122c66(0xf0)]>0x0};}function asMenuError(_0x5f31f4){const _0x65f55b=a151_0x3cdc98;return _0x5f31f4 instanceof CliError?_0x5f31f4:menuError(_0x65f55b(0xd9),_0x5f31f4 instanceof Error?_0x5f31f4[_0x65f55b(0xe3)]:String(_0x5f31f4));}function a151_0x1747(){const _0x6da1db=['map','Menu\x20','\x20deleted\x20menus;\x20expected\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','byId','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','failed','139976nNdepM','createdAt','\x20menu(s)\x20under\x20exact\x20id\x20','high-risk-write','Recursive\x20menu\x20delete\x20plan\x20root\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','filter','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.',';\x20execution\x20must\x20consume\x20','selector','recursive','expect-path','batch-delete','31686974FglZuH','bool','snapshot','rabetbase\x20menu\x20list\x20--format\x20json','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','stringify','plan-out','validation','target','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','batch-delete-menu','expected-children-count','pre-write-plan-validation','menu_tree_invalid','folder','):\x20','trim','Would\x20batch\x20delete\x20','causeMessage','push','menu_page_shared','25oeWlNE','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','path','absentIds','str','verification','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','type','resources','unconfirmed','\x20->\x20menu\x20','plan-validation','forEach','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','POST','menu_non_empty','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','expect-parent-id','pageId','menu_recursive_requires_folder','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','menu_delete_page_bound','4736018ENvWNi','Deleted\x20','hash','childrenIds','batch\x20delete','90kViFJU','plan','boolean','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','join','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Batch\x20delete\x20request\x20for\x20menu\x20','menu\x20list','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','has','5804424hvWhAN','childrenCount','dry-run','menu_batch_delete_count_mismatch','Post-failure\x20menu\x20readback\x20failed\x20(','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','resourcesValid','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','2Ejxfcy','\x20and\x20cannot\x20be\x20deleted\x20safely.','menu_plan_invalid','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','menu_folder_has_resources','706439BhwLbG','toLowerCase','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','/smartapi/menu/batchDelete','expiresAt','deleteOrder','appCode','message','delete','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','\x20is\x20not\x20a\x20folder.','810234ryYBhG','\x20is\x20type\x20\x22','indexOf','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','3022326WluCOg','snapshotHash','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','flagMissing','30QcMBta','length','Folder\x20','plan\x20delete','cookie','add','remainingIds','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.'];a151_0x1747=function(){return _0x6da1db;};return a151_0x1747();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a152_0x2ba23b=a152_0x2b17;(function(_0xd9c276,_0x24f5ed){const _0x25c00c=a152_0x2b17,_0x5de10f=_0xd9c276();while(!![]){try{const _0x9c7a10=parseInt(_0x25c00c(0x256))/0x1*(parseInt(_0x25c00c(0x23a))/0x2)+parseInt(_0x25c00c(0x212))/0x3*(parseInt(_0x25c00c(0x233))/0x4)+-parseInt(_0x25c00c(0x1ee))/0x5*(parseInt(_0x25c00c(0x24f))/0x6)+-parseInt(_0x25c00c(0x229))/0x7+-parseInt(_0x25c00c(0x254))/0x8+parseInt(_0x25c00c(0x1ea))/0x9+-parseInt(_0x25c00c(0x1e3))/0xa*(parseInt(_0x25c00c(0x241))/0xb);if(_0x9c7a10===_0x24f5ed)break;else _0x5de10f['push'](_0x5de10f['shift']());}catch(_0xe1cef4){_0x5de10f['push'](_0x5de10f['shift']());}}}(a152_0x2749,0x86fc3));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':a152_0x2ba23b(0x1dd),'new-window':'link'};export function validateExternalMenuUrl(_0x58bc1e){const _0x27d157=a152_0x2ba23b,_0x31fd47=_0x58bc1e[_0x27d157(0x20f)]();let _0x1d62db;try{_0x1d62db=new URL(_0x31fd47);}catch{throw menuError(_0x27d157(0x24a),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x1d62db[_0x27d157(0x259)]!=='https:')throw menuError(_0x27d157(0x1d0),_0x27d157(0x245),_0x27d157(0x1f1));if(_0x1d62db[_0x27d157(0x1dc)]||_0x1d62db['password'])throw menuError(_0x27d157(0x202),_0x27d157(0x1d3),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x31fd47;}export const menuExternalLinkCreate={'service':a152_0x2ba23b(0x1f4),'command':'external-link-create','description':a152_0x2ba23b(0x1e7),'risk':a152_0x2ba23b(0x257),'structuredErrors':!![],'flags':[{'name':a152_0x2ba23b(0x1da),'type':a152_0x2ba23b(0x1fb),'required':!![],'description':'Menu\x20label'},{'name':a152_0x2ba23b(0x210),'type':a152_0x2ba23b(0x1fb),'required':!![],'enum':[a152_0x2ba23b(0x204),'new-window'],'description':a152_0x2ba23b(0x201)},{'name':a152_0x2ba23b(0x242),'type':a152_0x2ba23b(0x1fb),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a152_0x2ba23b(0x1df),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x58433b){validateAddInput(_0x58433b);},async 'dryRun'(_0x49c3b1){const _0x579331=a152_0x2ba23b;validateAddInput(_0x49c3b1);const {plan:_0x472219}=await buildSafeAddPlan(_0x49c3b1,!![]),_0x29f81a=_0x472219[_0x579331(0x1d1)],_0x38744a=createBody(_0x29f81a);return menuDryRunResult(_0x472219,{'method':_0x579331(0x258),'url':_0x579331(0x255),'body':_0x38744a,'description':_0x579331(0x235)+JSON['stringify'](_0x29f81a[_0x579331(0x1da)])+_0x579331(0x222)+_0x49c3b1['str'](_0x579331(0x210))+_0x579331(0x22c)});},async 'execute'(_0x4134bf){const _0x3ed1bf=a152_0x2ba23b;validateAddInput(_0x4134bf);const _0x2b924a=await buildSafeAddPlan(_0x4134bf,![]),{plan:_0x136edf,snapshot:_0x2767cf}=_0x2b924a,_0x50004e=_0x136edf[_0x3ed1bf(0x1d1)],_0x2ff9e2=buildMenuLookupCommand(_0x4134bf['appCode']);await recheckAddSnapshot(_0x4134bf,_0x136edf);let _0x3a5916;try{_0x3a5916=await createMenuEntity(_0x4134bf[_0x3ed1bf(0x207)],_0x4134bf[_0x3ed1bf(0x1e1)],createBody(_0x50004e));}catch(_0x1f1eef){const _0x1df60d=mapMenuApiError(_0x1f1eef,_0x3ed1bf(0x251));if(!isMenuResponseLoss(_0x1f1eef)||_0x1df60d[_0x3ed1bf(0x20a)]===_0x3ed1bf(0x205))throw externalLinkCreateFailure(_0x1df60d,_0x136edf,{'stage':'create','failed':{},'verification':{'status':_0x3ed1bf(0x22f),'lookupCommand':_0x2ff9e2}});return recoverAfterResponseLoss(_0x4134bf,_0x2b924a,_0x2ff9e2);}const _0x55a6c3=Number(_0x3a5916?.['id']),_0xbcb01=typeof _0x3a5916?.['path']==='string'?_0x3a5916[_0x3ed1bf(0x20b)]:'';if(!Number[_0x3ed1bf(0x1f0)](_0x55a6c3)||_0x55a6c3<=0x0||!_0xbcb01[_0x3ed1bf(0x20f)]()){const _0x337a7b=menuError('menu_create_response_invalid',_0x3ed1bf(0x206),'Run\x20'+_0x2ff9e2+_0x3ed1bf(0x237));throw externalLinkCreateFailure(_0x337a7b,_0x136edf,{'stage':_0x3ed1bf(0x1f6),'succeeded':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?[{'id':_0x55a6c3,'created':!![]}]:[],'failed':{'createdId':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)?_0x55a6c3:null,'generatedPathConfirmed':Boolean(_0xbcb01[_0x3ed1bf(0x20f)]())},'warnings':[_0x3ed1bf(0x240)],'after':Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?{..._0x50004e,'id':_0x55a6c3,'path':_0xbcb01}:_0x50004e,'verification':{'status':'failed','lookupCommand':_0x2ff9e2,...Number[_0x3ed1bf(0x1f0)](_0x55a6c3)&&_0x55a6c3>0x0?{'targetId':_0x55a6c3}:{}}});}const _0x6ab2fa=await readAndVerifyCreatedMenu({'appCode':_0x4134bf[_0x3ed1bf(0x207)],'cookie':_0x4134bf['cookie'],'plan':_0x136edf,'afterPlan':_0x50004e,'createdId':_0x55a6c3,'expectedPath':_0xbcb01,'lookupCommand':_0x2ff9e2,'recovered':![]});return creationSuccess(_0x136edf,_0x6ab2fa[_0x3ed1bf(0x223)],_0x6ab2fa['fact'],![]);}};function validateAddInput(_0x2be1de){const _0x47291c=a152_0x2ba23b;if(!_0x2be1de[_0x47291c(0x1ed)](_0x47291c(0x1da))['trim']())throw CliErrors['flagMissing'](_0x47291c(0x1da));resolveExternalMenuType(_0x2be1de),validateExternalMenuUrl(_0x2be1de[_0x47291c(0x1ed)](_0x47291c(0x242))),parseParentId(_0x2be1de,_0x47291c(0x209)),validateSort(_0x2be1de);}function resolveExternalMenuType(_0x860dfb){const _0x4af156=a152_0x2ba23b,_0x2c0ca2=_0x860dfb['str']('open-mode')['trim']();if(!_0x2c0ca2)throw CliErrors[_0x4af156(0x1f5)](_0x4af156(0x210));const _0x393f36=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2c0ca2];if(!_0x393f36)throw menuError(_0x4af156(0x227),_0x4af156(0x218),_0x4af156(0x1f9));return _0x393f36;}async function buildAddPlan(_0xe8cbf0,_0x58706c){const _0x287268=a152_0x2ba23b,_0x5e3826=await fetchMutationSnapshot(_0xe8cbf0,_0x287268(0x251)),_0x179d81=parseParentId(_0xe8cbf0,_0x287268(0x209))??null;if(_0x179d81!=null)requireFolder(_0x5e3826,_0x179d81);const _0x53d16d=validateSort(_0xe8cbf0),_0x1ac1d4=_0x53d16d??nextSiblingSort(_0x5e3826,_0x179d81,_0x287268(0x1f4)),_0x126a4c=_0xe8cbf0['str'](_0x287268(0x1da))[_0x287268(0x20f)](),_0x44a137=resolveExternalMenuType(_0xe8cbf0),_0x2c66e6=validateExternalMenuUrl(_0xe8cbf0['str'](_0x287268(0x242))),_0xeba6d3=Object['prototype'][_0x287268(0x1ff)][_0x287268(0x22e)](_0xe8cbf0[_0x287268(0x24e)],_0x287268(0x234))?_0xe8cbf0[_0x287268(0x230)](_0x287268(0x234)):!![],_0x110780={'id':null,'parentId':_0x179d81,'label':_0x126a4c,'path':_0x287268(0x21c),'url':_0x2c66e6,'type':_0x44a137,'visible':_0xeba6d3,'sort':_0x1ac1d4},_0x589a59=buildMenuLookupCommand(_0xe8cbf0['appCode']),_0x4e9bf9=mutationResult({'operation':_0x287268(0x24c),'selector':{'parentId':_0x179d81,'type':_0x44a137,'label':_0x126a4c,'url':_0x2c66e6},'before':null,'after':_0x110780,'dryRun':_0x58706c,'backend':[{'method':_0x287268(0x258),'path':_0x287268(0x255)}],'plannedActions':[{'stage':_0x287268(0x252),'method':_0x287268(0x258),'path':_0x287268(0x255),'body':createBody(_0x110780)}],'snapshotHash':_0x5e3826[_0x287268(0x1fc)],'warnings':[_0x287268(0x21e)],'verification':{'lookupCommand':_0x589a59}});return{'plan':_0x4e9bf9,'snapshot':_0x5e3826};}async function buildSafeAddPlan(_0x1fa1e4,_0x518db6){try{return await buildAddPlan(_0x1fa1e4,_0x518db6);}catch(_0x5e33da){throw safeMenuAddError(_0x5e33da);}}async function recheckAddSnapshot(_0x45d0d1,_0x227f26){const _0x1737a6=a152_0x2ba23b;try{await recheckMutationSnapshot(_0x45d0d1,_0x227f26,'create\x20external\x20menu');}catch(_0x444800){const _0x184f5f=getFailureRecord(_0x444800);throw externalLinkCreateFailure(_0x444800,_0x227f26,{'stage':_0x1737a6(0x250),'failed':{..._0x184f5f?.[_0x1737a6(0x239)]?{'expectedSnapshotHash':_0x184f5f[_0x1737a6(0x239)]}:{},..._0x184f5f?.['currentSnapshotHash']?{'currentSnapshotHash':_0x184f5f[_0x1737a6(0x21d)]}:{}}});}}function createBody(_0x291be2){const _0x2ba64c=a152_0x2ba23b;return{'parentId':toApiParentId(_0x291be2['parentId']),'label':String(_0x291be2[_0x2ba64c(0x1da)]),'type':String(_0x291be2[_0x2ba64c(0x1e5)]),'url':String(_0x291be2[_0x2ba64c(0x242)]),'visible':Boolean(_0x291be2['visible']),'sort':Number(_0x291be2[_0x2ba64c(0x236)]),'extend':{}};}function buildMenuLookupCommand(_0x226dd6){const _0x231bc8=a152_0x2ba23b,_0x227c2e='\x27'+_0x226dd6[_0x231bc8(0x219)](/'/g,_0x231bc8(0x25a))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x227c2e+_0x231bc8(0x24b);}async function recoverAfterResponseLoss(_0xf09c77,_0x56b6bc,_0x2ffefe){const _0x1d631b=a152_0x2ba23b,{plan:_0x532670,snapshot:_0x21e856}=_0x56b6bc,_0x42ea3b=_0x532670[_0x1d631b(0x1d1)];let _0x31450c;try{_0x31450c=await fetchMenuSnapshot(_0xf09c77[_0x1d631b(0x207)],_0xf09c77[_0x1d631b(0x1e1)]);}catch(_0x529d70){throw recoveryRequiredFailure(_0x532670,_0x2ffefe,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x141a8d=_0x31450c['menus'][_0x1d631b(0x21f)](_0x81f68e=>_0x81f68e[_0x1d631b(0x1f3)]===_0x42ea3b[_0x1d631b(0x1f3)]&&_0x81f68e[_0x1d631b(0x1e5)]===_0x42ea3b[_0x1d631b(0x1e5)]&&_0x81f68e[_0x1d631b(0x1da)]===_0x42ea3b[_0x1d631b(0x1da)]&&_0x81f68e[_0x1d631b(0x242)]===_0x42ea3b[_0x1d631b(0x242)]),_0x227de0=_0x141a8d['filter'](_0x2ce8f3=>!_0x21e856['byId'][_0x1d631b(0x21b)](_0x2ce8f3['id'])),_0xdb8415=_0x141a8d[_0x1d631b(0x21f)](_0x1b603b=>_0x21e856['byId'][_0x1d631b(0x21b)](_0x1b603b['id']));if(_0x141a8d[_0x1d631b(0x215)]!==0x1||_0x227de0[_0x1d631b(0x215)]!==0x1)throw recoveryRequiredFailure(_0x532670,_0x2ffefe,{'matchCount':_0x141a8d['length'],'newMatchCount':_0x227de0[_0x1d631b(0x215)],'preexistingMatchCount':_0xdb8415[_0x1d631b(0x215)]});const _0xe166c3=_0x227de0[0x0];try{verifyCreatedFact(_0xe166c3,_0xe166c3['id'],_0x42ea3b,null);}catch(_0x37aeab){const _0x8e73b6=_0x37aeab instanceof Error&&_0x1d631b(0x20a)in _0x37aeab?_0x37aeab:menuError('menu_verification_failed',_0x1d631b(0x224)+_0xe166c3['id']+_0x1d631b(0x213),_0x1d631b(0x1cf)+_0x2ffefe+_0x1d631b(0x203));throw externalLinkCreateFailure(_0x8e73b6,_0x532670,{'stage':_0x1d631b(0x20c),'succeeded':[{'id':_0xe166c3['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xe166c3['id'],'finalFactsConfirmed':![]},'after':_0xe166c3,'warnings':[_0x1d631b(0x1e0)+_0xe166c3['id']+_0x1d631b(0x1ef)],'verification':{'status':_0x1d631b(0x22f),'targetId':_0xe166c3['id'],'recovered':!![],'lookupCommand':_0x2ffefe}});}return creationSuccess(_0x532670,_0x31450c,_0xe166c3,!![]);}function recoveryRequiredFailure(_0x543850,_0x586b4f,_0x2c9ee6){const _0x3c6a5c=a152_0x2ba23b,_0x5a7ddd=menuError(_0x3c6a5c(0x231),_0x3c6a5c(0x1db),_0x3c6a5c(0x1cf)+_0x586b4f+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x5a7ddd,_0x543850,{'stage':_0x3c6a5c(0x21a),'failed':_0x2c9ee6,'warnings':[_0x3c6a5c(0x1e9)],'verification':{'status':'failed',..._0x2c9ee6,'lookupCommand':_0x586b4f}});}async function readAndVerifyCreatedMenu(_0x22e833){const _0x373a4a=a152_0x2ba23b;let _0x131781;try{_0x131781=await fetchMenuSnapshot(_0x22e833[_0x373a4a(0x207)],_0x22e833[_0x373a4a(0x1e1)]);}catch(_0x1851fd){const _0x24f1a7=menuError('menu_verification_failed',_0x373a4a(0x1e0)+_0x22e833[_0x373a4a(0x22b)]+_0x373a4a(0x243),_0x373a4a(0x1cf)+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));throw externalLinkCreateFailure(_0x24f1a7,_0x22e833[_0x373a4a(0x1e4)],{'stage':_0x373a4a(0x20c),'succeeded':[{'id':_0x22e833[_0x373a4a(0x22b)],'created':!![]}],'failed':{'id':_0x22e833[_0x373a4a(0x22b)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x22e833[_0x373a4a(0x22a)],'id':_0x22e833[_0x373a4a(0x22b)],'path':_0x22e833[_0x373a4a(0x1f8)]},'warnings':[_0x373a4a(0x1e0)+_0x22e833['createdId']+_0x373a4a(0x228)],'verification':{'status':'failed','targetId':_0x22e833[_0x373a4a(0x22b)],'lookupCommand':_0x22e833[_0x373a4a(0x1d7)]}});}const _0x23fcd3=_0x131781[_0x373a4a(0x1ec)][_0x373a4a(0x1fe)](_0x22e833[_0x373a4a(0x22b)]);try{if(!_0x23fcd3)throw menuError(_0x373a4a(0x221),_0x373a4a(0x217)+_0x22e833[_0x373a4a(0x22b)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x373a4a(0x1cf)+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));verifyCreatedFact(_0x23fcd3,_0x22e833['createdId'],_0x22e833['afterPlan'],_0x22e833[_0x373a4a(0x1f8)]);}catch(_0x5965b5){const _0x24a7f3=_0x5965b5 instanceof Error&&'code'in _0x5965b5?_0x5965b5:menuError('menu_verification_failed',_0x373a4a(0x217)+_0x22e833[_0x373a4a(0x22b)]+'\x20failed\x20final\x20verification.','Run\x20'+_0x22e833[_0x373a4a(0x1d7)]+_0x373a4a(0x246));throw externalLinkCreateFailure(_0x24a7f3,_0x22e833[_0x373a4a(0x1e4)],{'stage':_0x373a4a(0x20c),'succeeded':[{'id':_0x22e833[_0x373a4a(0x22b)],'created':!![]}],'failed':{'id':_0x22e833['createdId'],'finalFactsConfirmed':![]},'after':_0x23fcd3??{..._0x22e833[_0x373a4a(0x22a)],'id':_0x22e833['createdId'],'path':_0x22e833[_0x373a4a(0x1f8)]},'warnings':[_0x373a4a(0x1e0)+_0x22e833[_0x373a4a(0x22b)]+_0x373a4a(0x1e8)],'verification':{'status':_0x373a4a(0x22f),'targetId':_0x22e833['createdId'],'recovered':_0x22e833[_0x373a4a(0x20d)],'lookupCommand':_0x22e833[_0x373a4a(0x1d7)]}});}return{'snapshot':_0x131781,'fact':_0x23fcd3};}function verifyCreatedFact(_0x4d9497,_0x211a3b,_0x1ff23b,_0x5952b0){const _0x4cec62=a152_0x2ba23b;if(!Number['isSafeInteger'](_0x4d9497['id'])||_0x4d9497['id']<=0x0||_0x4d9497['id']!==_0x211a3b)throw menuError(_0x4cec62(0x221),_0x4cec62(0x23c),_0x4cec62(0x247));const _0x20dde0=[[_0x4cec62(0x23d),_0x4d9497['parentId'],_0x1ff23b[_0x4cec62(0x1f3)]],['type',_0x4d9497[_0x4cec62(0x1e5)],_0x1ff23b[_0x4cec62(0x1e5)]],[_0x4cec62(0x1da),_0x4d9497['label'],_0x1ff23b[_0x4cec62(0x1da)]],[_0x4cec62(0x248),_0x4d9497[_0x4cec62(0x242)],_0x1ff23b[_0x4cec62(0x242)]],[_0x4cec62(0x200),_0x4d9497['visible'],_0x1ff23b[_0x4cec62(0x234)]],[_0x4cec62(0x236),_0x4d9497[_0x4cec62(0x236)],_0x1ff23b['sort']]];for(const [_0xc45568,_0x2e3455,_0x50c901]of _0x20dde0){if(_0x2e3455!==_0x50c901)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4d9497['id']+'\x20has\x20an\x20unexpected\x20'+_0xc45568+'.',_0x4cec62(0x1d4));}if(!_0x4d9497[_0x4cec62(0x20b)][_0x4cec62(0x20f)]()||_0x5952b0!==null&&_0x4d9497[_0x4cec62(0x20b)]!==_0x5952b0)throw menuError(_0x4cec62(0x221),_0x4cec62(0x217)+_0x4d9497['id']+_0x4cec62(0x225),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0xbc566e,_0x1b5407,_0x313ded,_0x2ed27b){const _0x47b946=a152_0x2ba23b,_0x17557d=mutationResult({..._0xbc566e,'after':_0x313ded,'dryRun':![],'succeeded':[{'id':_0x313ded['id'],'created':!![],'recovered':_0x2ed27b}],'verification':{'checkedBy':_0x47b946(0x249),'snapshotHash':_0x1b5407[_0x47b946(0x1fc)],'targetId':_0x313ded['id'],'recovered':_0x2ed27b,'path':_0x313ded[_0x47b946(0x20b)]}});return{'ok':!![],'message':_0x2ed27b?_0x47b946(0x23f)+_0x313ded['id']+_0x47b946(0x226):_0x47b946(0x238)+_0x313ded['id']+'.','data':{..._0x17557d,'recovered':_0x2ed27b}};}function externalLinkCreateFailure(_0x1a7a95,_0x25b2b8,_0x384ab8){const _0x52eaa2=a152_0x2ba23b;return menuFailure(safeMenuAddError(_0x1a7a95),redactFailurePlan(_0x25b2b8),{..._0x384ab8,'succeeded':_0x384ab8['succeeded']?.['map'](redactFailureRecord),'failed':_0x384ab8[_0x52eaa2(0x22f)]?redactFailureRecord(_0x384ab8[_0x52eaa2(0x22f)]):undefined,'verification':_0x384ab8[_0x52eaa2(0x20c)]?redactFailureRecord(_0x384ab8[_0x52eaa2(0x20c)]):undefined,'after':_0x384ab8[_0x52eaa2(0x1d1)]===undefined?undefined:redactFailureValue(_0x384ab8[_0x52eaa2(0x1d1)])});}function a152_0x2b17(_0xd15ca3,_0x5a74e6){_0xd15ca3=_0xd15ca3-0x1cf;const _0x274994=a152_0x2749();let _0x2b175b=_0x274994[_0xd15ca3];return _0x2b175b;}function redactFailurePlan(_0x10e5ac){const _0x1d9232=a152_0x2ba23b;return{..._0x10e5ac,'selector':redactFailureRecord(_0x10e5ac[_0x1d9232(0x1de)]),'before':redactFailureValue(_0x10e5ac[_0x1d9232(0x24d)]),'after':redactFailureValue(_0x10e5ac['after']),'plannedActions':_0x10e5ac[_0x1d9232(0x220)]?.[_0x1d9232(0x1d5)](_0x36c78c=>({..._0x36c78c,'body':redactFailureRecord(_0x36c78c['body'])})),'succeeded':_0x10e5ac[_0x1d9232(0x1e2)][_0x1d9232(0x1d5)](redactFailureRecord),'failed':_0x10e5ac['failed'][_0x1d9232(0x1d5)](redactFailureRecord),'verification':_0x10e5ac[_0x1d9232(0x20c)]?redactFailureRecord(_0x10e5ac[_0x1d9232(0x20c)]):undefined};}function a152_0x2749(){const _0x5d0ac2=['<redacted>','57cjVfXD','\x20could\x20not\x20be\x20verified.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','length','menu_create_response_invalid','Created\x20menu\x20','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','replace','create-recovery','has','<platform-generated>','currentSnapshotHash','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','filter','plannedActions','menu_verification_failed','\x20with\x20','snapshot','Recovered\x20menu\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','\x20after\x20response\x20loss.','menu_open_mode_invalid','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','5560114fNPpuh','afterPlan','createdId','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','call','failed','bool','menu_create_recovery_required','menu_sort_invalid','129280CGXiLz','visible','Would\x20create\x20external\x20website\x20link\x20menu\x20','sort','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','Created\x20external\x20menu\x20','expectedSnapshotHash','320oFEpyG','menu_mutation_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','parent','cause','Recovered\x20created\x20external\x20menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','11vEHkyO','url','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','toLowerCase','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','URL','menu\x20list','menu_url_invalid','\x20--format\x20compress','add','before','rawFlags','12LMzaoe','pre-write-recheck','create\x20external\x20menu','create-menu','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','2928496iodysK','/smartapi/menu/create','6397IxuLtZ','write','POST','protocol','\x27\x5c\x27\x27','Run\x20','menu_url_https_required','after','menu_parent_not_folder','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','menu_not_found','lookupCommand','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','label','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','username','iframe','selector','boolean','Menu\x20','cookie','succeeded','3275890xBcmVJ','plan','type','causemessage','Create\x20an\x20external\x20website\x20link\x20menu','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','8600904ciJIWJ','rawerror','byId','str','1381010FnxKKI','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','isSafeInteger','Provide\x20an\x20HTTPS\x20URL.','object','parentId','menu','flagMissing','create-response-validation','isArray','expectedPath','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','includes','string','hash','menu_sort_overflow','get','hasOwnProperty','visibility','How\x20to\x20open\x20the\x20external\x20website','menu_url_credentials_forbidden','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','embedded','menu_permission_denied','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','appCode','fromEntries','parent-id','code','path','verification','recovered','data','trim','open-mode'];a152_0x2749=function(){return _0x5d0ac2;};return a152_0x2749();}function redactFailureRecord(_0x587a10){return redactFailureValue(_0x587a10);}function redactFailureValue(_0x133bda,_0x4893f4=''){const _0x43d316=a152_0x2ba23b,_0x581983=_0x4893f4[_0x43d316(0x244)]()[_0x43d316(0x219)](/[^a-z0-9]/g,'');if([_0x43d316(0x23e),_0x43d316(0x1e6),'readbackerror',_0x43d316(0x1eb)][_0x43d316(0x1fa)](_0x581983))return _0x43d316(0x211);if(Array[_0x43d316(0x1f7)](_0x133bda))return _0x133bda[_0x43d316(0x1d5)](_0x383f92=>redactFailureValue(_0x383f92));if(_0x133bda&&typeof _0x133bda==='object')return Object[_0x43d316(0x208)](Object['entries'](_0x133bda)[_0x43d316(0x1d5)](([_0x181398,_0x2d2e8b])=>[_0x181398,redactFailureValue(_0x2d2e8b,_0x181398)]));return _0x133bda;}function safeMenuAddError(_0x15f1da){const _0x2193ef=a152_0x2ba23b,_0x42df40=_0x15f1da instanceof CliError?_0x15f1da['code']:_0x2193ef(0x23b);switch(_0x42df40){case'menu_state_drift':return menuError(_0x42df40,_0x2193ef(0x22d),_0x2193ef(0x1d8));case _0x2193ef(0x205):return menuError(_0x42df40,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x2193ef(0x216):return menuError(_0x42df40,_0x2193ef(0x1d9),_0x2193ef(0x214));case _0x2193ef(0x221):return menuError(_0x42df40,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.',_0x2193ef(0x214));case _0x2193ef(0x231):return menuError(_0x42df40,_0x2193ef(0x253),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x2193ef(0x23b):case _0x2193ef(0x1d6):case _0x2193ef(0x1d2):case _0x2193ef(0x232):case _0x2193ef(0x1fd):return menuError(_0x42df40,'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x2193ef(0x23b),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x22a034){const _0x208943=a152_0x2ba23b;if(!(_0x22a034 instanceof Error)||!(_0x208943(0x20e)in _0x22a034))return undefined;const _0x3a546c=_0x22a034[_0x208943(0x20e)];if(!_0x3a546c||typeof _0x3a546c!==_0x208943(0x1f2))return undefined;const _0x3d1b5e=_0x3a546c[_0x208943(0x22f)];if(!Array[_0x208943(0x1f7)](_0x3d1b5e)||!_0x3d1b5e[0x0]||typeof _0x3d1b5e[0x0]!==_0x208943(0x1f2))return undefined;return _0x3d1b5e[0x0];}
|
|
1
|
+
const a152_0x424fdc=a152_0x3a4b;(function(_0x2fc0d2,_0x376498){const _0x278b4e=a152_0x3a4b,_0xd38bf7=_0x2fc0d2();while(!![]){try{const _0x4f7275=-parseInt(_0x278b4e(0x1cd))/0x1+parseInt(_0x278b4e(0x199))/0x2+parseInt(_0x278b4e(0x1c3))/0x3+-parseInt(_0x278b4e(0x192))/0x4+parseInt(_0x278b4e(0x19e))/0x5+-parseInt(_0x278b4e(0x151))/0x6*(parseInt(_0x278b4e(0x1b4))/0x7)+-parseInt(_0x278b4e(0x1a6))/0x8*(-parseInt(_0x278b4e(0x19b))/0x9);if(_0x4f7275===_0x376498)break;else _0xd38bf7['push'](_0xd38bf7['shift']());}catch(_0x16f78e){_0xd38bf7['push'](_0xd38bf7['shift']());}}}(a152_0x3c90,0xaf61a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a152_0x3c90(){const _0x1162e5=['menu_mutation_failed','add','isSafeInteger','data','https:','pre-write-recheck','Recovered\x20menu\x20','replace','external-link-create','hasOwnProperty','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','menu_permission_denied','<platform-generated>','afterPlan','menu_create_recovery_required','string','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20has\x20an\x20unexpected\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','expectedPath','Recovered\x20created\x20external\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu_open_mode_invalid','Provide\x20an\x20HTTPS\x20URL.','Whether\x20the\x20menu\x20is\x20visible','menu_url_invalid','parentId','object','cookie','has','new-window','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','create\x20external\x20menu','stringify','includes','\x27\x5c\x27\x27','3540480ppXfbH','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','\x20--format\x20compress','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','<redacted>','bool','1308410HgUzVH','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','9098091hDIPXc','verification','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','408040QQomuM','plan','visible','prototype','Menu\x20label','after','External\x20menu\x20creation\x20failed.','Run\x20','8FzMSfc','menu_create_response_invalid','cause','label','menu','str','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','flagMissing','trim','failed','succeeded','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','35oMaJQN','create','body','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Created\x20external\x20menu\x20','Created\x20menu\x20','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','menu_sort_invalid','map','POST','rabetbase\x20menu\x20list\x20--appcode\x20','create-recovery','menu_url_credentials_forbidden','byId','External\x20HTTPS\x20URL','3484641bxrsDk','username','menu_sort_overflow','menu_verification_failed','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','appCode','lookupCommand','\x20after\x20response\x20loss.','password','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','144617OaCTMo','url','rawerror','boolean','Menu\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','\x20failed\x20final\x20verification.','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','open-mode','Create\x20an\x20external\x20website\x20link\x20menu','\x20with\x20','embedded','path','selector','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','fact','/smartapi/menu/create','causemessage','1392192wcIugR','createdId','isArray','parent','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','toLowerCase','expectedSnapshotHash','plannedActions','type','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','parent-id','hash','length','protocol','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','code','create-response-validation','readbackerror','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','call','get','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','sort','menu_url_https_required','recovered','currentSnapshotHash'];a152_0x3c90=function(){return _0x1162e5;};return a152_0x3c90();}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':'link'};export function validateExternalMenuUrl(_0x2e2356){const _0xeef973=a152_0x3a4b,_0x6f7272=_0x2e2356[_0xeef973(0x1ae)]();let _0x42a647;try{_0x42a647=new URL(_0x6f7272);}catch{throw menuError(_0xeef973(0x187),_0xeef973(0x1b3),_0xeef973(0x1b1));}if(_0x42a647[_0xeef973(0x15e)]!==_0xeef973(0x16f))throw menuError(_0xeef973(0x168),_0xeef973(0x180),_0xeef973(0x185));if(_0x42a647[_0xeef973(0x1c4)]||_0x42a647[_0xeef973(0x1cb)])throw menuError(_0xeef973(0x1c0),_0xeef973(0x1ac),_0xeef973(0x19d));return _0x6f7272;}export const menuExternalLinkCreate={'service':'menu','command':a152_0x424fdc(0x173),'description':a152_0x424fdc(0x1d6),'risk':'write','structuredErrors':!![],'flags':[{'name':a152_0x424fdc(0x1a9),'type':a152_0x424fdc(0x17a),'required':!![],'description':a152_0x424fdc(0x1a2)},{'name':a152_0x424fdc(0x1d5),'type':'string','required':!![],'enum':[a152_0x424fdc(0x1d8),a152_0x424fdc(0x18c)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a152_0x424fdc(0x1ce),'type':a152_0x424fdc(0x17a),'required':!![],'description':a152_0x424fdc(0x1c2)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a152_0x424fdc(0x1d0),'default':!![],'description':a152_0x424fdc(0x186)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4622b4){validateAddInput(_0x4622b4);},async 'dryRun'(_0x22d7af){const _0x2a0667=a152_0x424fdc;validateAddInput(_0x22d7af);const {plan:_0x51bd0d}=await buildSafeAddPlan(_0x22d7af,!![]),_0x43d427=_0x51bd0d[_0x2a0667(0x1a3)],_0x2bdbb1=createBody(_0x43d427);return menuDryRunResult(_0x51bd0d,{'method':'POST','url':_0x2a0667(0x14f),'body':_0x2bdbb1,'description':_0x2a0667(0x17c)+JSON[_0x2a0667(0x18f)](_0x43d427[_0x2a0667(0x1a9)])+_0x2a0667(0x1d7)+_0x22d7af['str'](_0x2a0667(0x1d5))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3ffb30){const _0x5b89af=a152_0x424fdc;validateAddInput(_0x3ffb30);const _0x3b143d=await buildSafeAddPlan(_0x3ffb30,![]),{plan:_0x3bef26,snapshot:_0x345d40}=_0x3b143d,_0x155f25=_0x3bef26[_0x5b89af(0x1a3)],_0x4a58dc=buildMenuLookupCommand(_0x3ffb30[_0x5b89af(0x1c8)]);await recheckAddSnapshot(_0x3ffb30,_0x3bef26);let _0x4a5f55;try{_0x4a5f55=await createMenuEntity(_0x3ffb30[_0x5b89af(0x1c8)],_0x3ffb30[_0x5b89af(0x18a)],createBody(_0x155f25));}catch(_0x249fea){const _0xd090e4=mapMenuApiError(_0x249fea,_0x5b89af(0x18e));if(!isMenuResponseLoss(_0x249fea)||_0xd090e4[_0x5b89af(0x160)]===_0x5b89af(0x176))throw externalLinkCreateFailure(_0xd090e4,_0x3bef26,{'stage':_0x5b89af(0x1b5),'failed':{},'verification':{'status':_0x5b89af(0x1af),'lookupCommand':_0x4a58dc}});return recoverAfterResponseLoss(_0x3ffb30,_0x3b143d,_0x4a58dc);}const _0x4e154a=Number(_0x4a5f55?.['id']),_0x5cd3d6=typeof _0x4a5f55?.['path']==='string'?_0x4a5f55[_0x5b89af(0x1d9)]:'';if(!Number[_0x5b89af(0x16d)](_0x4e154a)||_0x4e154a<=0x0||!_0x5cd3d6[_0x5b89af(0x1ae)]()){const _0x2ccd11=menuError('menu_create_response_invalid',_0x5b89af(0x195),_0x5b89af(0x1a5)+_0x4a58dc+_0x5b89af(0x163));throw externalLinkCreateFailure(_0x2ccd11,_0x3bef26,{'stage':_0x5b89af(0x161),'succeeded':Number[_0x5b89af(0x16d)](_0x4e154a)&&_0x4e154a>0x0?[{'id':_0x4e154a,'created':!![]}]:[],'failed':{'createdId':Number[_0x5b89af(0x16d)](_0x4e154a)?_0x4e154a:null,'generatedPathConfirmed':Boolean(_0x5cd3d6[_0x5b89af(0x1ae)]())},'warnings':[_0x5b89af(0x175)],'after':Number[_0x5b89af(0x16d)](_0x4e154a)&&_0x4e154a>0x0?{..._0x155f25,'id':_0x4e154a,'path':_0x5cd3d6}:_0x155f25,'verification':{'status':_0x5b89af(0x1af),'lookupCommand':_0x4a58dc,...Number['isSafeInteger'](_0x4e154a)&&_0x4e154a>0x0?{'targetId':_0x4e154a}:{}}});}const _0x41ff5e=await readAndVerifyCreatedMenu({'appCode':_0x3ffb30[_0x5b89af(0x1c8)],'cookie':_0x3ffb30[_0x5b89af(0x18a)],'plan':_0x3bef26,'afterPlan':_0x155f25,'createdId':_0x4e154a,'expectedPath':_0x5cd3d6,'lookupCommand':_0x4a58dc,'recovered':![]});return creationSuccess(_0x3bef26,_0x41ff5e['snapshot'],_0x41ff5e[_0x5b89af(0x14e)],![]);}};function validateAddInput(_0x5a4e57){const _0xbfe4a7=a152_0x424fdc;if(!_0x5a4e57[_0xbfe4a7(0x1ab)]('label')[_0xbfe4a7(0x1ae)]())throw CliErrors[_0xbfe4a7(0x1ad)]('label');resolveExternalMenuType(_0x5a4e57),validateExternalMenuUrl(_0x5a4e57[_0xbfe4a7(0x1ab)](_0xbfe4a7(0x1ce))),parseParentId(_0x5a4e57,'parent-id'),validateSort(_0x5a4e57);}function resolveExternalMenuType(_0x5be6ee){const _0x2b8ed2=a152_0x424fdc,_0x6813ef=_0x5be6ee[_0x2b8ed2(0x1ab)](_0x2b8ed2(0x1d5))[_0x2b8ed2(0x1ae)]();if(!_0x6813ef)throw CliErrors[_0x2b8ed2(0x1ad)](_0x2b8ed2(0x1d5));const _0x198196=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x6813ef];if(!_0x198196)throw menuError(_0x2b8ed2(0x184),_0x2b8ed2(0x17f),_0x2b8ed2(0x196));return _0x198196;}async function buildAddPlan(_0x133b1c,_0x5716e7){const _0x2dc0a3=a152_0x424fdc,_0x3550d7=await fetchMutationSnapshot(_0x133b1c,'create\x20external\x20menu'),_0x29e185=parseParentId(_0x133b1c,_0x2dc0a3(0x15b))??null;if(_0x29e185!=null)requireFolder(_0x3550d7,_0x29e185);const _0x2aaf58=validateSort(_0x133b1c),_0x45fb94=_0x2aaf58??nextSiblingSort(_0x3550d7,_0x29e185,_0x2dc0a3(0x1aa)),_0x4cf27f=_0x133b1c[_0x2dc0a3(0x1ab)](_0x2dc0a3(0x1a9))['trim'](),_0x2dce5f=resolveExternalMenuType(_0x133b1c),_0x112790=validateExternalMenuUrl(_0x133b1c[_0x2dc0a3(0x1ab)](_0x2dc0a3(0x1ce))),_0xb0c803=Object[_0x2dc0a3(0x1a1)][_0x2dc0a3(0x174)][_0x2dc0a3(0x164)](_0x133b1c['rawFlags'],_0x2dc0a3(0x1a0))?_0x133b1c[_0x2dc0a3(0x198)](_0x2dc0a3(0x1a0)):!![],_0x53600c={'id':null,'parentId':_0x29e185,'label':_0x4cf27f,'path':_0x2dc0a3(0x177),'url':_0x112790,'type':_0x2dce5f,'visible':_0xb0c803,'sort':_0x45fb94},_0x5d46eb=buildMenuLookupCommand(_0x133b1c[_0x2dc0a3(0x1c8)]),_0x3391e1=mutationResult({'operation':_0x2dc0a3(0x16c),'selector':{'parentId':_0x29e185,'type':_0x2dce5f,'label':_0x4cf27f,'url':_0x112790},'before':null,'after':_0x53600c,'dryRun':_0x5716e7,'backend':[{'method':_0x2dc0a3(0x1bd),'path':_0x2dc0a3(0x14f)}],'plannedActions':[{'stage':'create-menu','method':'POST','path':_0x2dc0a3(0x14f),'body':createBody(_0x53600c)}],'snapshotHash':_0x3550d7[_0x2dc0a3(0x15c)],'warnings':[_0x2dc0a3(0x1b2)],'verification':{'lookupCommand':_0x5d46eb}});return{'plan':_0x3391e1,'snapshot':_0x3550d7};}async function buildSafeAddPlan(_0x226237,_0x11f435){try{return await buildAddPlan(_0x226237,_0x11f435);}catch(_0x235d33){throw safeMenuAddError(_0x235d33);}}async function recheckAddSnapshot(_0x15f4b6,_0x49dcab){const _0x774548=a152_0x424fdc;try{await recheckMutationSnapshot(_0x15f4b6,_0x49dcab,_0x774548(0x18e));}catch(_0x568b2e){const _0x18f107=getFailureRecord(_0x568b2e);throw externalLinkCreateFailure(_0x568b2e,_0x49dcab,{'stage':_0x774548(0x170),'failed':{..._0x18f107?.[_0x774548(0x157)]?{'expectedSnapshotHash':_0x18f107[_0x774548(0x157)]}:{},..._0x18f107?.['currentSnapshotHash']?{'currentSnapshotHash':_0x18f107[_0x774548(0x16a)]}:{}}});}}function createBody(_0x77aaad){const _0x4ce2cc=a152_0x424fdc;return{'parentId':toApiParentId(_0x77aaad['parentId']),'label':String(_0x77aaad[_0x4ce2cc(0x1a9)]),'type':String(_0x77aaad[_0x4ce2cc(0x159)]),'url':String(_0x77aaad[_0x4ce2cc(0x1ce)]),'visible':Boolean(_0x77aaad['visible']),'sort':Number(_0x77aaad[_0x4ce2cc(0x167)]),'extend':{}};}function buildMenuLookupCommand(_0x6d59f0){const _0x1649ae=a152_0x424fdc,_0x3ced89='\x27'+_0x6d59f0[_0x1649ae(0x172)](/'/g,_0x1649ae(0x191))+'\x27';return _0x1649ae(0x1be)+_0x3ced89+_0x1649ae(0x194);}async function recoverAfterResponseLoss(_0x47dc31,_0x55c23b,_0x1e3eef){const _0x43c576=a152_0x424fdc,{plan:_0x187193,snapshot:_0x2f8012}=_0x55c23b,_0x5f0200=_0x187193[_0x43c576(0x1a3)];let _0x2505c2;try{_0x2505c2=await fetchMenuSnapshot(_0x47dc31['appCode'],_0x47dc31[_0x43c576(0x18a)]);}catch(_0x1ba9f7){throw recoveryRequiredFailure(_0x187193,_0x1e3eef,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x326155=_0x2505c2['menus']['filter'](_0x134dbe=>_0x134dbe[_0x43c576(0x188)]===_0x5f0200[_0x43c576(0x188)]&&_0x134dbe['type']===_0x5f0200['type']&&_0x134dbe[_0x43c576(0x1a9)]===_0x5f0200[_0x43c576(0x1a9)]&&_0x134dbe[_0x43c576(0x1ce)]===_0x5f0200[_0x43c576(0x1ce)]),_0x2df123=_0x326155['filter'](_0x274da8=>!_0x2f8012[_0x43c576(0x1c1)][_0x43c576(0x18b)](_0x274da8['id'])),_0x7cdcbb=_0x326155['filter'](_0xf0db09=>_0x2f8012[_0x43c576(0x1c1)][_0x43c576(0x18b)](_0xf0db09['id']));if(_0x326155[_0x43c576(0x15d)]!==0x1||_0x2df123[_0x43c576(0x15d)]!==0x1)throw recoveryRequiredFailure(_0x187193,_0x1e3eef,{'matchCount':_0x326155[_0x43c576(0x15d)],'newMatchCount':_0x2df123[_0x43c576(0x15d)],'preexistingMatchCount':_0x7cdcbb[_0x43c576(0x15d)]});const _0x216b93=_0x2df123[0x0];try{verifyCreatedFact(_0x216b93,_0x216b93['id'],_0x5f0200,null);}catch(_0x4a82ff){const _0x420433=_0x4a82ff instanceof Error&&_0x43c576(0x160)in _0x4a82ff?_0x4a82ff:menuError(_0x43c576(0x1c6),_0x43c576(0x171)+_0x216b93['id']+'\x20could\x20not\x20be\x20verified.',_0x43c576(0x1a5)+_0x1e3eef+_0x43c576(0x166));throw externalLinkCreateFailure(_0x420433,_0x187193,{'stage':_0x43c576(0x19c),'succeeded':[{'id':_0x216b93['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x216b93['id'],'finalFactsConfirmed':![]},'after':_0x216b93,'warnings':['Menu\x20'+_0x216b93['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x216b93['id'],'recovered':!![],'lookupCommand':_0x1e3eef}});}return creationSuccess(_0x187193,_0x2505c2,_0x216b93,!![]);}function recoveryRequiredFailure(_0x4cae31,_0x2c1511,_0x2ab4d0){const _0x471e61=a152_0x424fdc,_0x351a01=menuError(_0x471e61(0x179),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Run\x20'+_0x2c1511+_0x471e61(0x155));return externalLinkCreateFailure(_0x351a01,_0x4cae31,{'stage':_0x471e61(0x1bf),'failed':_0x2ab4d0,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x471e61(0x1af),..._0x2ab4d0,'lookupCommand':_0x2c1511}});}function a152_0x3a4b(_0xbc6063,_0x406437){_0xbc6063=_0xbc6063-0x14d;const _0x3c90e0=a152_0x3c90();let _0x3a4b1d=_0x3c90e0[_0xbc6063];return _0x3a4b1d;}async function readAndVerifyCreatedMenu(_0x4b7594){const _0x34762b=a152_0x424fdc;let _0x52a377;try{_0x52a377=await fetchMenuSnapshot(_0x4b7594['appCode'],_0x4b7594[_0x34762b(0x18a)]);}catch(_0x14fbd2){const _0x18b56=menuError('menu_verification_failed',_0x34762b(0x1d1)+_0x4b7594[_0x34762b(0x152)]+_0x34762b(0x1cc),_0x34762b(0x1a5)+_0x4b7594[_0x34762b(0x1c9)]+_0x34762b(0x15a));throw externalLinkCreateFailure(_0x18b56,_0x4b7594[_0x34762b(0x19f)],{'stage':'verification','succeeded':[{'id':_0x4b7594[_0x34762b(0x152)],'created':!![]}],'failed':{'id':_0x4b7594[_0x34762b(0x152)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4b7594['afterPlan'],'id':_0x4b7594[_0x34762b(0x152)],'path':_0x4b7594[_0x34762b(0x181)]},'warnings':[_0x34762b(0x1d1)+_0x4b7594[_0x34762b(0x152)]+_0x34762b(0x1c7)],'verification':{'status':_0x34762b(0x1af),'targetId':_0x4b7594['createdId'],'lookupCommand':_0x4b7594['lookupCommand']}});}const _0x2ccbf8=_0x52a377[_0x34762b(0x1c1)][_0x34762b(0x165)](_0x4b7594[_0x34762b(0x152)]);try{if(!_0x2ccbf8)throw menuError(_0x34762b(0x1c6),_0x34762b(0x1b9)+_0x4b7594[_0x34762b(0x152)]+_0x34762b(0x15f),_0x34762b(0x1a5)+_0x4b7594[_0x34762b(0x1c9)]+_0x34762b(0x15a));verifyCreatedFact(_0x2ccbf8,_0x4b7594[_0x34762b(0x152)],_0x4b7594[_0x34762b(0x178)],_0x4b7594[_0x34762b(0x181)]);}catch(_0x209769){const _0x1ed572=_0x209769 instanceof Error&&'code'in _0x209769?_0x209769:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4b7594[_0x34762b(0x152)]+_0x34762b(0x1d3),_0x34762b(0x1a5)+_0x4b7594[_0x34762b(0x1c9)]+_0x34762b(0x15a));throw externalLinkCreateFailure(_0x1ed572,_0x4b7594['plan'],{'stage':_0x34762b(0x19c),'succeeded':[{'id':_0x4b7594[_0x34762b(0x152)],'created':!![]}],'failed':{'id':_0x4b7594[_0x34762b(0x152)],'finalFactsConfirmed':![]},'after':_0x2ccbf8??{..._0x4b7594['afterPlan'],'id':_0x4b7594[_0x34762b(0x152)],'path':_0x4b7594[_0x34762b(0x181)]},'warnings':[_0x34762b(0x1d1)+_0x4b7594[_0x34762b(0x152)]+_0x34762b(0x17b)],'verification':{'status':_0x34762b(0x1af),'targetId':_0x4b7594[_0x34762b(0x152)],'recovered':_0x4b7594[_0x34762b(0x169)],'lookupCommand':_0x4b7594[_0x34762b(0x1c9)]}});}return{'snapshot':_0x52a377,'fact':_0x2ccbf8};}function verifyCreatedFact(_0x496b56,_0x52c14b,_0x42abbe,_0x286586){const _0x32e97d=a152_0x424fdc;if(!Number['isSafeInteger'](_0x496b56['id'])||_0x496b56['id']<=0x0||_0x496b56['id']!==_0x52c14b)throw menuError('menu_verification_failed',_0x32e97d(0x193),_0x32e97d(0x18d));const _0x5a164d=[[_0x32e97d(0x154),_0x496b56[_0x32e97d(0x188)],_0x42abbe[_0x32e97d(0x188)]],[_0x32e97d(0x159),_0x496b56[_0x32e97d(0x159)],_0x42abbe[_0x32e97d(0x159)]],['label',_0x496b56['label'],_0x42abbe[_0x32e97d(0x1a9)]],['URL',_0x496b56[_0x32e97d(0x1ce)],_0x42abbe[_0x32e97d(0x1ce)]],['visibility',_0x496b56[_0x32e97d(0x1a0)],_0x42abbe[_0x32e97d(0x1a0)]],[_0x32e97d(0x167),_0x496b56[_0x32e97d(0x167)],_0x42abbe[_0x32e97d(0x167)]]];for(const [_0x4d67ba,_0x1ff160,_0x2b7c86]of _0x5a164d){if(_0x1ff160!==_0x2b7c86)throw menuError(_0x32e97d(0x1c6),_0x32e97d(0x1b9)+_0x496b56['id']+_0x32e97d(0x17d)+_0x4d67ba+'.',_0x32e97d(0x19a));}if(!_0x496b56['path'][_0x32e97d(0x1ae)]()||_0x286586!==null&&_0x496b56[_0x32e97d(0x1d9)]!==_0x286586)throw menuError('menu_verification_failed',_0x32e97d(0x1b9)+_0x496b56['id']+_0x32e97d(0x17e),_0x32e97d(0x19a));}function creationSuccess(_0x608a0a,_0x26857f,_0x52f468,_0x2f86be){const _0x6f2389=a152_0x424fdc,_0x1a03b1=mutationResult({..._0x608a0a,'after':_0x52f468,'dryRun':![],'succeeded':[{'id':_0x52f468['id'],'created':!![],'recovered':_0x2f86be}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x26857f[_0x6f2389(0x15c)],'targetId':_0x52f468['id'],'recovered':_0x2f86be,'path':_0x52f468[_0x6f2389(0x1d9)]}});return{'ok':!![],'message':_0x2f86be?_0x6f2389(0x182)+_0x52f468['id']+_0x6f2389(0x1ca):_0x6f2389(0x1b8)+_0x52f468['id']+'.','data':{..._0x1a03b1,'recovered':_0x2f86be}};}function externalLinkCreateFailure(_0x7815c6,_0x213054,_0x19e236){const _0x36a7ad=a152_0x424fdc;return menuFailure(safeMenuAddError(_0x7815c6),redactFailurePlan(_0x213054),{..._0x19e236,'succeeded':_0x19e236[_0x36a7ad(0x1b0)]?.[_0x36a7ad(0x1bc)](redactFailureRecord),'failed':_0x19e236[_0x36a7ad(0x1af)]?redactFailureRecord(_0x19e236[_0x36a7ad(0x1af)]):undefined,'verification':_0x19e236[_0x36a7ad(0x19c)]?redactFailureRecord(_0x19e236[_0x36a7ad(0x19c)]):undefined,'after':_0x19e236['after']===undefined?undefined:redactFailureValue(_0x19e236[_0x36a7ad(0x1a3)])});}function redactFailurePlan(_0x209325){const _0x3e8b17=a152_0x424fdc;return{..._0x209325,'selector':redactFailureRecord(_0x209325[_0x3e8b17(0x1da)]),'before':redactFailureValue(_0x209325['before']),'after':redactFailureValue(_0x209325[_0x3e8b17(0x1a3)]),'plannedActions':_0x209325[_0x3e8b17(0x158)]?.['map'](_0x325056=>({..._0x325056,'body':redactFailureRecord(_0x325056[_0x3e8b17(0x1b6)])})),'succeeded':_0x209325['succeeded'][_0x3e8b17(0x1bc)](redactFailureRecord),'failed':_0x209325['failed']['map'](redactFailureRecord),'verification':_0x209325['verification']?redactFailureRecord(_0x209325[_0x3e8b17(0x19c)]):undefined};}function redactFailureRecord(_0x1177b6){return redactFailureValue(_0x1177b6);}function redactFailureValue(_0x34331d,_0x2526db=''){const _0x18ad5b=a152_0x424fdc,_0x353cc9=_0x2526db[_0x18ad5b(0x156)]()[_0x18ad5b(0x172)](/[^a-z0-9]/g,'');if([_0x18ad5b(0x1a8),_0x18ad5b(0x150),_0x18ad5b(0x162),_0x18ad5b(0x1cf)][_0x18ad5b(0x190)](_0x353cc9))return _0x18ad5b(0x197);if(Array[_0x18ad5b(0x153)](_0x34331d))return _0x34331d[_0x18ad5b(0x1bc)](_0x43d978=>redactFailureValue(_0x43d978));if(_0x34331d&&typeof _0x34331d===_0x18ad5b(0x189))return Object['fromEntries'](Object['entries'](_0x34331d)[_0x18ad5b(0x1bc)](([_0x595339,_0xc67ac1])=>[_0x595339,redactFailureValue(_0xc67ac1,_0x595339)]));return _0x34331d;}function safeMenuAddError(_0x492320){const _0x5d5c48=a152_0x424fdc,_0x18ff64=_0x492320 instanceof CliError?_0x492320[_0x5d5c48(0x160)]:_0x5d5c48(0x16b);switch(_0x18ff64){case'menu_state_drift':return menuError(_0x18ff64,_0x5d5c48(0x14d),_0x5d5c48(0x1d2));case _0x5d5c48(0x176):return menuError(_0x18ff64,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x5d5c48(0x1ba));case _0x5d5c48(0x1a7):return menuError(_0x18ff64,_0x5d5c48(0x183),_0x5d5c48(0x1b7));case'menu_verification_failed':return menuError(_0x18ff64,_0x5d5c48(0x1d4),_0x5d5c48(0x1b7));case'menu_create_recovery_required':return menuError(_0x18ff64,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x5d5c48(0x16b):case'menu_not_found':case'menu_parent_not_folder':case _0x5d5c48(0x1bb):case _0x5d5c48(0x1c5):return menuError(_0x18ff64,_0x5d5c48(0x1a4),_0x5d5c48(0x1db));default:return menuError('menu_mutation_failed',_0x5d5c48(0x1a4),_0x5d5c48(0x1db));}}function getFailureRecord(_0x1517b0){const _0x2f2dde=a152_0x424fdc;if(!(_0x1517b0 instanceof Error)||!(_0x2f2dde(0x16e)in _0x1517b0))return undefined;const _0x14012e=_0x1517b0[_0x2f2dde(0x16e)];if(!_0x14012e||typeof _0x14012e!==_0x2f2dde(0x189))return undefined;const _0x4f5a48=_0x14012e['failed'];if(!Array['isArray'](_0x4f5a48)||!_0x4f5a48[0x0]||typeof _0x4f5a48[0x0]!==_0x2f2dde(0x189))return undefined;return _0x4f5a48[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a153_0x11f63=a153_0x26f8;(function(_0x567f37,_0x2a8846){const _0x551ac3=a153_0x26f8,_0x4f1385=_0x567f37();while(!![]){try{const _0x37fba8=parseInt(_0x551ac3(0x1c6))/0x1*(parseInt(_0x551ac3(0x1b8))/0x2)+parseInt(_0x551ac3(0x1ec))/0x3*(-parseInt(_0x551ac3(0x1de))/0x4)+-parseInt(_0x551ac3(0x1b9))/0x5*(-parseInt(_0x551ac3(0x1d0))/0x6)+parseInt(_0x551ac3(0x1b0))/0x7+-parseInt(_0x551ac3(0x1c3))/0x8*(-parseInt(_0x551ac3(0x1d2))/0x9)+-parseInt(_0x551ac3(0x1d5))/0xa*(parseInt(_0x551ac3(0x1a7))/0xb)+-parseInt(_0x551ac3(0x1a2))/0xc;if(_0x37fba8===_0x2a8846)break;else _0x4f1385['push'](_0x4f1385['shift']());}catch(_0x5b51fe){_0x4f1385['push'](_0x4f1385['shift']());}}}(a153_0xed15,0x41448));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';function a153_0xed15(){const _0x3ab960=['New\x20external\x20HTTPS\x20URL','menu','492118kIeNPI','menu\x20list','update-external-link-url','external-link-update','childrenCount','\x20has\x20an\x20empty\x20platform\x20path.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20could\x20not\x20be\x20verified\x20safely','label','2289427maYXpu','appCode','path','readbackFailed','Update\x20request\x20for\x20menu\x20','\x20direct\x20child\x20menu(s).','str','\x20is\x20type\x20\x22','14VNulEm','579545nIbDXF','/smartapi/menu/update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','visible','\x20URL\x20update\x20did\x20not\x20take\x20effect.','menu_external_link_path_missing','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','type','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','parentId','3545992rVRlOY','hash','menu_permission_denied','8785PiCZtK','trim','Updated\x20external\x20URL\x20for\x20menu\x20','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','menu_state_drift','body','link','iframe','failed','update-recovery','18OscznP','update\x20external\x20menu\x20URL','9ztiCvk',',\x20current\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','70cFqZjy','\x22,\x20not\x20iframe\x20or\x20link.','Menu\x20','plan','requestedUrlObserved','url','snapshot','\x20changed\x20during\x20the\x20URL-only\x20update.','cookie','428jqErCx','menu_update_recovery_required','flagMissing','replace','expect-parent-id','\x20parent\x20changed:\x20expected\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','byId','expect-url','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','sort','string','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','9939rYTifn','rabetbase\x20menu\x20list\x20--appcode\x20','\x27\x5c\x27\x27','after','unknown','POST','menu_external_link_type_required','\x20--format\x20compress','2934468sidNod','code','verification'];a153_0xed15=function(){return _0x3ab960;};return a153_0xed15();}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';function a153_0x26f8(_0x30463f,_0x533984){_0x30463f=_0x30463f-0x19d;const _0xed1532=a153_0xed15();let _0x26f899=_0xed1532[_0x30463f];return _0x26f899;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a153_0x11f63(0x19f),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a153_0x11f63(0x1a6),'command':a153_0x11f63(0x1aa),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a153_0x11f63(0x1ea),'required':!![],'description':a153_0x11f63(0x1a5)},{'name':a153_0x11f63(0x1e6),'type':a153_0x11f63(0x1ea),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42976b){validateInput(_0x42976b);},async 'dryRun'(_0x5936f2){const _0x5965d9=a153_0x11f63;validateInput(_0x5936f2);const _0x3414c8=await buildPlan(_0x5936f2,!![]);return menuDryRunResult(_0x3414c8[_0x5965d9(0x1d8)],{'method':_0x5965d9(0x19f),'url':_0x5965d9(0x1ba),'body':_0x3414c8['body'],'description':_0x5965d9(0x1eb)+_0x3414c8[_0x5965d9(0x1cb)]['id']+'.'});},async 'execute'(_0x52efe9){const _0x394c95=a153_0x11f63;validateInput(_0x52efe9);const _0x3f3a65=await buildPlan(_0x52efe9,![]),{plan:_0x2c5c8f,body:_0x23e1a5,before:_0x1f9a64,noChanges:_0x14e63a}=_0x3f3a65,_0x1567d2=_0x23e1a5['id'];if(_0x14e63a)return updateSuccess(_0x2c5c8f,_0x3f3a65[_0x394c95(0x1db)],_0x1f9a64,!![],![]);await recheckMutationSnapshot(_0x52efe9,_0x2c5c8f,_0x394c95(0x1d1),_0x1567d2);try{await updateMenuEntity(_0x52efe9[_0x394c95(0x1b1)],_0x52efe9[_0x394c95(0x1dd)],{'id':_0x23e1a5['id'],'url':_0x23e1a5['url']});}catch(_0x1e1714){const _0x14db61=mapMenuApiError(_0x1e1714,_0x394c95(0x1d1),_0x1567d2);if(isMenuResponseLoss(_0x1e1714)&&_0x14db61[_0x394c95(0x1a3)]!==_0x394c95(0x1c5))return recoverAfterResponseLoss(_0x52efe9,_0x3f3a65);throw menuFailure(_0x14db61,_0x2c5c8f,{'stage':'update','failed':{'id':_0x1567d2},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x394c95(0x1ce),'targetId':_0x1567d2,'lookupCommand':buildLookupCommand(_0x52efe9['appCode'])}});}let _0x53a98c,_0x595cd6;try{_0x53a98c=await fetchMenuSnapshot(_0x52efe9[_0x394c95(0x1b1)],_0x52efe9['cookie']),_0x595cd6=requireMenu(_0x53a98c,_0x1567d2),verifyUpdatedFact(_0x1f9a64,_0x595cd6,_0x23e1a5[_0x394c95(0x1da)]);}catch(_0xae1c3a){const _0x9e6393=describeMenuErrorCause(_0xae1c3a,'verify\x20external\x20menu\x20URL\x20update',_0x1567d2),_0x4c26b5=asVerificationError(_0xae1c3a,_0x394c95(0x1b4)+_0x1567d2+_0x394c95(0x1bf));throw menuFailure(_0x4c26b5,_0x2c5c8f,{'stage':_0x394c95(0x1a4),'succeeded':[{'id':_0x1567d2,'updateRequested':!![]}],'failed':{'id':_0x1567d2,'requestedStateConfirmed':![],..._0x9e6393},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x1567d2,'lookupCommand':buildLookupCommand(_0x52efe9[_0x394c95(0x1b1)])}});}return updateSuccess(_0x2c5c8f,_0x53a98c,_0x595cd6,![],![]);}};function validateInput(_0x24e0e1){const _0x3f7d16=a153_0x11f63;validateExactId(_0x24e0e1),requiredUrl(_0x24e0e1,_0x3f7d16(0x1da)),requiredExpectedUrl(_0x24e0e1),parseParentId(_0x24e0e1,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x3eb169,_0x370232){const _0x1158ca=a153_0x11f63;if(!hasFlag(_0x3eb169,_0x370232)||!_0x3eb169[_0x1158ca(0x1b6)](_0x370232)['trim']())throw CliErrors['flagMissing'](_0x370232);return validateExternalMenuUrl(_0x3eb169['str'](_0x370232));}function requiredExpectedUrl(_0x57d0fe){const _0x2eefda=a153_0x11f63;if(!hasFlag(_0x57d0fe,_0x2eefda(0x1e6))||!_0x57d0fe['str'](_0x2eefda(0x1e6))['trim']())throw CliErrors[_0x2eefda(0x1e0)](_0x2eefda(0x1e6));return _0x57d0fe['str']('expect-url')[_0x2eefda(0x1c7)]();}async function buildPlan(_0x1fd36d,_0xa0fb61){const _0x5e9ca2=a153_0x11f63,_0x17d388=validateExactId(_0x1fd36d),_0x38ea4f=requiredUrl(_0x1fd36d,_0x5e9ca2(0x1da)),_0x229c5a=requiredExpectedUrl(_0x1fd36d),_0x144dce=parseParentId(_0x1fd36d,_0x5e9ca2(0x1e2),{'required':!![]}),_0x5b1b39=await fetchMutationSnapshot(_0x1fd36d,'update\x20external\x20menu\x20URL',_0x17d388),_0x1a0c43=requireMenu(_0x5b1b39,_0x17d388);assertExternalLinkLeaf(_0x1a0c43);if(_0x1a0c43[_0x5e9ca2(0x1c2)]!==_0x144dce)throw menuError('menu_state_drift',_0x5e9ca2(0x1d7)+_0x17d388+_0x5e9ca2(0x1e3)+formatParent(_0x144dce)+_0x5e9ca2(0x1d3)+formatParent(_0x1a0c43[_0x5e9ca2(0x1c2)])+'.',_0x5e9ca2(0x1e7));const _0x4bc7de=_0x1a0c43['url']===_0x38ea4f;if(!_0x4bc7de&&_0x1a0c43[_0x5e9ca2(0x1da)]!==_0x229c5a)throw menuError(_0x5e9ca2(0x1ca),_0x5e9ca2(0x1d7)+_0x17d388+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0xe972c3={'id':_0x17d388,'appCode':_0x1fd36d[_0x5e9ca2(0x1b1)],'url':_0x38ea4f},_0x42ec24={..._0x1a0c43,'url':_0x38ea4f};return{'body':_0xe972c3,'before':_0x1a0c43,'noChanges':_0x4bc7de,'snapshot':_0x5b1b39,'plan':mutationResult({'operation':_0x5e9ca2(0x1aa),'selector':{'id':_0x17d388},'before':_0x1a0c43,'after':_0x42ec24,'dryRun':_0xa0fb61,'backend':[...BACKEND],'plannedActions':_0x4bc7de?[]:[{'stage':_0x5e9ca2(0x1a9),'method':_0x5e9ca2(0x19f),'path':_0x5e9ca2(0x1ba),'body':_0xe972c3}],'snapshotHash':_0x5b1b39[_0x5e9ca2(0x1c4)],'warnings':_0x4bc7de?[_0x5e9ca2(0x1d4)]:[]})};}function assertExternalLinkLeaf(_0x5f3aaa){const _0x5b3ec4=a153_0x11f63;if(_0x5f3aaa[_0x5b3ec4(0x1c0)]!==_0x5b3ec4(0x1cd)&&_0x5f3aaa[_0x5b3ec4(0x1c0)]!==_0x5b3ec4(0x1cc))throw menuError(_0x5b3ec4(0x1a0),_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+_0x5b3ec4(0x1b7)+(_0x5f3aaa['type']||_0x5b3ec4(0x19e))+_0x5b3ec4(0x1d6),_0x5b3ec4(0x1bb));if(_0x5f3aaa['childrenCount']!==0x0)throw menuError('menu_external_link_not_leaf',_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+'\x20has\x20'+_0x5f3aaa[_0x5b3ec4(0x1ab)]+_0x5b3ec4(0x1b5),_0x5b3ec4(0x1c1));if(!_0x5f3aaa[_0x5b3ec4(0x1b2)][_0x5b3ec4(0x1c7)]())throw menuError(_0x5b3ec4(0x1be),_0x5b3ec4(0x1d7)+_0x5f3aaa['id']+_0x5b3ec4(0x1ac),_0x5b3ec4(0x1e4));}function verifyUpdatedFact(_0x1e4cee,_0x1f8c03,_0x190baa){const _0x49eb3d=a153_0x11f63;assertExternalLinkLeaf(_0x1f8c03);const _0x23872d=[['id',_0x1f8c03['id'],_0x1e4cee['id']],[_0x49eb3d(0x1af),_0x1f8c03[_0x49eb3d(0x1af)],_0x1e4cee['label']],['type',_0x1f8c03[_0x49eb3d(0x1c0)],_0x1e4cee[_0x49eb3d(0x1c0)]],[_0x49eb3d(0x1b2),_0x1f8c03[_0x49eb3d(0x1b2)],_0x1e4cee[_0x49eb3d(0x1b2)]],[_0x49eb3d(0x1c2),_0x1f8c03[_0x49eb3d(0x1c2)],_0x1e4cee[_0x49eb3d(0x1c2)]],['sort',_0x1f8c03['sort'],_0x1e4cee[_0x49eb3d(0x1e9)]],[_0x49eb3d(0x1bc),_0x1f8c03[_0x49eb3d(0x1bc)],_0x1e4cee[_0x49eb3d(0x1bc)]]];for(const [_0x38dfdf,_0x2c86eb,_0x24f595]of _0x23872d){assertVerified(_0x2c86eb===_0x24f595,_0x49eb3d(0x1d7)+_0x1e4cee['id']+'\x20'+_0x38dfdf+_0x49eb3d(0x1dc));}assertVerified(_0x1f8c03[_0x49eb3d(0x1da)]===_0x190baa,_0x49eb3d(0x1d7)+_0x1e4cee['id']+_0x49eb3d(0x1bd));}function updateSuccess(_0x139aa7,_0x8ff3ad,_0x31d853,_0x58c13d,_0x1b7db9){const _0xda8ed0=a153_0x11f63,_0x24dff6=_0x31d853['id'],_0x4a0738=mutationResult({..._0x139aa7,'after':_0x31d853,'dryRun':![],'succeeded':[{'id':_0x24dff6,'updated':!_0x58c13d,'skipped':_0x58c13d,'recovered':_0x1b7db9}],'verification':{'checkedBy':_0xda8ed0(0x1a8),'snapshotHash':_0x8ff3ad[_0xda8ed0(0x1c4)],'targetId':_0x24dff6,'matchesRequestedState':!![],'recovered':_0x1b7db9}});return{'ok':!![],'message':_0x1b7db9?_0xda8ed0(0x1e8)+_0x24dff6+'.':_0x58c13d?'Menu\x20'+_0x24dff6+'\x20already\x20matches\x20the\x20requested\x20URL.':_0xda8ed0(0x1c8)+_0x24dff6+'.','data':{..._0x4a0738,'recovered':_0x1b7db9}};}async function recoverAfterResponseLoss(_0x572683,_0x2abcc5){const _0x3916a0=a153_0x11f63,{plan:_0x251914,before:_0x5dd4e8,body:_0xa6e716}=_0x2abcc5;let _0x5ec357;try{_0x5ec357=await fetchMenuSnapshot(_0x572683[_0x3916a0(0x1b1)],_0x572683[_0x3916a0(0x1dd)]);}catch{throw recoveryRequired(_0x251914,_0x572683[_0x3916a0(0x1b1)],{'id':_0xa6e716['id'],'readbackFailed':!![]});}const _0x438d0a=_0x5ec357[_0x3916a0(0x1e5)]['get'](_0xa6e716['id']);if(!_0x438d0a||_0x438d0a['url']!==_0xa6e716['url'])throw recoveryRequired(_0x251914,_0x572683[_0x3916a0(0x1b1)],{'id':_0xa6e716['id'],'requestedUrlObserved':![],'after':_0x438d0a??null});try{verifyUpdatedFact(_0x5dd4e8,_0x438d0a,_0xa6e716['url']);}catch(_0x4b0749){const _0x1207a4=asVerificationError(_0x4b0749,'Response\x20was\x20lost\x20and\x20menu\x20'+_0xa6e716['id']+_0x3916a0(0x1ae));throw menuFailure(_0x1207a4,_0x251914,{'stage':_0x3916a0(0x1cf),'succeeded':[{'id':_0xa6e716['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xa6e716['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x438d0a,'warnings':[_0x3916a0(0x1ad)],'verification':{'status':_0x3916a0(0x1ce),'targetId':_0xa6e716['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x572683['appCode'])}});}return updateSuccess(_0x251914,_0x5ec357,_0x438d0a,![],!![]);}function recoveryRequired(_0x53f463,_0x141d00,_0x1db402){const _0x16a761=a153_0x11f63,_0x4dc996=menuError(_0x16a761(0x1df),_0x16a761(0x1c9),'Run\x20'+buildLookupCommand(_0x141d00)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x4dc996,_0x53f463,{'stage':_0x16a761(0x1cf),'failed':{'id':_0x1db402['id'],..._0x1db402['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1db402[_0x16a761(0x1d9)]},..._0x1db402['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x1db402[_0x16a761(0x19d)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x16a761(0x1ce),'targetId':_0x1db402['id'],..._0x1db402[_0x16a761(0x1d9)]===undefined?{}:{'requestedUrlObserved':_0x1db402[_0x16a761(0x1d9)]},..._0x1db402[_0x16a761(0x1b3)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x141d00)}});}function buildLookupCommand(_0x3e8d6c){const _0x37bb82=a153_0x11f63,_0x3a8890='\x27'+_0x3e8d6c[_0x37bb82(0x1e1)](/'/g,_0x37bb82(0x1ee))+'\x27';return _0x37bb82(0x1ed)+_0x3a8890+_0x37bb82(0x1a1);}
|
|
1
|
+
const a153_0x14da30=a153_0x31d6;(function(_0x500da3,_0x18022a){const _0x1387c1=a153_0x31d6,_0x3e12cf=_0x500da3();while(!![]){try{const _0x480dd6=parseInt(_0x1387c1(0xf2))/0x1*(parseInt(_0x1387c1(0xe1))/0x2)+-parseInt(_0x1387c1(0xee))/0x3+-parseInt(_0x1387c1(0xc4))/0x4+parseInt(_0x1387c1(0xf8))/0x5*(parseInt(_0x1387c1(0xcf))/0x6)+-parseInt(_0x1387c1(0xc2))/0x7*(-parseInt(_0x1387c1(0xf3))/0x8)+-parseInt(_0x1387c1(0xed))/0x9*(parseInt(_0x1387c1(0x103))/0xa)+parseInt(_0x1387c1(0xc6))/0xb*(parseInt(_0x1387c1(0xca))/0xc);if(_0x480dd6===_0x18022a)break;else _0x3e12cf['push'](_0x3e12cf['shift']());}catch(_0x6db3d){_0x3e12cf['push'](_0x3e12cf['shift']());}}}(a153_0x501c,0xb79c0));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';function a153_0x501c(){const _0x1f5d59=['parentId','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','menu','iframe','New\x20external\x20HTTPS\x20URL','appCode','expect-url','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','expect-parent-id','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','2540587CUKAZp','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','5390736OqbwcY','\x27\x5c\x27\x27','2024ZTivsp','cookie','\x20changed\x20during\x20the\x20URL-only\x20update.','menu_permission_denied','123960ZqssTm','Updated\x20external\x20URL\x20for\x20menu\x20','menu_external_link_path_missing','str','get','1194xMJawV','\x20has\x20','visible','hash','snapshot','path','plan','label','verify\x20external\x20menu\x20URL\x20update','requestedUrlObserved','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','menu\x20list','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','string','menu_external_link_not_leaf','\x20URL\x20update\x20did\x20not\x20take\x20effect.','unknown','POST','1114684vFpAUe','verification','body','menu_update_recovery_required','update-recovery','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_type_required','update-external-link-url','\x20--format\x20compress','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','failed','trim','5510637ShsCHx','912462esejFL','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','readbackFailed','2XzEoof','8lgyEVT','/smartapi/menu/update','url','\x20is\x20type\x20\x22','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','6285dZtPBB','sort','\x20could\x20not\x20be\x20verified\x20safely','type','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','byId','link','menu_state_drift','flagMissing','Menu\x20','Update\x20request\x20for\x20menu\x20','20CtJAxJ','code','Run\x20','\x20already\x20matches\x20the\x20requested\x20URL.','external-link-update'];a153_0x501c=function(){return _0x1f5d59;};return a153_0x501c();}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':a153_0x14da30(0xe0),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a153_0x14da30(0xba),'command':a153_0x14da30(0xb7),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a153_0x14da30(0xf5),'type':a153_0x14da30(0xdc),'required':!![],'description':a153_0x14da30(0xbc)},{'name':a153_0x14da30(0xbe),'type':a153_0x14da30(0xdc),'required':!![],'description':a153_0x14da30(0xdb)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x368c8f){validateInput(_0x368c8f);},async 'dryRun'(_0x3a0491){const _0x25bd50=a153_0x14da30;validateInput(_0x3a0491);const _0xd670a0=await buildPlan(_0x3a0491,!![]);return menuDryRunResult(_0xd670a0[_0x25bd50(0xd5)],{'method':_0x25bd50(0xe0),'url':_0x25bd50(0xf4),'body':_0xd670a0[_0x25bd50(0xe3)],'description':_0x25bd50(0xc3)+_0xd670a0[_0x25bd50(0xe3)]['id']+'.'});},async 'execute'(_0x13e602){const _0x3b65fa=a153_0x14da30;validateInput(_0x13e602);const _0x197bd8=await buildPlan(_0x13e602,![]),{plan:_0x268a6c,body:_0x43fb48,before:_0x377acd,noChanges:_0xf997a8}=_0x197bd8,_0x268c1e=_0x43fb48['id'];if(_0xf997a8)return updateSuccess(_0x268a6c,_0x197bd8[_0x3b65fa(0xd3)],_0x377acd,!![],![]);await recheckMutationSnapshot(_0x13e602,_0x268a6c,'update\x20external\x20menu\x20URL',_0x268c1e);try{await updateMenuEntity(_0x13e602[_0x3b65fa(0xbd)],_0x13e602[_0x3b65fa(0xc7)],{'id':_0x43fb48['id'],'url':_0x43fb48['url']});}catch(_0x311c6){const _0x3336f5=mapMenuApiError(_0x311c6,'update\x20external\x20menu\x20URL',_0x268c1e);if(isMenuResponseLoss(_0x311c6)&&_0x3336f5[_0x3b65fa(0xb4)]!==_0x3b65fa(0xc9))return recoverAfterResponseLoss(_0x13e602,_0x197bd8);throw menuFailure(_0x3336f5,_0x268a6c,{'stage':'update','failed':{'id':_0x268c1e},'warnings':[_0x3b65fa(0xea)],'verification':{'status':'failed','targetId':_0x268c1e,'lookupCommand':buildLookupCommand(_0x13e602['appCode'])}});}let _0x2fdb85,_0x362c51;try{_0x2fdb85=await fetchMenuSnapshot(_0x13e602[_0x3b65fa(0xbd)],_0x13e602[_0x3b65fa(0xc7)]),_0x362c51=requireMenu(_0x2fdb85,_0x268c1e),verifyUpdatedFact(_0x377acd,_0x362c51,_0x43fb48['url']);}catch(_0x251142){const _0x17a6fe=describeMenuErrorCause(_0x251142,_0x3b65fa(0xd7),_0x268c1e),_0x48677a=asVerificationError(_0x251142,_0x3b65fa(0x102)+_0x268c1e+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x48677a,_0x268a6c,{'stage':_0x3b65fa(0xe2),'succeeded':[{'id':_0x268c1e,'updateRequested':!![]}],'failed':{'id':_0x268c1e,'requestedStateConfirmed':![],..._0x17a6fe},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x3b65fa(0xeb),'targetId':_0x268c1e,'lookupCommand':buildLookupCommand(_0x13e602[_0x3b65fa(0xbd)])}});}return updateSuccess(_0x268a6c,_0x2fdb85,_0x362c51,![],![]);}};function validateInput(_0xa0e087){const _0x10ea31=a153_0x14da30;validateExactId(_0xa0e087),requiredUrl(_0xa0e087,_0x10ea31(0xf5)),requiredExpectedUrl(_0xa0e087),parseParentId(_0xa0e087,_0x10ea31(0xc0),{'required':!![]});}function requiredUrl(_0x4da506,_0x50c2b3){const _0x4ddc12=a153_0x14da30;if(!hasFlag(_0x4da506,_0x50c2b3)||!_0x4da506[_0x4ddc12(0xcd)](_0x50c2b3)[_0x4ddc12(0xec)]())throw CliErrors[_0x4ddc12(0x100)](_0x50c2b3);return validateExternalMenuUrl(_0x4da506['str'](_0x50c2b3));}function requiredExpectedUrl(_0x5db6da){const _0x401a4f=a153_0x14da30;if(!hasFlag(_0x5db6da,'expect-url')||!_0x5db6da[_0x401a4f(0xcd)]('expect-url')['trim']())throw CliErrors[_0x401a4f(0x100)](_0x401a4f(0xbe));return _0x5db6da[_0x401a4f(0xcd)](_0x401a4f(0xbe))[_0x401a4f(0xec)]();}async function buildPlan(_0x1fbe8a,_0x590b0d){const _0xdfc9b6=a153_0x14da30,_0x478db9=validateExactId(_0x1fbe8a),_0x555854=requiredUrl(_0x1fbe8a,_0xdfc9b6(0xf5)),_0x466c85=requiredExpectedUrl(_0x1fbe8a),_0x1d77f4=parseParentId(_0x1fbe8a,'expect-parent-id',{'required':!![]}),_0xd03153=await fetchMutationSnapshot(_0x1fbe8a,'update\x20external\x20menu\x20URL',_0x478db9),_0x4a46fb=requireMenu(_0xd03153,_0x478db9);assertExternalLinkLeaf(_0x4a46fb);if(_0x4a46fb[_0xdfc9b6(0xb8)]!==_0x1d77f4)throw menuError(_0xdfc9b6(0xff),'Menu\x20'+_0x478db9+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x1d77f4)+',\x20current\x20'+formatParent(_0x4a46fb[_0xdfc9b6(0xb8)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x377c27=_0x4a46fb[_0xdfc9b6(0xf5)]===_0x555854;if(!_0x377c27&&_0x4a46fb[_0xdfc9b6(0xf5)]!==_0x466c85)throw menuError(_0xdfc9b6(0xff),_0xdfc9b6(0x101)+_0x478db9+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0xdfc9b6(0xb9));const _0x2d2c13={'id':_0x478db9,'appCode':_0x1fbe8a[_0xdfc9b6(0xbd)],'url':_0x555854},_0x3b5b79={..._0x4a46fb,'url':_0x555854};return{'body':_0x2d2c13,'before':_0x4a46fb,'noChanges':_0x377c27,'snapshot':_0xd03153,'plan':mutationResult({'operation':_0xdfc9b6(0xb7),'selector':{'id':_0x478db9},'before':_0x4a46fb,'after':_0x3b5b79,'dryRun':_0x590b0d,'backend':[...BACKEND],'plannedActions':_0x377c27?[]:[{'stage':_0xdfc9b6(0xe8),'method':_0xdfc9b6(0xe0),'path':'/smartapi/menu/update','body':_0x2d2c13}],'snapshotHash':_0xd03153[_0xdfc9b6(0xd2)],'warnings':_0x377c27?[_0xdfc9b6(0xc1)]:[]})};}function assertExternalLinkLeaf(_0x4c913e){const _0x71db1c=a153_0x14da30;if(_0x4c913e['type']!==_0x71db1c(0xbb)&&_0x4c913e[_0x71db1c(0xfb)]!==_0x71db1c(0xfe))throw menuError(_0x71db1c(0xe7),_0x71db1c(0x101)+_0x4c913e['id']+_0x71db1c(0xf6)+(_0x4c913e[_0x71db1c(0xfb)]||_0x71db1c(0xdf))+_0x71db1c(0xe6),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x4c913e['childrenCount']!==0x0)throw menuError(_0x71db1c(0xdd),_0x71db1c(0x101)+_0x4c913e['id']+_0x71db1c(0xd0)+_0x4c913e['childrenCount']+_0x71db1c(0xf0),_0x71db1c(0xd9));if(!_0x4c913e[_0x71db1c(0xd4)][_0x71db1c(0xec)]())throw menuError(_0x71db1c(0xcc),_0x71db1c(0x101)+_0x4c913e['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x71db1c(0xfc));}function verifyUpdatedFact(_0x53deba,_0x5eafde,_0x2f766a){const _0x4d2d1b=a153_0x14da30;assertExternalLinkLeaf(_0x5eafde);const _0x2dcef6=[['id',_0x5eafde['id'],_0x53deba['id']],['label',_0x5eafde[_0x4d2d1b(0xd6)],_0x53deba[_0x4d2d1b(0xd6)]],['type',_0x5eafde[_0x4d2d1b(0xfb)],_0x53deba[_0x4d2d1b(0xfb)]],[_0x4d2d1b(0xd4),_0x5eafde[_0x4d2d1b(0xd4)],_0x53deba[_0x4d2d1b(0xd4)]],[_0x4d2d1b(0xb8),_0x5eafde[_0x4d2d1b(0xb8)],_0x53deba['parentId']],[_0x4d2d1b(0xf9),_0x5eafde[_0x4d2d1b(0xf9)],_0x53deba[_0x4d2d1b(0xf9)]],['visible',_0x5eafde[_0x4d2d1b(0xd1)],_0x53deba['visible']]];for(const [_0x107f14,_0x546834,_0x328769]of _0x2dcef6){assertVerified(_0x546834===_0x328769,_0x4d2d1b(0x101)+_0x53deba['id']+'\x20'+_0x107f14+_0x4d2d1b(0xc8));}assertVerified(_0x5eafde['url']===_0x2f766a,'Menu\x20'+_0x53deba['id']+_0x4d2d1b(0xde));}function updateSuccess(_0x51c85f,_0xa99e61,_0x18a8f8,_0xb9f236,_0x22ce6e){const _0x4a464b=a153_0x14da30,_0x5686b7=_0x18a8f8['id'],_0x5095c3=mutationResult({..._0x51c85f,'after':_0x18a8f8,'dryRun':![],'succeeded':[{'id':_0x5686b7,'updated':!_0xb9f236,'skipped':_0xb9f236,'recovered':_0x22ce6e}],'verification':{'checkedBy':_0x4a464b(0xda),'snapshotHash':_0xa99e61[_0x4a464b(0xd2)],'targetId':_0x5686b7,'matchesRequestedState':!![],'recovered':_0x22ce6e}});return{'ok':!![],'message':_0x22ce6e?_0x4a464b(0xf7)+_0x5686b7+'.':_0xb9f236?_0x4a464b(0x101)+_0x5686b7+_0x4a464b(0xb6):_0x4a464b(0xcb)+_0x5686b7+'.','data':{..._0x5095c3,'recovered':_0x22ce6e}};}function a153_0x31d6(_0xb67330,_0x194826){_0xb67330=_0xb67330-0xb4;const _0x501c9b=a153_0x501c();let _0x31d6ef=_0x501c9b[_0xb67330];return _0x31d6ef;}async function recoverAfterResponseLoss(_0x254c1f,_0x3404f5){const _0x34c045=a153_0x14da30,{plan:_0x1639cb,before:_0x3f3b7c,body:_0x187f2b}=_0x3404f5;let _0x4a68c0;try{_0x4a68c0=await fetchMenuSnapshot(_0x254c1f[_0x34c045(0xbd)],_0x254c1f['cookie']);}catch{throw recoveryRequired(_0x1639cb,_0x254c1f[_0x34c045(0xbd)],{'id':_0x187f2b['id'],'readbackFailed':!![]});}const _0x48119b=_0x4a68c0[_0x34c045(0xfd)][_0x34c045(0xce)](_0x187f2b['id']);if(!_0x48119b||_0x48119b[_0x34c045(0xf5)]!==_0x187f2b[_0x34c045(0xf5)])throw recoveryRequired(_0x1639cb,_0x254c1f[_0x34c045(0xbd)],{'id':_0x187f2b['id'],'requestedUrlObserved':![],'after':_0x48119b??null});try{verifyUpdatedFact(_0x3f3b7c,_0x48119b,_0x187f2b[_0x34c045(0xf5)]);}catch(_0x32114f){const _0x13a3ca=asVerificationError(_0x32114f,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x187f2b['id']+_0x34c045(0xfa));throw menuFailure(_0x13a3ca,_0x1639cb,{'stage':_0x34c045(0xe5),'succeeded':[{'id':_0x187f2b['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x187f2b['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x48119b,'warnings':[_0x34c045(0xef)],'verification':{'status':_0x34c045(0xeb),'targetId':_0x187f2b['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x254c1f['appCode'])}});}return updateSuccess(_0x1639cb,_0x4a68c0,_0x48119b,![],!![]);}function recoveryRequired(_0xc584be,_0x1696d5,_0x3c4ad0){const _0x34d3d2=a153_0x14da30,_0x5f4bc9=menuError(_0x34d3d2(0xe4),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x34d3d2(0xb5)+buildLookupCommand(_0x1696d5)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x5f4bc9,_0xc584be,{'stage':'update-recovery','failed':{'id':_0x3c4ad0['id'],..._0x3c4ad0[_0x34d3d2(0xd8)]===undefined?{}:{'requestedUrlObserved':_0x3c4ad0[_0x34d3d2(0xd8)]},..._0x3c4ad0[_0x34d3d2(0xf1)]?{'readbackFailed':!![]}:{}},'after':_0x3c4ad0['after'],'warnings':[_0x34d3d2(0xbf)],'verification':{'status':'failed','targetId':_0x3c4ad0['id'],..._0x3c4ad0['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x3c4ad0['requestedUrlObserved']},..._0x3c4ad0[_0x34d3d2(0xf1)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x1696d5)}});}function buildLookupCommand(_0x564971){const _0x49411f=a153_0x14da30,_0x24d329='\x27'+_0x564971['replace'](/'/g,_0x49411f(0xc5))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x24d329+_0x49411f(0xe9);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a154_0x133004=a154_0x5cab;(function(_0x179040,_0x4b613a){const _0x50b2dc=a154_0x5cab,_0x26a6eb=_0x179040();while(!![]){try{const _0x48f3c3=parseInt(_0x50b2dc(0x203))/0x1*(parseInt(_0x50b2dc(0x1bf))/0x2)+parseInt(_0x50b2dc(0x1db))/0x3+-parseInt(_0x50b2dc(0x201))/0x4+-parseInt(_0x50b2dc(0x1e3))/0x5+parseInt(_0x50b2dc(0x1f5))/0x6*(parseInt(_0x50b2dc(0x202))/0x7)+-parseInt(_0x50b2dc(0x1d8))/0x8+parseInt(_0x50b2dc(0x1d1))/0x9*(parseInt(_0x50b2dc(0x1c7))/0xa);if(_0x48f3c3===_0x4b613a)break;else _0x26a6eb['push'](_0x26a6eb['shift']());}catch(_0x14b7c6){_0x26a6eb['push'](_0x26a6eb['shift']());}}}(a154_0x4b3e,0xb6645));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a154_0x4b3e(){const _0x368887=['byId','\x20may\x20exist\x20online\x20at\x20path\x20','resources','parentId','verification','failed','trim','\x20has\x20unexpected\x20parent\x20','POST','root','group-create','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','create\x20folder','41460xmYZuf','get','depth','Folder\x20','Would\x20create\x20empty\x20folder\x20\x22','hash','create-response-validation','string','stringify',';\x20verify\x20it\x20before\x20retrying.','\x20is\x20not\x20type\x20folder.','menu\x20list','1344748PoIsyb','854ASCjuW','23702oaWPRi','\x20is\x20not\x20empty.','22aXnQfo','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','cookie','\x20is\x20missing\x20from\x20menu\x20list.','type','str','\x20has\x20an\x20unexpected\x20sort.','980QZkHmV','flagMissing','menu','create','appCode','isSafeInteger','sort','write','parent-id','path','132048khfabs','visible','Menu\x20create\x20response\x20for\x20folder\x20','Created\x20menu\x20folder\x20','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Folder\x20label','verify\x20folder\x20creation','11014808jtEXYJ','Created\x20menu\x20','\x22\x20with\x20a\x20platform-generated\x20path.','1813794amftpT','folder','label','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','menu_create_response_invalid','rabetbase\x20menu\x20list\x20--format\x20json','childrenCount','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','3430405NDZnYE','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Created\x20folder\x20','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','/smartapi/menu/create'];a154_0x4b3e=function(){return _0x368887;};return a154_0x4b3e();}import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a154_0x133004(0x1f0),'path':a154_0x133004(0x1e7)}];function a154_0x5cab(_0x72b71,_0x3c7682){_0x72b71=_0x72b71-0x1bf;const _0x4b3ef5=a154_0x4b3e();let _0x5cabe4=_0x4b3ef5[_0x72b71];return _0x5cabe4;}export const menuGroupCreate={'service':a154_0x133004(0x1c9),'command':a154_0x133004(0x1f2),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a154_0x133004(0x1ce),'structuredErrors':!![],'flags':[{'name':a154_0x133004(0x1dd),'type':a154_0x133004(0x1fc),'required':!![],'description':a154_0x133004(0x1d6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4d1c44){validateCreateInput(_0x4d1c44);},async 'dryRun'(_0x3fdbd2){const _0x1a5a8f=a154_0x133004,_0x5f2c67=await buildCreatePlan(_0x3fdbd2,!![]),_0x2a4997=_0x5f2c67['after'];return menuDryRunResult(_0x5f2c67,{'method':_0x1a5a8f(0x1f0),'url':_0x1a5a8f(0x1e7),'body':{'parentId':toApiParentId(_0x2a4997[_0x1a5a8f(0x1eb)]),'label':_0x2a4997[_0x1a5a8f(0x1dd)],'type':_0x1a5a8f(0x1dc),'visible':!![],'sort':_0x2a4997[_0x1a5a8f(0x1cd)],'extend':{}},'description':_0x1a5a8f(0x1f9)+String(_0x2a4997[_0x1a5a8f(0x1dd)])+_0x1a5a8f(0x1da)});},async 'execute'(_0x3f719d){const _0x825841=a154_0x133004;validateCreateInput(_0x3f719d);const _0x5deb5c=await buildCreatePlan(_0x3f719d,![]),_0x5816c3=_0x5deb5c['after'];await recheckMutationSnapshot(_0x3f719d,_0x5deb5c,_0x825841(0x1f4));let _0x657f9e;try{_0x657f9e=await createMenuEntity(_0x3f719d[_0x825841(0x1cb)],_0x3f719d[_0x825841(0x1c2)],{'parentId':toApiParentId(_0x5816c3[_0x825841(0x1eb)]),'label':String(_0x5816c3[_0x825841(0x1dd)]),'type':_0x825841(0x1dc),'visible':!![],'sort':Number(_0x5816c3[_0x825841(0x1cd)]),'extend':{}});}catch(_0x51c2bb){const _0x22681a=mapMenuApiError(_0x51c2bb,_0x825841(0x1f4));throw menuFailure(_0x22681a,_0x5deb5c,{'stage':_0x825841(0x1ca),'failed':{}});}const _0x441fd2=Number(_0x657f9e['id']);if(!Number[_0x825841(0x1cc)](_0x441fd2)||_0x441fd2<=0x0){const _0x232257=menuError(_0x825841(0x1df),_0x825841(0x1c1),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x232257,_0x5deb5c,{'stage':_0x825841(0x1fb),'failed':{'createdId':_0x657f9e['id']??null},'warnings':[_0x825841(0x1e4)],'verification':{'status':'failed','lookupCommand':_0x825841(0x1e0)}});}const _0x475e60=typeof _0x657f9e[_0x825841(0x1d0)]===_0x825841(0x1fc)?_0x657f9e[_0x825841(0x1d0)]:'';if(!_0x475e60[_0x825841(0x1ee)]()){const _0x4b0918=menuError(_0x825841(0x1df),_0x825841(0x1d3)+_0x441fd2+_0x825841(0x1e2),_0x825841(0x1c0));throw menuFailure(_0x4b0918,_0x5deb5c,{'stage':_0x825841(0x1fb),'succeeded':[{'id':_0x441fd2,'created':!![]}],'failed':{'id':_0x441fd2,'generatedPathConfirmed':![]},'warnings':[_0x825841(0x1f8)+_0x441fd2+_0x825841(0x1e6)],'after':{..._0x5816c3,'id':_0x441fd2,'path':_0x475e60},'verification':{'status':_0x825841(0x1ed),'lookupCommand':_0x825841(0x1e0),'targetId':_0x441fd2}});}let _0x5b2a84;try{_0x5b2a84=await fetchMenuSnapshot(_0x3f719d[_0x825841(0x1cb)],_0x3f719d[_0x825841(0x1c2)]);}catch(_0x5cf37d){const _0x498fed=describeMenuErrorCause(_0x5cf37d,_0x825841(0x1d7),_0x441fd2),_0x4d9cd3=asVerificationError(_0x5cf37d,'Folder\x20'+_0x441fd2+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x4d9cd3,_0x5deb5c,{'stage':_0x825841(0x1ec),'succeeded':[{'id':_0x441fd2,'created':!![],'path':_0x475e60}],'failed':{'id':_0x441fd2,'finalFactsConfirmed':![],..._0x498fed},'warnings':[_0x825841(0x1f8)+_0x441fd2+_0x825841(0x1e9)+JSON[_0x825841(0x1fd)](_0x475e60)+_0x825841(0x1fe)],'after':{..._0x5816c3,'id':_0x441fd2,'path':_0x475e60},'verification':{'status':_0x825841(0x1ed),'lookupCommand':_0x825841(0x1e0),'targetId':_0x441fd2}});}const _0x4ff740=_0x5b2a84[_0x825841(0x1e8)][_0x825841(0x1f6)](_0x441fd2);let _0x175963;try{assertVerified(Boolean(_0x4ff740),'Created\x20folder\x20'+_0x441fd2+_0x825841(0x1c3)),_0x175963=_0x4ff740,assertVerified(_0x175963[_0x825841(0x1c4)]==='folder',_0x825841(0x1d9)+_0x441fd2+_0x825841(0x1ff)),assertVerified(_0x175963[_0x825841(0x1dd)]===_0x5816c3['label'],'Created\x20folder\x20'+_0x441fd2+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x175963[_0x825841(0x1d0)]===_0x475e60&&Boolean(_0x175963[_0x825841(0x1d0)][_0x825841(0x1ee)]()),_0x825841(0x1e5)+_0x441fd2+_0x825841(0x1f3)),assertVerified(_0x175963[_0x825841(0x1d2)]===!![],_0x825841(0x1e5)+_0x441fd2+'\x20is\x20not\x20visible.'),assertVerified(_0x175963[_0x825841(0x1ea)]['length']===0x0,_0x825841(0x1e5)+_0x441fd2+'\x20has\x20resources.'),assertVerified(_0x175963[_0x825841(0x1e1)]===0x0,_0x825841(0x1e5)+_0x441fd2+_0x825841(0x204)),assertVerified(_0x175963[_0x825841(0x1cd)]===_0x5816c3[_0x825841(0x1cd)],'Created\x20folder\x20'+_0x441fd2+_0x825841(0x1c6)),assertVerified(_0x175963[_0x825841(0x1eb)]===_0x5816c3[_0x825841(0x1eb)],_0x825841(0x1e5)+_0x441fd2+_0x825841(0x1ef)+(_0x175963[_0x825841(0x1eb)]??_0x825841(0x1f1))+'.'),assertVerified(_0x175963['pageId']==null,_0x825841(0x1e5)+_0x441fd2+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x3bf911=_0x175963[_0x825841(0x1eb)]==null?undefined:requireFolder(_0x5b2a84,_0x175963[_0x825841(0x1eb)]);assertVerified(_0x175963[_0x825841(0x1f7)]===(_0x3bf911?_0x3bf911[_0x825841(0x1f7)]+0x1:0x0),_0x825841(0x1e5)+_0x441fd2+_0x825841(0x1d5));}catch(_0x4a9704){const _0x15351f=describeMenuErrorCause(_0x4a9704,'verify\x20folder\x20creation',_0x441fd2),_0x3e51da=asVerificationError(_0x4a9704,_0x825841(0x1f8)+_0x441fd2+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x3e51da,_0x5deb5c,{'stage':_0x825841(0x1ec),'succeeded':[{'id':_0x441fd2,'created':!![],'path':_0x475e60}],'failed':{'id':_0x441fd2,'finalFactsConfirmed':![],..._0x15351f},'warnings':['Folder\x20'+_0x441fd2+_0x825841(0x1de)],'after':_0x4ff740??{..._0x5816c3,'id':_0x441fd2,'path':_0x475e60},'verification':{'status':'failed','lookupCommand':_0x825841(0x1e0),'targetId':_0x441fd2}});}const _0x962684=mutationResult({..._0x5deb5c,'after':_0x175963,'dryRun':![],'succeeded':[{'id':_0x441fd2,'type':'folder','path':_0x475e60}],'verification':{'checkedBy':_0x825841(0x200),'snapshotHash':_0x5b2a84[_0x825841(0x1fa)],'folder':!![],'path':_0x475e60,'emptyResources':!![]}});return{'ok':!![],'data':_0x962684,'message':_0x825841(0x1d4)+_0x441fd2+'.'};}};function validateCreateInput(_0x225ac5){const _0x19340a=a154_0x133004,_0x5ed54a=_0x225ac5[_0x19340a(0x1c5)](_0x19340a(0x1dd))[_0x19340a(0x1ee)]();if(!_0x5ed54a)throw CliErrors[_0x19340a(0x1c8)](_0x19340a(0x1dd));parseParentId(_0x225ac5,_0x19340a(0x1cf)),validateSort(_0x225ac5);}async function buildCreatePlan(_0x5e600d,_0x5b8e3b){const _0xf6b2af=a154_0x133004,_0x204a3e=await fetchMutationSnapshot(_0x5e600d,'create\x20folder'),_0x1e8059=parseParentId(_0x5e600d,'parent-id')??null;if(_0x1e8059!=null)requireFolder(_0x204a3e,_0x1e8059);const _0x1fd2ca=validateSort(_0x5e600d),_0x44cd2a=_0x1fd2ca??nextSiblingSort(_0x204a3e,_0x1e8059,_0xf6b2af(0x1dc)),_0x422b03=_0x5e600d[_0xf6b2af(0x1c5)](_0xf6b2af(0x1dd))[_0xf6b2af(0x1ee)]();return mutationResult({'operation':'group-create','selector':{'label':_0x422b03,'parentId':_0x1e8059},'before':null,'after':{'id':null,'parentId':_0x1e8059,'label':_0x422b03,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x44cd2a,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x5b8e3b,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0xf6b2af(0x1f0),'path':_0xf6b2af(0x1e7),'body':{'parentId':toApiParentId(_0x1e8059),'label':_0x422b03,'type':'folder','visible':!![],'sort':_0x44cd2a,'extend':{}}}],'snapshotHash':_0x204a3e['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
const a154_0x3d48b9=a154_0xc17a;function a154_0xc17a(_0xa3899,_0x5122c5){_0xa3899=_0xa3899-0x11c;const _0x49169e=a154_0x4916();let _0xc17ae3=_0x49169e[_0xa3899];return _0xc17ae3;}(function(_0x57d2fb,_0x48cd58){const _0x4aa6a0=a154_0xc17a,_0x2364dd=_0x57d2fb();while(!![]){try{const _0x3ad881=-parseInt(_0x4aa6a0(0x14c))/0x1+-parseInt(_0x4aa6a0(0x11c))/0x2+parseInt(_0x4aa6a0(0x11d))/0x3+-parseInt(_0x4aa6a0(0x141))/0x4*(-parseInt(_0x4aa6a0(0x13a))/0x5)+parseInt(_0x4aa6a0(0x13d))/0x6*(-parseInt(_0x4aa6a0(0x137))/0x7)+parseInt(_0x4aa6a0(0x123))/0x8+parseInt(_0x4aa6a0(0x14f))/0x9;if(_0x3ad881===_0x48cd58)break;else _0x2364dd['push'](_0x2364dd['shift']());}catch(_0x5e8ae2){_0x2364dd['push'](_0x2364dd['shift']());}}}(a154_0x4916,0xc5a25));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 a154_0x4916(){const _0x4370cd=['The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','sort','group-create','20OdnLWo','pageId','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','trim','folder','Created\x20menu\x20','label','create\x20folder','flagMissing','767499ybXjoB','byId','hash','6146802WVJzRM','Created\x20menu\x20folder\x20','verify\x20folder\x20creation','\x20has\x20resources.','\x20unexpectedly\x20owns\x20a\x20page.','create-response-validation','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','cookie','parent-id','Folder\x20label','rabetbase\x20menu\x20list\x20--format\x20json','length','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','childrenCount','create-folder','isSafeInteger','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','parentId','<platform-generated>','menu_create_response_invalid','appCode','depth','2956408haOcWB','4043394YtEyHp','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20may\x20exist\x20online\x20at\x20path\x20','verification','stringify','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','11970792iEoAnb','\x20has\x20unexpected\x20parent\x20','after','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','str','string','\x20is\x20missing\x20from\x20menu\x20list.',';\x20verify\x20it\x20before\x20retrying.','\x20is\x20not\x20type\x20folder.','Folder\x20','failed','Menu\x20create\x20response\x20for\x20folder\x20','write','root','POST','resources','Created\x20folder\x20','Would\x20create\x20empty\x20folder\x20\x22','path','/smartapi/menu/create','21zvupvq','menu\x20list','menu','212315anwWSF','get','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','1368456BaFPSk'];a154_0x4916=function(){return _0x4370cd;};return a154_0x4916();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a154_0x3d48b9(0x131),'path':a154_0x3d48b9(0x136)}];export const menuGroupCreate={'service':a154_0x3d48b9(0x139),'command':a154_0x3d48b9(0x140),'description':a154_0x3d48b9(0x15b),'risk':a154_0x3d48b9(0x12f),'structuredErrors':!![],'flags':[{'name':'label','type':a154_0x3d48b9(0x128),'required':!![],'description':a154_0x3d48b9(0x158)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x484532){validateCreateInput(_0x484532);},async 'dryRun'(_0x36a753){const _0x21f488=a154_0x3d48b9,_0x7ac2a5=await buildCreatePlan(_0x36a753,!![]),_0x59be73=_0x7ac2a5['after'];return menuDryRunResult(_0x7ac2a5,{'method':_0x21f488(0x131),'url':_0x21f488(0x136),'body':{'parentId':toApiParentId(_0x59be73['parentId']),'label':_0x59be73[_0x21f488(0x149)],'type':_0x21f488(0x147),'visible':!![],'sort':_0x59be73[_0x21f488(0x13f)],'extend':{}},'description':_0x21f488(0x134)+String(_0x59be73['label'])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x199939){const _0x484d5f=a154_0x3d48b9;validateCreateInput(_0x199939);const _0x12c92c=await buildCreatePlan(_0x199939,![]),_0x38a251=_0x12c92c[_0x484d5f(0x125)];await recheckMutationSnapshot(_0x199939,_0x12c92c,_0x484d5f(0x14a));let _0x33c526;try{_0x33c526=await createMenuEntity(_0x199939[_0x484d5f(0x163)],_0x199939[_0x484d5f(0x156)],{'parentId':toApiParentId(_0x38a251[_0x484d5f(0x160)]),'label':String(_0x38a251['label']),'type':_0x484d5f(0x147),'visible':!![],'sort':Number(_0x38a251[_0x484d5f(0x13f)]),'extend':{}});}catch(_0x56be5d){const _0x55d6e3=mapMenuApiError(_0x56be5d,_0x484d5f(0x14a));throw menuFailure(_0x55d6e3,_0x12c92c,{'stage':'create','failed':{}});}const _0x25ce74=Number(_0x33c526['id']);if(!Number[_0x484d5f(0x15e)](_0x25ce74)||_0x25ce74<=0x0){const _0x529655=menuError(_0x484d5f(0x162),_0x484d5f(0x13c),_0x484d5f(0x15f));throw menuFailure(_0x529655,_0x12c92c,{'stage':_0x484d5f(0x154),'failed':{'createdId':_0x33c526['id']??null},'warnings':[_0x484d5f(0x13e)],'verification':{'status':_0x484d5f(0x12d),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x5a7d49=typeof _0x33c526['path']===_0x484d5f(0x128)?_0x33c526[_0x484d5f(0x135)]:'';if(!_0x5a7d49[_0x484d5f(0x146)]()){const _0x424074=menuError(_0x484d5f(0x162),_0x484d5f(0x12e)+_0x25ce74+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x484d5f(0x143));throw menuFailure(_0x424074,_0x12c92c,{'stage':'create-response-validation','succeeded':[{'id':_0x25ce74,'created':!![]}],'failed':{'id':_0x25ce74,'generatedPathConfirmed':![]},'warnings':[_0x484d5f(0x12c)+_0x25ce74+_0x484d5f(0x145)],'after':{..._0x38a251,'id':_0x25ce74,'path':_0x5a7d49},'verification':{'status':_0x484d5f(0x12d),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x25ce74}});}let _0x1cc03e;try{_0x1cc03e=await fetchMenuSnapshot(_0x199939[_0x484d5f(0x163)],_0x199939[_0x484d5f(0x156)]);}catch(_0x558183){const _0x436e5f=describeMenuErrorCause(_0x558183,_0x484d5f(0x151),_0x25ce74),_0x571305=asVerificationError(_0x558183,_0x484d5f(0x12c)+_0x25ce74+_0x484d5f(0x122));throw menuFailure(_0x571305,_0x12c92c,{'stage':_0x484d5f(0x120),'succeeded':[{'id':_0x25ce74,'created':!![],'path':_0x5a7d49}],'failed':{'id':_0x25ce74,'finalFactsConfirmed':![],..._0x436e5f},'warnings':['Folder\x20'+_0x25ce74+_0x484d5f(0x11f)+JSON[_0x484d5f(0x121)](_0x5a7d49)+_0x484d5f(0x12a)],'after':{..._0x38a251,'id':_0x25ce74,'path':_0x5a7d49},'verification':{'status':'failed','lookupCommand':_0x484d5f(0x159),'targetId':_0x25ce74}});}const _0x5b0cee=_0x1cc03e[_0x484d5f(0x14d)][_0x484d5f(0x13b)](_0x25ce74);let _0xdd8a9e;try{assertVerified(Boolean(_0x5b0cee),_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x129)),_0xdd8a9e=_0x5b0cee,assertVerified(_0xdd8a9e['type']===_0x484d5f(0x147),_0x484d5f(0x148)+_0x25ce74+_0x484d5f(0x12b)),assertVerified(_0xdd8a9e['label']===_0x38a251[_0x484d5f(0x149)],_0x484d5f(0x133)+_0x25ce74+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0xdd8a9e[_0x484d5f(0x135)]===_0x5a7d49&&Boolean(_0xdd8a9e['path']['trim']()),_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x126)),assertVerified(_0xdd8a9e['visible']===!![],_0x484d5f(0x133)+_0x25ce74+'\x20is\x20not\x20visible.'),assertVerified(_0xdd8a9e[_0x484d5f(0x132)][_0x484d5f(0x15a)]===0x0,_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x152)),assertVerified(_0xdd8a9e[_0x484d5f(0x15c)]===0x0,_0x484d5f(0x133)+_0x25ce74+'\x20is\x20not\x20empty.'),assertVerified(_0xdd8a9e[_0x484d5f(0x13f)]===_0x38a251[_0x484d5f(0x13f)],_0x484d5f(0x133)+_0x25ce74+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0xdd8a9e['parentId']===_0x38a251[_0x484d5f(0x160)],_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x124)+(_0xdd8a9e['parentId']??_0x484d5f(0x130))+'.'),assertVerified(_0xdd8a9e[_0x484d5f(0x142)]==null,_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x153));const _0x1c75f8=_0xdd8a9e[_0x484d5f(0x160)]==null?undefined:requireFolder(_0x1cc03e,_0xdd8a9e[_0x484d5f(0x160)]);assertVerified(_0xdd8a9e['depth']===(_0x1c75f8?_0x1c75f8[_0x484d5f(0x164)]+0x1:0x0),_0x484d5f(0x133)+_0x25ce74+_0x484d5f(0x144));}catch(_0x3ad84a){const _0x5aa65c=describeMenuErrorCause(_0x3ad84a,_0x484d5f(0x151),_0x25ce74),_0x26dc89=asVerificationError(_0x3ad84a,_0x484d5f(0x12c)+_0x25ce74+_0x484d5f(0x11e));throw menuFailure(_0x26dc89,_0x12c92c,{'stage':'verification','succeeded':[{'id':_0x25ce74,'created':!![],'path':_0x5a7d49}],'failed':{'id':_0x25ce74,'finalFactsConfirmed':![],..._0x5aa65c},'warnings':[_0x484d5f(0x12c)+_0x25ce74+_0x484d5f(0x155)],'after':_0x5b0cee??{..._0x38a251,'id':_0x25ce74,'path':_0x5a7d49},'verification':{'status':_0x484d5f(0x12d),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x25ce74}});}const _0x4f0943=mutationResult({..._0x12c92c,'after':_0xdd8a9e,'dryRun':![],'succeeded':[{'id':_0x25ce74,'type':'folder','path':_0x5a7d49}],'verification':{'checkedBy':_0x484d5f(0x138),'snapshotHash':_0x1cc03e[_0x484d5f(0x14e)],'folder':!![],'path':_0x5a7d49,'emptyResources':!![]}});return{'ok':!![],'data':_0x4f0943,'message':_0x484d5f(0x150)+_0x25ce74+'.'};}};function validateCreateInput(_0x15b37e){const _0x422e37=a154_0x3d48b9,_0x5b7ee3=_0x15b37e[_0x422e37(0x127)](_0x422e37(0x149))[_0x422e37(0x146)]();if(!_0x5b7ee3)throw CliErrors[_0x422e37(0x14b)](_0x422e37(0x149));parseParentId(_0x15b37e,'parent-id'),validateSort(_0x15b37e);}async function buildCreatePlan(_0x680f32,_0x33bef4){const _0x4936dd=a154_0x3d48b9,_0x34ba47=await fetchMutationSnapshot(_0x680f32,_0x4936dd(0x14a)),_0x3c62cf=parseParentId(_0x680f32,_0x4936dd(0x157))??null;if(_0x3c62cf!=null)requireFolder(_0x34ba47,_0x3c62cf);const _0x3c916f=validateSort(_0x680f32),_0x16cd18=_0x3c916f??nextSiblingSort(_0x34ba47,_0x3c62cf,_0x4936dd(0x147)),_0x27bec0=_0x680f32[_0x4936dd(0x127)](_0x4936dd(0x149))['trim']();return mutationResult({'operation':_0x4936dd(0x140),'selector':{'label':_0x27bec0,'parentId':_0x3c62cf},'before':null,'after':{'id':null,'parentId':_0x3c62cf,'label':_0x27bec0,'path':_0x4936dd(0x161),'type':'folder','visible':!![],'sort':_0x16cd18,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x33bef4,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4936dd(0x15d),'method':_0x4936dd(0x131),'path':_0x4936dd(0x136),'body':{'parentId':toApiParentId(_0x3c62cf),'label':_0x27bec0,'type':_0x4936dd(0x147),'visible':!![],'sort':_0x16cd18,'extend':{}}}],'snapshotHash':_0x34ba47[_0x4936dd(0x14e)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a155_0x3c6d1a=a155_0x375f;(function(_0x27cece,_0x40b9e9){const _0x237e08=a155_0x375f,_0x1641fb=_0x27cece();while(!![]){try{const _0x325b10=parseInt(_0x237e08(0xb0))/0x1*(parseInt(_0x237e08(0xa8))/0x2)+parseInt(_0x237e08(0xa7))/0x3+parseInt(_0x237e08(0x93))/0x4+parseInt(_0x237e08(0x98))/0x5*(-parseInt(_0x237e08(0xb1))/0x6)+-parseInt(_0x237e08(0xbb))/0x7*(parseInt(_0x237e08(0x97))/0x8)+parseInt(_0x237e08(0xb4))/0x9+-parseInt(_0x237e08(0x8e))/0xa*(parseInt(_0x237e08(0x8d))/0xb);if(_0x325b10===_0x40b9e9)break;else _0x1641fb['push'](_0x1641fb['shift']());}catch(_0x404442){_0x1641fb['push'](_0x1641fb['shift']());}}}(a155_0x506b,0xe92ce));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';function a155_0x375f(_0x3510ee,_0x2ccf96){_0x3510ee=_0x3510ee-0x8c;const _0x506bc8=a155_0x506b();let _0x375f2c=_0x506bc8[_0x3510ee];return _0x375f2c;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a155_0x3c6d1a(0xb6),'path':a155_0x3c6d1a(0x96)}];export const menuGroupUpdate={'service':a155_0x3c6d1a(0xab),'command':a155_0x3c6d1a(0xa6),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a155_0x3c6d1a(0xbc),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a155_0x3c6d1a(0xb2),'hint':a155_0x3c6d1a(0xa5)}],'flags':[MENU_ID_FLAG,{'name':'label','type':a155_0x3c6d1a(0xaf),'description':a155_0x3c6d1a(0x9d)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41d17b){validateUpdateInput(_0x41d17b);},async 'dryRun'(_0x2c866d){const _0x55d06f=a155_0x3c6d1a;validateUpdateInput(_0x2c866d);const {plan:_0xb92a47,patch:_0x50d3e2}=await buildUpdatePlan(_0x2c866d,!![]);return menuDryRunResult(_0xb92a47,{'method':_0x55d06f(0xb6),'url':_0x55d06f(0x96),'body':_0x50d3e2,'description':_0x55d06f(0x9f)+_0xb92a47[_0x55d06f(0x9a)]['id']+'.'});},async 'execute'(_0x28da93){const _0x5611f7=a155_0x3c6d1a;validateUpdateInput(_0x28da93);const {plan:_0x758c41,patch:_0x1db0d1,noChanges:_0x247994}=await buildUpdatePlan(_0x28da93,![]),_0x511865=Number(_0x758c41['selector']['id']),_0x52ea34=await recheckMutationSnapshot(_0x28da93,_0x758c41,'update\x20folder',_0x511865);if(!_0x247994)try{await updateMenuEntity(_0x28da93[_0x5611f7(0x92)],_0x28da93[_0x5611f7(0xaa)],_0x1db0d1);}catch(_0x1106b6){const _0x36b5=mapMenuApiError(_0x1106b6,_0x5611f7(0xa0),_0x511865);throw menuFailure(_0x36b5,_0x758c41,{'stage':_0x5611f7(0xa9),'failed':{'id':_0x511865}});}let _0x5cbf12=_0x52ea34,_0x5f448c;try{!_0x247994&&(_0x5cbf12=await fetchMenuSnapshot(_0x28da93[_0x5611f7(0x92)],_0x28da93[_0x5611f7(0xaa)])),_0x5f448c=requireMenu(_0x5cbf12,_0x511865),verifyPatch(_0x5f448c,_0x1db0d1),_0x5f448c[_0x5611f7(0x8f)]!=null&&requireFolder(_0x5cbf12,_0x5f448c['parentId']);}catch(_0x4df4cf){const _0x29b7aa=describeMenuErrorCause(_0x4df4cf,_0x5611f7(0xb9),_0x511865),_0x183f4e=asVerificationError(_0x4df4cf,_0x5611f7(0x99)+_0x511865+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x183f4e,_0x758c41,{'stage':'verification','succeeded':[{'id':_0x511865,'updateRequested':!_0x247994,'skipped':_0x247994}],'failed':{'id':_0x511865,'requestedStateConfirmed':![],..._0x29b7aa},'warnings':[_0x5611f7(0xb5)],'verification':{'status':_0x5611f7(0x9b),'lookupCommand':_0x5611f7(0xa3),'targetId':_0x511865}});}const _0x13569f=mutationResult({..._0x758c41,'after':_0x5f448c,'dryRun':![],'succeeded':[{'id':_0x511865,'updated':!_0x247994,'skipped':_0x247994}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x5cbf12[_0x5611f7(0xb7)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x13569f,'message':_0x247994?_0x5611f7(0x9e)+_0x511865+_0x5611f7(0xae):'Updated\x20folder\x20'+_0x511865+'.'};}};function validateUpdateInput(_0x3e3885){const _0x4e2d36=a155_0x3c6d1a;validateExactId(_0x3e3885);if(hasFlag(_0x3e3885,_0x4e2d36(0xad)))throw CliErrors[_0x4e2d36(0xac)](_0x4e2d36(0xb2),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x3e3885,_0x4e2d36(0x95))&&!hasFlag(_0x3e3885,_0x4e2d36(0x91)))throw CliErrors[_0x4e2d36(0xac)](_0x4e2d36(0xb8));if(hasFlag(_0x3e3885,_0x4e2d36(0x95))&&!_0x3e3885[_0x4e2d36(0xba)](_0x4e2d36(0x95))[_0x4e2d36(0xa4)]())throw CliErrors['validation'](_0x4e2d36(0xa1));validateSort(_0x3e3885);}async function buildUpdatePlan(_0x47eeca,_0xfd50cb){const _0x51eb1b=a155_0x3c6d1a,_0x40c968=validateExactId(_0x47eeca),_0x3c6ba9=await fetchMutationSnapshot(_0x47eeca,_0x51eb1b(0xa0),_0x40c968),_0x3dbcde=requireMenu(_0x3c6ba9,_0x40c968);if(_0x3dbcde[_0x51eb1b(0x8c)]!==_0x51eb1b(0x90))throw menuError('menu_not_folder',_0x51eb1b(0xbd)+_0x40c968+'\x20is\x20type\x20\x22'+(_0x3dbcde[_0x51eb1b(0x8c)]||_0x51eb1b(0x94))+_0x51eb1b(0xa2),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x47eeca,_0x3dbcde);const _0x295c8e={'id':_0x40c968},_0x370b6d={..._0x3dbcde};if(hasFlag(_0x47eeca,_0x51eb1b(0x95))){const _0x92019c=_0x47eeca[_0x51eb1b(0xba)]('label')[_0x51eb1b(0xa4)]();_0x295c8e[_0x51eb1b(0x95)]=_0x92019c,_0x370b6d['label']=_0x92019c;}if(hasFlag(_0x47eeca,'sort')){const _0x14b18a=validateSort(_0x47eeca);_0x295c8e['sort']=_0x14b18a,_0x370b6d[_0x51eb1b(0x91)]=_0x14b18a;}const _0x5d80fb=sameRequestedState(_0x3dbcde,_0x370b6d),_0x33d98c=_0x5d80fb?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x295c8e,'noChanges':_0x5d80fb,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x40c968},'before':_0x3dbcde,'after':_0x370b6d,'dryRun':_0xfd50cb,'backend':[...BACKEND],'snapshotHash':_0x3c6ba9[_0x51eb1b(0xb7)],'warnings':_0x33d98c})};}function a155_0x506b(){const _0x1244b0=['parent-id','\x20already\x20matches\x20the\x20requested\x20state.','string','2SbnwjP','30cbUObU','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','\x20label\x20update\x20did\x20not\x20take\x20effect.','7363071YmYPBS','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','POST','hash','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','verify\x20folder\x20update','str','48748KojbPq','write','Menu\x20','type','572JQTZPY','204940FxbtZd','parentId','folder','sort','appCode','6725344UnSIlc','unknown','label','/smartapi/menu/update','184FLTOBu','960900mtiIEN','Update\x20request\x20for\x20folder\x20','selector','failed','\x20sort\x20update\x20did\x20not\x20take\x20effect.','New\x20folder\x20label','Folder\x20','Would\x20update\x20folder\x20','update\x20folder','--label\x20cannot\x20be\x20empty.','\x22,\x20not\x20folder.','rabetbase\x20menu\x20list\x20--format\x20json','trim','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','group-update','158787JwHKCc','589462xvqqnJ','update','cookie','menu','validation'];a155_0x506b=function(){return _0x1244b0;};return a155_0x506b();}function sameRequestedState(_0x5e7675,_0x18bced){const _0x36af9f=a155_0x3c6d1a;return _0x5e7675['label']===_0x18bced[_0x36af9f(0x95)]&&_0x5e7675['sort']===_0x18bced[_0x36af9f(0x91)];}function verifyPatch(_0x3d267a,_0x144b23){const _0x19ab5c=a155_0x3c6d1a;assertVerified(_0x3d267a[_0x19ab5c(0x8c)]==='folder','Menu\x20'+_0x3d267a['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x144b23['label']!==undefined&&assertVerified(_0x3d267a[_0x19ab5c(0x95)]===_0x144b23[_0x19ab5c(0x95)],_0x19ab5c(0x9e)+_0x3d267a['id']+_0x19ab5c(0xb3)),_0x144b23['sort']!==undefined&&assertVerified(_0x3d267a[_0x19ab5c(0x91)]===_0x144b23['sort'],_0x19ab5c(0x9e)+_0x3d267a['id']+_0x19ab5c(0x9c));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4d7c3d,_0xaa914c){const _0x5929f2=a156_0x14a4,_0x1fa2b2=_0x4d7c3d();while(!![]){try{const _0x4817e3=-parseInt(_0x5929f2(0x80))/0x1*(parseInt(_0x5929f2(0x78))/0x2)+parseInt(_0x5929f2(0x77))/0x3*(parseInt(_0x5929f2(0x81))/0x4)+parseInt(_0x5929f2(0x7e))/0x5*(-parseInt(_0x5929f2(0x7b))/0x6)+-parseInt(_0x5929f2(0x7f))/0x7+-parseInt(_0x5929f2(0x79))/0x8*(parseInt(_0x5929f2(0x7a))/0x9)+-parseInt(_0x5929f2(0x7d))/0xa+parseInt(_0x5929f2(0x7c))/0xb;if(_0x4817e3===_0xaa914c)break;else _0x1fa2b2['push'](_0x1fa2b2['shift']());}catch(_0x189d08){_0x1fa2b2['push'](_0x1fa2b2['shift']());}}}(a156_0x415f,0x667e2));import{menuList}from'../../commands/menu/list.js';function a156_0x14a4(_0x18abdf,_0x5c7bf0){_0x18abdf=_0x18abdf-0x77;const _0x415f81=a156_0x415f();let _0x14a43b=_0x415f81[_0x18abdf];return _0x14a43b;}import{menuSync}from'../../commands/menu/sync.js';function a156_0x415f(){const _0x139f2a=['6781610CUUlHo','5vBlFvE','4848781oXrnoj','47291MFtkXB','76JNGUEc','57030urEZqF','2EFKuDb','60808kexRxv','927fDoNtV','2640846LRTmlR','29697789QqNfuf'];a156_0x415f=function(){return _0x139f2a;};return a156_0x415f();}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';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a157_0x123501=a157_0x19d4;(function(_0x56248a,_0xf4929a){const _0x16f15a=a157_0x19d4,_0x3282d9=_0x56248a();while(!![]){try{const _0xb8e107=-parseInt(_0x16f15a(0x19c))/0x1*(parseInt(_0x16f15a(0x197))/0x2)+parseInt(_0x16f15a(0x190))/0x3*(-parseInt(_0x16f15a(0x186))/0x4)+-parseInt(_0x16f15a(0x18d))/0x5+-parseInt(_0x16f15a(0x18a))/0x6+parseInt(_0x16f15a(0x195))/0x7*(parseInt(_0x16f15a(0x18f))/0x8)+parseInt(_0x16f15a(0x185))/0x9*(parseInt(_0x16f15a(0x19e))/0xa)+parseInt(_0x16f15a(0x191))/0xb;if(_0xb8e107===_0xf4929a)break;else _0x3282d9['push'](_0x3282d9['shift']());}catch(_0x2fddf3){_0x3282d9['push'](_0x3282d9['shift']());}}}(a157_0x5f5b,0x1e071));function a157_0x19d4(_0x2ecef8,_0x5e7e6f){_0x2ecef8=_0x2ecef8-0x185;const _0x5f5b73=a157_0x5f5b();let _0x19d436=_0x5f5b73[_0x2ecef8];return _0x19d436;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a157_0x5f5b(){const _0x45dd4d=['\x20menu(s)','816335zHTkdk','total','95224lbmakY','353919jAClCh','3170651fCDSRW','Found\x20','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','menus','98VWgRlI','hash','65452HWZECH','cookie','boolean','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','No\x20menus\x20found.','2UtZTnP','appCode','60HdRAKT','verbose','95229KhZZvx','4yvyOkL','bool','read','list','292104dHfZsS','map'];a157_0x5f5b=function(){return _0x45dd4d;};return a157_0x5f5b();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':a157_0x123501(0x189),'description':a157_0x123501(0x19a),'risk':a157_0x123501(0x188),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a157_0x123501(0x19f),'type':a157_0x123501(0x199),'description':a157_0x123501(0x193)}],async 'execute'(_0x22babc){const _0x3bd2ee=a157_0x123501,_0x1a0fda=_0x22babc[_0x3bd2ee(0x187)](_0x3bd2ee(0x19f)),_0x5d2400=await fetchMenuSnapshot(_0x22babc[_0x3bd2ee(0x19d)],_0x22babc[_0x3bd2ee(0x198)],{'verbose':_0x1a0fda});return{'ok':!![],'data':{'total':_0x5d2400['total'],'snapshotHash':_0x5d2400[_0x3bd2ee(0x196)],'menus':_0x5d2400[_0x3bd2ee(0x194)][_0x3bd2ee(0x18b)](toMenuListItem)},'message':_0x5d2400[_0x3bd2ee(0x18e)]===0x0?_0x3bd2ee(0x19b):_0x3bd2ee(0x192)+_0x5d2400[_0x3bd2ee(0x18e)]+_0x3bd2ee(0x18c)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a158_0x1ba9(){const _0x3e0cb5=['3178165LvKFaF','12IEvWrD','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','menu_move_source_not_leaf','Would\x20move\x20menu\x20','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','3270008qXJeDv','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','move','2BEaaTS','move-menu','menu\x20list','update','cookie','POST','22266ZvJCOn','expect-parent-id','menu_state_drift','14789763fGmILh','type','21yiZTMz','write','1420714TwBjCJ','\x20is\x20now\x20type\x20folder.','menu','rabetbase\x20menu\x20list\x20--format\x20compress','Moved\x20menu\x20','6wsXXFm','childrenCount','/smartapi/menu/update','failed','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','after','\x20parent\x20changed:\x20expected\x20','parentId','parent-id','hash','11AkpwOt','move\x20menu','sort','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Menu\x20','Move\x20request\x20for\x20menu\x20','\x20is\x20no\x20longer\x20a\x20leaf.','folder','14541090gRquWs','appCode','35678844zTVMip','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.'];a158_0x1ba9=function(){return _0x3e0cb5;};return a158_0x1ba9();}function a158_0x2b45(_0x40c193,_0x21d1ab){_0x40c193=_0x40c193-0x123;const _0x1ba9a7=a158_0x1ba9();let _0x2b4525=_0x1ba9a7[_0x40c193];return _0x2b4525;}const a158_0x56de89=a158_0x2b45;(function(_0x6dd638,_0x3844a7){const _0x10d841=a158_0x2b45,_0x1fd8ae=_0x6dd638();while(!![]){try{const _0x4518f5=parseInt(_0x10d841(0x14c))/0x1*(parseInt(_0x10d841(0x125))/0x2)+-parseInt(_0x10d841(0x152))/0x3*(parseInt(_0x10d841(0x143))/0x4)+-parseInt(_0x10d841(0x142))/0x5*(-parseInt(_0x10d841(0x12a))/0x6)+parseInt(_0x10d841(0x123))/0x7*(-parseInt(_0x10d841(0x148))/0x8)+parseInt(_0x10d841(0x155))/0x9+parseInt(_0x10d841(0x13d))/0xa+-parseInt(_0x10d841(0x134))/0xb*(parseInt(_0x10d841(0x13f))/0xc);if(_0x4518f5===_0x3844a7)break;else _0x1fd8ae['push'](_0x1fd8ae['shift']());}catch(_0x2839e9){_0x1fd8ae['push'](_0x1fd8ae['shift']());}}}(a158_0x1ba9,0xe38a7));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':a158_0x56de89(0x151),'path':a158_0x56de89(0x12c)}];export const menuMove={'service':'menu','command':a158_0x56de89(0x14b),'description':a158_0x56de89(0x14a),'risk':a158_0x56de89(0x124),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x41f49f){validateMoveInput(_0x41f49f);},async 'dryRun'(_0x32b55c){const _0x5ee305=a158_0x56de89,{plan:_0x4762b1,patch:_0x198dfa}=await buildMovePlan(_0x32b55c,!![]);return menuDryRunResult(_0x4762b1,{'method':'POST','url':_0x5ee305(0x12c),'body':{..._0x198dfa,'appCode':_0x32b55c['appCode']},'description':_0x5ee305(0x146)+_0x198dfa['id']+'.'});},async 'execute'(_0x1ef072){const _0x5a9721=a158_0x56de89;validateMoveInput(_0x1ef072);const {plan:_0x2fcdd0,patch:_0xd1500d,noChanges:_0x5a3df1,snapshot:_0x13d6b5}=await buildMovePlan(_0x1ef072,![]),_0x1b54f5=_0xd1500d['id'];if(!_0x5a3df1)try{await updateMenuEntity(_0x1ef072['appCode'],_0x1ef072[_0x5a9721(0x150)],_0xd1500d);}catch(_0x298265){const _0x51d9f1=mapMenuApiError(_0x298265,_0x5a9721(0x14b),_0x1b54f5);throw menuFailure(_0x51d9f1,_0x2fcdd0,{'stage':_0x5a9721(0x14f),'failed':{'id':_0x1b54f5},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x5a9721(0x12d),'targetId':_0x1b54f5,'lookupCommand':_0x5a9721(0x128)}});}let _0x3e556f,_0x21dcfb;try{_0x3e556f=_0x5a3df1?_0x13d6b5:await fetchMenuSnapshot(_0x1ef072[_0x5a9721(0x13e)],_0x1ef072[_0x5a9721(0x150)]),_0x21dcfb=requireMenu(_0x3e556f,_0x1b54f5),verifyMove(_0x21dcfb,_0x2fcdd0[_0x5a9721(0x12f)]),_0x21dcfb[_0x5a9721(0x131)]!==null&&requireFolder(_0x3e556f,_0x21dcfb[_0x5a9721(0x131)]);}catch(_0x356b66){const _0x1e30c4=describeMenuErrorCause(_0x356b66,'verify\x20menu\x20move',_0x1b54f5),_0x5139c3=asVerificationError(_0x356b66,_0x5a9721(0x13a)+_0x1b54f5+_0x5a9721(0x138));throw menuFailure(_0x5139c3,_0x2fcdd0,{'stage':'verification','succeeded':[{'id':_0x1b54f5,'updateRequested':!_0x5a3df1,'skipped':_0x5a3df1}],'failed':{'id':_0x1b54f5,'requestedStateConfirmed':![],..._0x1e30c4},'warnings':[_0x5a9721(0x140)],'verification':{'status':_0x5a9721(0x12d),'targetId':_0x1b54f5,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x184b6=mutationResult({..._0x2fcdd0,'after':_0x21dcfb,'dryRun':![],'succeeded':[{'id':_0x1b54f5,'updated':!_0x5a3df1,'skipped':_0x5a3df1}],'verification':{'checkedBy':_0x5a9721(0x14e),'snapshotHash':_0x3e556f[_0x5a9721(0x133)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x184b6,'message':_0x5a3df1?_0x5a9721(0x139)+_0x1b54f5+_0x5a9721(0x12e):_0x5a9721(0x129)+_0x1b54f5+'.'};}};function validateMoveInput(_0x4aa9ee){const _0x2dfd6c=a158_0x56de89;validateExactId(_0x4aa9ee),parseParentId(_0x4aa9ee,_0x2dfd6c(0x132),{'required':!![]}),parseParentId(_0x4aa9ee,'expect-parent-id',{'required':!![]}),validateSort(_0x4aa9ee);}async function buildMovePlan(_0x306bbe,_0x313fb1){const _0xd67d4a=a158_0x56de89,_0x280a20=validateExactId(_0x306bbe),_0x5de618=parseParentId(_0x306bbe,_0xd67d4a(0x132),{'required':!![]}),_0x408238=parseParentId(_0x306bbe,_0xd67d4a(0x153),{'required':!![]}),_0x181ae7=validateSort(_0x306bbe),_0x128090=await fetchMutationSnapshot(_0x306bbe,_0xd67d4a(0x135),_0x280a20),_0x55f37d=requireMenu(_0x128090,_0x280a20);if(_0x55f37d[_0xd67d4a(0x156)]===_0xd67d4a(0x13c)||_0x55f37d['childrenCount']!==0x0)throw menuError(_0xd67d4a(0x145),_0xd67d4a(0x139)+_0x280a20+_0xd67d4a(0x141),_0xd67d4a(0x149));if(_0x55f37d[_0xd67d4a(0x131)]!==_0x408238)throw menuError(_0xd67d4a(0x154),_0xd67d4a(0x139)+_0x280a20+_0xd67d4a(0x130)+formatParent(_0x408238)+',\x20current\x20'+formatParent(_0x55f37d[_0xd67d4a(0x131)])+'.',_0xd67d4a(0x144));_0x5de618!==null&&requireFolder(_0x128090,_0x5de618);const _0x19371b=_0x181ae7??(_0x55f37d[_0xd67d4a(0x131)]===_0x5de618?_0x55f37d[_0xd67d4a(0x136)]??0x0:nextSiblingSort(_0x128090,_0x5de618,_0xd67d4a(0x127))),_0xb100ab={..._0x55f37d,'parentId':_0x5de618,'sort':_0x19371b},_0x47ef1d={'id':_0x280a20,'parentId':toApiParentId(_0x5de618),'sort':_0x19371b},_0x166a97=_0x55f37d[_0xd67d4a(0x131)]===_0x5de618&&_0x55f37d[_0xd67d4a(0x136)]===_0x19371b;return{'patch':_0x47ef1d,'noChanges':_0x166a97,'snapshot':_0x128090,'plan':mutationResult({'operation':_0xd67d4a(0x14b),'selector':{'id':_0x280a20,'parentId':_0x5de618},'before':_0x55f37d,'after':_0xb100ab,'dryRun':_0x313fb1,'backend':[...BACKEND],'plannedActions':[{'stage':_0xd67d4a(0x14d),'method':'POST','path':_0xd67d4a(0x12c),'body':{..._0x47ef1d,'appCode':_0x306bbe['appCode']}}],'snapshotHash':_0x128090[_0xd67d4a(0x133)],'warnings':_0x166a97?[_0xd67d4a(0x137)]:[]})};}function verifyMove(_0x3f9b8f,_0x70ae){const _0x5ed8c5=a158_0x56de89;assertVerified(_0x3f9b8f[_0x5ed8c5(0x156)]!==_0x5ed8c5(0x13c),'Menu\x20'+_0x3f9b8f['id']+_0x5ed8c5(0x126)),assertVerified(_0x3f9b8f[_0x5ed8c5(0x12b)]===0x0,'Menu\x20'+_0x3f9b8f['id']+_0x5ed8c5(0x13b)),assertVerified(_0x3f9b8f[_0x5ed8c5(0x131)]===_0x70ae[_0x5ed8c5(0x131)],'Menu\x20'+_0x3f9b8f['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x3f9b8f[_0x5ed8c5(0x136)]===_0x70ae[_0x5ed8c5(0x136)],_0x5ed8c5(0x139)+_0x3f9b8f['id']+_0x5ed8c5(0x147));}
|