@lovrabet/rabetbase-cli 2.5.2 → 2.5.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +2 -1
- package/lib/api/generate-sdk-config-file.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/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/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/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/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/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.d.ts +23 -0
- package/lib/config/region-config.js +1 -0
- package/lib/config/schema.d.ts +15 -0
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +6 -0
- 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.d.ts +13 -0
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.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.d.ts +6 -0
- package/lib/core/page/lr-smart-jsx.js +1 -0
- 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/types/index.d.ts +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.d.ts +2 -8
- 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.d.ts +2 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +6 -5
- package/skills/rabetbase/guides/page-development-workflow.md +3 -0
- package/skills/rabetbase/guides/sdk-client-generation.md +5 -5
- package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +11 -3
- package/skills/rabetbase/references/rabetbase-api-pull.md +5 -4
- package/skills/rabetbase/references/rabetbase-app-list.md +3 -0
- package/skills/rabetbase/references/rabetbase-bff-list.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-pull.md +2 -0
- package/skills/rabetbase/references/rabetbase-bff-status.md +2 -0
- package/skills/rabetbase/references/rabetbase-config.md +10 -9
- package/skills/rabetbase/references/rabetbase-doctor.md +2 -2
- package/skills/rabetbase/references/rabetbase-page-push.md +5 -1
- package/skills/rabetbase/references/rabetbase-workspace.md +4 -2
- package/skills/rabetbase.manifest.json +3 -3
- package/templates/generate-api/client.ts.tpl +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a127_0x2b1e74=a127_0x3732;(function(_0x4cd010,_0x49619a){const _0x2bc283=a127_0x3732,_0x325492=_0x4cd010();while(!![]){try{const _0x3322a5=-parseInt(_0x2bc283(0x1b5))/0x1+-parseInt(_0x2bc283(0x1e7))/0x2+-parseInt(_0x2bc283(0x1b8))/0x3+parseInt(_0x2bc283(0x216))/0x4*(parseInt(_0x2bc283(0x1e0))/0x5)+parseInt(_0x2bc283(0x1ee))/0x6+-parseInt(_0x2bc283(0x1db))/0x7+-parseInt(_0x2bc283(0x1ab))/0x8*(-parseInt(_0x2bc283(0x1fe))/0x9);if(_0x3322a5===_0x49619a)break;else _0x325492['push'](_0x325492['shift']());}catch(_0x31814d){_0x325492['push'](_0x325492['shift']());}}}(a127_0x3700,0x6bc58));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':a127_0x2b1e74(0x1c1),'path':a127_0x2b1e74(0x1ff)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a127_0x2b1e74(0x1a2),'description':a127_0x2b1e74(0x1b4)},MENU_DELETE_PLAN_OUT_FLAG={'name':a127_0x2b1e74(0x1cc),'type':a127_0x2b1e74(0x1c9),'description':a127_0x2b1e74(0x1fa)},MENU_DELETE_PLAN_FLAG={'name':a127_0x2b1e74(0x1a9),'type':a127_0x2b1e74(0x1c9),'description':a127_0x2b1e74(0x1a3)};export const menuDelete={'service':a127_0x2b1e74(0x1c0),'command':a127_0x2b1e74(0x1ad),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a127_0x2b1e74(0x1ec),'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'(_0x194962){const _0x17b3f8=a127_0x2b1e74;_0x194962[_0x17b3f8(0x1aa)](_0x17b3f8(0x1b1))?validateDeleteDryRunInput(_0x194962):validateDeleteExecuteInput(_0x194962),requireExplicitYes(_0x194962);},async 'dryRun'(_0x5de743){const _0x19cfaa=a127_0x2b1e74;validateDeleteDryRunInput(_0x5de743);const _0x3dbc68=await buildDeletePlan(_0x5de743),_0x4a7c1b=createMenuDeletePlanFile(_0x5de743['appCode'],_0x3dbc68),_0x6ae4de=await writeMenuDeletePlan(_0x5de743['str'](_0x19cfaa(0x1cc)),_0x4a7c1b),_0x2fec74=mutationResult({..._0x3dbc68,'planFile':{'path':_0x6ae4de,'createdAt':_0x4a7c1b[_0x19cfaa(0x1b2)],'expiresAt':_0x4a7c1b[_0x19cfaa(0x1e4)]}});return menuDryRunResult(_0x2fec74,{'method':_0x19cfaa(0x1c1),'url':_0x19cfaa(0x1ff),'body':{'idList':_0x2fec74[_0x19cfaa(0x1ef)]},'description':_0x19cfaa(0x1bf)+(_0x2fec74[_0x19cfaa(0x1ef)]?.[_0x19cfaa(0x19e)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x2fec74[_0x19cfaa(0x1b9)]['id']+_0x19cfaa(0x1f8)+_0x6ae4de+'.'});},async 'execute'(_0x39f449){const _0x3edbfc=a127_0x2b1e74;requireExplicitYes(_0x39f449),validateDeleteExecuteInput(_0x39f449);const _0x51171b=await readMenuDeletePlan(_0x39f449[_0x3edbfc(0x1d8)]('plan')),_0x2eb1c8=mutationPlanFromDeleteFile(_0x51171b['plan'],_0x51171b['path']),_0x4b7f2d=_0x51171b['plan'][_0x3edbfc(0x1ed)]['id'];try{assertMenuDeletePlanExecutable(_0x51171b[_0x3edbfc(0x1a9)],_0x39f449[_0x3edbfc(0x1de)]);}catch(_0x26fe69){throw menuFailure(asMenuError(_0x26fe69),_0x2eb1c8,{'stage':'plan-validation','failed':{'id':_0x4b7f2d}});}let _0x556739,_0x1f9926;try{_0x556739=await fetchMutationSnapshot(_0x39f449,_0x3edbfc(0x1eb),_0x4b7f2d),_0x1f9926=assertMenuDeletePlanCurrent(_0x51171b[_0x3edbfc(0x1a9)],_0x39f449[_0x3edbfc(0x1de)],_0x556739),assertDeleteTargetsComplete(_0x51171b[_0x3edbfc(0x1a9)],_0x556739),_0x1f9926[_0x3edbfc(0x200)](_0x197229=>assertDeleteSafety(_0x197229,_0x51171b[_0x3edbfc(0x1a9)]['recursive'])),assertNoSharedPages(_0x556739,_0x1f9926),assertCascadeMatchesPlan(_0x2eb1c8,_0x1f9926);}catch(_0x5f4d5c){throw menuFailure(asMenuError(_0x5f4d5c),_0x2eb1c8,{'stage':_0x3edbfc(0x1a8),'failed':{'id':_0x4b7f2d}});}const _0x20ddc8=_0x51171b[_0x3edbfc(0x1a9)][_0x3edbfc(0x1ef)];let _0x32ab26;try{_0x32ab26=await batchDeleteMenuEntities(_0x39f449[_0x3edbfc(0x20a)],_0x20ddc8);}catch(_0x29d378){const _0x92ad59=mapMenuApiError(_0x29d378,_0x3edbfc(0x1d4)),_0x2a3f71=[_0x3edbfc(0x1a7)];let _0x3e13fb;try{_0x3e13fb=await readDeleteOutcome(_0x39f449,_0x20ddc8);}catch(_0x45db1b){const _0x8aa701=describeMenuErrorCause(_0x45db1b,_0x3edbfc(0x202),_0x4b7f2d);_0x2a3f71[_0x3edbfc(0x1be)](_0x3edbfc(0x1fc)+_0x8aa701[_0x3edbfc(0x1fd)]+_0x3edbfc(0x210)+_0x8aa701['causeMessage']);throw menuFailure(_0x92ad59,_0x2eb1c8,{'stage':_0x3edbfc(0x1cb),'failed':{'targetIds':_0x20ddc8,'targetIdsAbsent':'unconfirmed',..._0x8aa701},'warnings':_0x2a3f71,'verification':{'status':_0x3edbfc(0x1c2),'lookupCommand':_0x3edbfc(0x1cf),'targetIds':_0x20ddc8}});}throw menuFailure(_0x92ad59,_0x2eb1c8,{'stage':_0x3edbfc(0x1cb),'succeeded':_0x3e13fb['absentIds'][_0x3edbfc(0x1bb)](_0xd27436=>({'id':_0xd27436,'deleted':!![]})),'failed':{'targetIds':_0x20ddc8,'absentIds':_0x3e13fb['absentIds'],'remainingIds':_0x3e13fb['remainingIds']},'warnings':_0x2a3f71,'verification':verificationFromOutcome(_0x3e13fb)});}if(_0x32ab26!==_0x20ddc8['length']){const _0x28d299=menuError(_0x3edbfc(0x1f9),_0x3edbfc(0x1ae)+_0x32ab26+_0x3edbfc(0x1ac)+_0x20ddc8[_0x3edbfc(0x19e)]+'.',_0x3edbfc(0x211)),_0x45d9a0=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x18ea5a;try{_0x18ea5a=await readDeleteOutcome(_0x39f449,_0x20ddc8);}catch(_0x3622d6){const _0x5a0bd6=describeMenuErrorCause(_0x3622d6,_0x3edbfc(0x1e1),_0x4b7f2d);_0x45d9a0['push'](_0x3edbfc(0x19f)+_0x5a0bd6[_0x3edbfc(0x1fd)]+_0x3edbfc(0x210)+_0x5a0bd6[_0x3edbfc(0x208)]);throw menuFailure(_0x28d299,_0x2eb1c8,{'stage':'batch-delete','failed':{'targetIds':_0x20ddc8,'expectedCount':_0x20ddc8[_0x3edbfc(0x19e)],'reportedDeletedCount':_0x32ab26,'targetIdsAbsent':_0x3edbfc(0x1e6),..._0x5a0bd6},'warnings':_0x45d9a0,'verification':{'status':_0x3edbfc(0x1c2),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x20ddc8}});}throw menuFailure(_0x28d299,_0x2eb1c8,{'stage':_0x3edbfc(0x1cb),'succeeded':_0x18ea5a['absentIds'][_0x3edbfc(0x1bb)](_0xa8d145=>({'id':_0xa8d145,'deleted':!![]})),'failed':{'targetIds':_0x20ddc8,'expectedCount':_0x20ddc8[_0x3edbfc(0x19e)],'reportedDeletedCount':_0x32ab26,'absentIds':_0x18ea5a[_0x3edbfc(0x1a0)],'remainingIds':_0x18ea5a[_0x3edbfc(0x20b)]},'warnings':_0x45d9a0,'verification':verificationFromOutcome(_0x18ea5a)});}let _0x35c5f1;try{_0x35c5f1=await readDeleteOutcome(_0x39f449,_0x20ddc8);}catch(_0x402025){const _0x4d0941=describeMenuErrorCause(_0x402025,_0x3edbfc(0x214),_0x4b7f2d),_0x34637f=asVerificationError(_0x402025,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x4b7f2d+_0x3edbfc(0x1c7));throw menuFailure(_0x34637f,_0x2eb1c8,{'stage':_0x3edbfc(0x1c8),'succeeded':_0x20ddc8[_0x3edbfc(0x1bb)](_0x4af1eb=>({'id':_0x4af1eb,'deleteRequested':!![]})),'failed':{'id':_0x4b7f2d,'targetIds':_0x20ddc8,'targetIdsAbsent':_0x3edbfc(0x1e6),..._0x4d0941},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x20ddc8}});}if(_0x35c5f1[_0x3edbfc(0x20b)][_0x3edbfc(0x19e)]>0x0){const _0x299be1=menuError(_0x3edbfc(0x1e8),_0x3edbfc(0x1d1)+_0x35c5f1[_0x3edbfc(0x20b)]['join'](',\x20')+'.',_0x3edbfc(0x211));throw menuFailure(_0x299be1,_0x2eb1c8,{'stage':_0x3edbfc(0x1c8),'succeeded':_0x20ddc8['map'](_0x41ed09=>({'id':_0x41ed09,'deleteRequested':!![]})),'failed':{'id':_0x4b7f2d,'targetIds':_0x20ddc8,'absentIds':_0x35c5f1[_0x3edbfc(0x1a0)],'remainingIds':_0x35c5f1[_0x3edbfc(0x20b)]},'warnings':[_0x3edbfc(0x1af)],'verification':verificationFromOutcome(_0x35c5f1)});}const _0x2359ef=_0x20ddc8[_0x3edbfc(0x1bb)](_0x3b170f=>({'id':_0x3b170f,'deleted':!![]})),_0x17edff=mutationResult({..._0x2eb1c8,'dryRun':![],'succeeded':_0x2359ef,'verification':{'checkedBy':_0x3edbfc(0x1a5),'plannedSnapshotHash':_0x2eb1c8[_0x3edbfc(0x1bd)],'finalSnapshotHash':_0x35c5f1[_0x3edbfc(0x1b3)][_0x3edbfc(0x1d7)],'reportedDeletedCount':_0x32ab26,'targetAbsent':!_0x35c5f1[_0x3edbfc(0x1b3)][_0x3edbfc(0x1f5)]['has'](_0x4b7f2d),'allTargetsAbsent':!![],'targetIds':_0x20ddc8}});return{'ok':!![],'data':_0x17edff,'message':_0x3edbfc(0x1df)+_0x2359ef[_0x3edbfc(0x19e)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x4b7f2d+'.'};}};async function readDeleteOutcome(_0x1460d3,_0x195041){const _0x32eb5e=a127_0x2b1e74,_0x4bb676=await fetchMenuSnapshot(_0x1460d3[_0x32eb5e(0x1de)],_0x1460d3['cookie']);return{'snapshot':_0x4bb676,'absentIds':_0x195041[_0x32eb5e(0x19c)](_0x4d170f=>!_0x4bb676[_0x32eb5e(0x1f5)][_0x32eb5e(0x1c5)](_0x4d170f)),'remainingIds':_0x195041['filter'](_0x25a37e=>_0x4bb676[_0x32eb5e(0x1f5)][_0x32eb5e(0x1c5)](_0x25a37e))};}function verificationFromOutcome(_0xa9dc0a){const _0x48248a=a127_0x2b1e74;return{'checkedBy':'menu\x20list','absentIds':_0xa9dc0a['absentIds'],'remainingIds':_0xa9dc0a[_0x48248a(0x20b)]};}function validateDeleteDryRunInput(_0x11d760){const _0x3a1aaa=a127_0x2b1e74;validateExactId(_0x11d760);if(!hasFlag(_0x11d760,_0x3a1aaa(0x1cc))||!_0x11d760[_0x3a1aaa(0x1d8)]('plan-out')['trim']())throw CliErrors[_0x3a1aaa(0x1c4)](_0x3a1aaa(0x1cc),_0x3a1aaa(0x1d6));if(hasFlag(_0x11d760,_0x3a1aaa(0x1a9)))throw CliErrors[_0x3a1aaa(0x1ea)]('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x44fbde){const _0x1ab6b8=a127_0x2b1e74;if(!hasFlag(_0x44fbde,'plan')||!_0x44fbde[_0x1ab6b8(0x1d8)](_0x1ab6b8(0x1a9))[_0x1ab6b8(0x1f7)]())throw CliErrors[_0x1ab6b8(0x1c4)](_0x1ab6b8(0x1a9),'--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x465e7c=['id',_0x1ab6b8(0x212),_0x1ab6b8(0x1cc),_0x1ab6b8(0x1d9),_0x1ab6b8(0x1f4),'expected-children-count'][_0x1ab6b8(0x19c)](_0x27c1a3=>hasFlag(_0x44fbde,_0x27c1a3));if(_0x465e7c[_0x1ab6b8(0x19e)]>0x0)throw CliErrors[_0x1ab6b8(0x1ea)](_0x1ab6b8(0x207)+_0x465e7c[_0x1ab6b8(0x1bb)](_0x1fa625=>'--'+_0x1fa625)[_0x1ab6b8(0x20c)](',\x20')+'.');}async function buildDeletePlan(_0x34d0ca){const _0x599308=a127_0x2b1e74,_0x3c5894=validateExactId(_0x34d0ca),_0x2a2369=await fetchMutationSnapshot(_0x34d0ca,_0x599308(0x1ba),_0x3c5894),_0x50cd16=requireMenu(_0x2a2369,_0x3c5894);assertExpectedState(_0x34d0ca,_0x50cd16);const _0xf790c7=_0x34d0ca['bool'](_0x599308(0x212));let _0x17dafa;if(_0xf790c7){if(_0x50cd16['type'][_0x599308(0x1f7)]()[_0x599308(0x201)]()!==_0x599308(0x1d2))throw menuError(_0x599308(0x1f2),'Menu\x20'+_0x50cd16['id']+'\x20is\x20type\x20\x22'+(_0x50cd16[_0x599308(0x20d)]||_0x599308(0x215))+_0x599308(0x1f6));_0x17dafa=collectDeleteTargets(_0x2a2369,_0x50cd16),_0x17dafa['forEach'](_0xc0c35=>assertDeleteSafety(_0xc0c35,!![]));}else assertDeleteSafety(_0x50cd16),_0x17dafa=[_0x50cd16];assertNoSharedPages(_0x2a2369,_0x17dafa);const _0x959b2c=_0x17dafa[_0x599308(0x1bb)](_0x45bd13=>_0x45bd13['id']),_0x30a0be=cascadeForTargets(_0x17dafa),_0x43a59a=_0x30a0be[_0x599308(0x1dc)]['length']>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x599308(0x1ad),'selector':{'id':_0x3c5894,'recursive':_0xf790c7},'before':_0x50cd16,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x599308(0x1cd),'method':_0x599308(0x1c1),'path':_0x599308(0x1ff),'body':{'idList':_0x959b2c}}],'targets':_0x17dafa,'deleteOrder':_0x959b2c,'snapshotHash':_0x2a2369['hash'],'cascade':_0x30a0be,'warnings':_0x43a59a});}function a127_0x3700(){const _0x36bb79=['--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','hash','str','expect-parent-id','Menu\x20','5155507WUchTk','pages','resourcesValid','appCode','Deleted\x20','10BVUyWS','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Folder\x20','expiresAt','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','unconfirmed','405072vlLkdi','menu_verification_failed','menu_folder_has_resources','validation','execute\x20reviewed\x20delete\x20plan','high-risk-write','target','2452470aVyWbz','deleteOrder','add','menu_tree_invalid','menu_recursive_requires_folder','size','expect-path','byId','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','trim',';\x20execution\x20must\x20consume\x20','menu_batch_delete_count_mismatch','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Post-failure\x20menu\x20readback\x20failed\x20(','causeCode','9826578DsHfqz','/smartapi/menu/batchDelete','forEach','toLowerCase','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','pageId','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','causeMessage','\x20references\x20missing\x20child\x20','cookie','remainingIds','join','type','\x20->\x20menu\x20','menus','):\x20','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','recursive','\x20still\x20references\x20','verify\x20batch\x20delete','unknown','1442372NjhfBv','menu_plan_invalid','filter','indexOf','length','Post-mismatch\x20menu\x20readback\x20failed\x20(','absentIds','page\x20','boolean','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','childrenIds','menu\x20list','\x20and\x20cannot\x20be\x20deleted\x20safely.','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','pre-write-plan-validation','plan','bool','8vLQamQ','\x20deleted\x20menus;\x20expected\x20','delete','Backend\x20reported\x20','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','dry-run','createdAt','snapshot','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','363041qZbGSW','\x20is\x20not\x20a\x20folder.','Recursive\x20menu\x20delete\x20plan\x20root\x20','1434789Qsswxa','selector','plan\x20delete','map','\x20has\x20','snapshotHash','push','Would\x20batch\x20delete\x20','menu','POST','failed','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','flagMissing','has','childrenCount','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','verification','string','stringify','batch-delete','plan-out','batch-delete-menu','message','rabetbase\x20menu\x20list\x20--format\x20json','cascade','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','folder','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','batch\x20delete','resources'];a127_0x3700=function(){return _0x36bb79;};return a127_0x3700();}function assertDeleteSafety(_0xd9bd68,_0x25400a=![]){const _0x262e0a=a127_0x2b1e74,_0x1e9f02=_0xd9bd68[_0x262e0a(0x20d)]['trim']()[_0x262e0a(0x201)]()===_0x262e0a(0x1d2);if(_0xd9bd68[_0x262e0a(0x1c6)]>0x0&&(!_0x25400a||!_0x1e9f02))throw menuError('menu_non_empty','Menu\x20'+_0xd9bd68['id']+_0x262e0a(0x1bc)+_0xd9bd68[_0x262e0a(0x1c6)]+_0x262e0a(0x203),_0x262e0a(0x1c3)+_0xd9bd68[_0x262e0a(0x1a4)][_0x262e0a(0x20c)](',\x20'));if(_0x1e9f02&&_0xd9bd68[_0x262e0a(0x205)]!=null)throw menuError('menu_delete_page_bound',_0x262e0a(0x1e3)+_0xd9bd68['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0xd9bd68['pageId']+_0x262e0a(0x1a6),_0x262e0a(0x1b0));if(!_0x1e9f02)return;if(!_0xd9bd68[_0x262e0a(0x1dd)])throw menuError('menu_folder_resources_invalid',_0x262e0a(0x1e3)+_0xd9bd68['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x262e0a(0x204));if(_0xd9bd68[_0x262e0a(0x1d5)][_0x262e0a(0x19e)]>0x0)throw menuError(_0x262e0a(0x1e9),_0x262e0a(0x1e3)+_0xd9bd68['id']+_0x262e0a(0x213)+_0xd9bd68[_0x262e0a(0x1d5)]['length']+'\x20resource\x20URL(s).','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x588ca7,_0x160f30){const _0x5e8555=[],_0x45b8b5=new Set(),_0x405594=new Set(),_0x4864f2=_0x28563b=>{const _0x4e36f0=a127_0x3732;if(_0x45b8b5[_0x4e36f0(0x1c5)](_0x28563b['id']))throw menuError(_0x4e36f0(0x1f1),_0x4e36f0(0x1fb)+_0x28563b['id']+'.');if(_0x405594[_0x4e36f0(0x1c5)](_0x28563b['id']))return;_0x45b8b5[_0x4e36f0(0x1f0)](_0x28563b['id']);for(const _0xa50221 of _0x28563b[_0x4e36f0(0x1a4)]){const _0x4b87d5=_0x588ca7['byId']['get'](_0xa50221);if(!_0x4b87d5)throw menuError('menu_tree_invalid',_0x4e36f0(0x1da)+_0x28563b['id']+_0x4e36f0(0x209)+_0xa50221+'.');_0x4864f2(_0x4b87d5);}_0x45b8b5[_0x4e36f0(0x1ad)](_0x28563b['id']),_0x405594[_0x4e36f0(0x1f0)](_0x28563b['id']),_0x5e8555[_0x4e36f0(0x1be)](_0x28563b);};return _0x4864f2(_0x160f30),_0x5e8555;}function assertDeleteTargetsComplete(_0x2925e9,_0xdc7b03){const _0x58330c=a127_0x2b1e74,_0x1ba62b=requireMenu(_0xdc7b03,_0x2925e9['target']['id']);if(_0x2925e9['recursive']&&_0x1ba62b[_0x58330c(0x20d)][_0x58330c(0x1f7)]()['toLowerCase']()!==_0x58330c(0x1d2))throw menuError(_0x58330c(0x19b),_0x58330c(0x1b7)+_0x1ba62b['id']+_0x58330c(0x1b6));const _0x6a9e9c=_0x2925e9[_0x58330c(0x212)]?collectDeleteTargets(_0xdc7b03,_0x1ba62b)[_0x58330c(0x1bb)](_0x4d2336=>_0x4d2336['id']):[_0x1ba62b['id']];if(JSON[_0x58330c(0x1ca)](_0x2925e9['deleteOrder'])!==JSON[_0x58330c(0x1ca)](_0x6a9e9c))throw menuError(_0x58330c(0x19b),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.',_0x58330c(0x1e5));}function a127_0x3732(_0x2f7093,_0x1dc34b){_0x2f7093=_0x2f7093-0x19b;const _0x3700a6=a127_0x3700();let _0x373249=_0x3700a6[_0x2f7093];return _0x373249;}function assertNoSharedPages(_0x412c79,_0x3bd22c){const _0x594b6b=a127_0x2b1e74,_0x4a2081=new Set(_0x3bd22c['map'](_0x11724e=>_0x11724e['id'])),_0x1c05b6=new Set(_0x3bd22c[_0x594b6b(0x1bb)](_0x293ee8=>_0x293ee8[_0x594b6b(0x205)])[_0x594b6b(0x19c)](_0x22c8d8=>_0x22c8d8!=null));if(_0x1c05b6[_0x594b6b(0x1f3)]===0x0)return;const _0x4f4d58=_0x412c79[_0x594b6b(0x20f)]['filter'](_0x47e58f=>!_0x4a2081['has'](_0x47e58f['id'])&&_0x47e58f[_0x594b6b(0x205)]!=null&&_0x1c05b6[_0x594b6b(0x1c5)](_0x47e58f[_0x594b6b(0x205)]));if(_0x4f4d58[_0x594b6b(0x19e)]===0x0)return;const _0x5a53fb=_0x4f4d58['map'](_0x180efb=>_0x594b6b(0x1a1)+_0x180efb[_0x594b6b(0x205)]+_0x594b6b(0x20e)+_0x180efb['id'])[_0x594b6b(0x20c)](',\x20');throw menuError('menu_page_shared',_0x594b6b(0x1d3)+_0x5a53fb+'.',_0x594b6b(0x206));}function assertCascadeMatchesPlan(_0x227544,_0x5e22b3){const _0x32e196=a127_0x2b1e74,_0x1d1ca8=cascadeForTargets(_0x5e22b3);if(JSON[_0x32e196(0x1ca)](_0x227544[_0x32e196(0x1d0)])!==JSON[_0x32e196(0x1ca)](_0x1d1ca8))throw menuError(_0x32e196(0x19b),_0x32e196(0x1e2));}function cascadeForTargets(_0x3d9f9a){const _0x45bc1f=a127_0x2b1e74,_0x4202fa=_0x3d9f9a[_0x45bc1f(0x1bb)](_0x4c158f=>_0x4c158f[_0x45bc1f(0x205)])[_0x45bc1f(0x19c)](_0x1abdee=>_0x1abdee!=null)['filter']((_0x1255c0,_0x1762a1,_0x513068)=>_0x513068[_0x45bc1f(0x19d)](_0x1255c0)===_0x1762a1);return{'pages':_0x4202fa,'pageSchemaAffected':_0x4202fa['length']>0x0};}function asMenuError(_0x3e6204){const _0x2c495d=a127_0x2b1e74;return _0x3e6204 instanceof CliError?_0x3e6204:menuError(_0x2c495d(0x19b),_0x3e6204 instanceof Error?_0x3e6204[_0x2c495d(0x1ce)]:String(_0x3e6204));}
|
|
1
|
+
const a127_0x311cf2=a127_0x2c60;(function(_0x51dd7d,_0x22361e){const _0x50a494=a127_0x2c60,_0x57cfcb=_0x51dd7d();while(!![]){try{const _0x2d88f5=-parseInt(_0x50a494(0xa3))/0x1*(parseInt(_0x50a494(0xe5))/0x2)+parseInt(_0x50a494(0xb1))/0x3*(-parseInt(_0x50a494(0xcd))/0x4)+parseInt(_0x50a494(0xd9))/0x5*(-parseInt(_0x50a494(0xa4))/0x6)+-parseInt(_0x50a494(0xdb))/0x7+-parseInt(_0x50a494(0xdf))/0x8*(-parseInt(_0x50a494(0x96))/0x9)+-parseInt(_0x50a494(0xf6))/0xa+parseInt(_0x50a494(0xf1))/0xb;if(_0x2d88f5===_0x22361e)break;else _0x57cfcb['push'](_0x57cfcb['shift']());}catch(_0x527e1c){_0x57cfcb['push'](_0x57cfcb['shift']());}}}(a127_0x2d53,0xbe7eb));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':a127_0x311cf2(0xe7),'path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a127_0x311cf2(0xc2)},MENU_DELETE_RECURSIVE_FLAG={'name':a127_0x311cf2(0xa2),'type':a127_0x311cf2(0xb6),'description':a127_0x311cf2(0xa5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a127_0x311cf2(0xe2),'type':'string','description':a127_0x311cf2(0x8a)},MENU_DELETE_PLAN_FLAG={'name':a127_0x311cf2(0xd6),'type':'string','description':a127_0x311cf2(0x81)};export const menuDelete={'service':a127_0x311cf2(0xb2),'command':'delete','description':a127_0x311cf2(0xb4),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x152f3a){const _0x2108a4=a127_0x311cf2;_0x152f3a[_0x2108a4(0xa8)]('dry-run')?validateDeleteDryRunInput(_0x152f3a):validateDeleteExecuteInput(_0x152f3a),requireExplicitYes(_0x152f3a);},async 'dryRun'(_0x40ceb2){const _0x4977ff=a127_0x311cf2;validateDeleteDryRunInput(_0x40ceb2);const _0x4fed52=await buildDeletePlan(_0x40ceb2),_0xe44ad5=createMenuDeletePlanFile(_0x40ceb2[_0x4977ff(0x94)],_0x4fed52),_0x3746e7=await writeMenuDeletePlan(_0x40ceb2[_0x4977ff(0xaf)](_0x4977ff(0xe2)),_0xe44ad5),_0x30f60a=mutationResult({..._0x4fed52,'planFile':{'path':_0x3746e7,'createdAt':_0xe44ad5['createdAt'],'expiresAt':_0xe44ad5[_0x4977ff(0x7d)]}});return menuDryRunResult(_0x30f60a,{'method':'POST','url':_0x4977ff(0x91),'body':{'idList':_0x30f60a[_0x4977ff(0xcf)]},'description':_0x4977ff(0x85)+(_0x30f60a[_0x4977ff(0xcf)]?.['length']??0x1)+_0x4977ff(0xea)+_0x30f60a[_0x4977ff(0xb7)]['id']+';\x20execution\x20must\x20consume\x20'+_0x3746e7+'.'});},async 'execute'(_0x56877d){const _0x222b5a=a127_0x311cf2;requireExplicitYes(_0x56877d),validateDeleteExecuteInput(_0x56877d);const _0x348b2c=await readMenuDeletePlan(_0x56877d['str'](_0x222b5a(0xd6))),_0x33f883=mutationPlanFromDeleteFile(_0x348b2c['plan'],_0x348b2c[_0x222b5a(0x7e)]),_0x15d7b6=_0x348b2c[_0x222b5a(0xd6)][_0x222b5a(0xdd)]['id'];try{assertMenuDeletePlanExecutable(_0x348b2c[_0x222b5a(0xd6)],_0x56877d[_0x222b5a(0x94)]);}catch(_0x9f4337){throw menuFailure(asMenuError(_0x9f4337),_0x33f883,{'stage':'plan-validation','failed':{'id':_0x15d7b6}});}let _0x317953,_0x2b533b;try{_0x317953=await fetchMutationSnapshot(_0x56877d,_0x222b5a(0xcb),_0x15d7b6),_0x2b533b=assertMenuDeletePlanCurrent(_0x348b2c[_0x222b5a(0xd6)],_0x56877d[_0x222b5a(0x94)],_0x317953),assertDeleteTargetsComplete(_0x348b2c[_0x222b5a(0xd6)],_0x317953),_0x2b533b[_0x222b5a(0x95)](_0x184227=>assertDeleteSafety(_0x184227,_0x348b2c[_0x222b5a(0xd6)][_0x222b5a(0xa2)])),assertNoSharedPages(_0x317953,_0x2b533b),assertCascadeMatchesPlan(_0x33f883,_0x2b533b);}catch(_0xa45713){throw menuFailure(asMenuError(_0xa45713),_0x33f883,{'stage':'pre-write-plan-validation','failed':{'id':_0x15d7b6}});}const _0x31b36a=_0x348b2c[_0x222b5a(0xd6)]['deleteOrder'];let _0x1aa5ac;try{_0x1aa5ac=await batchDeleteMenuEntities(_0x56877d[_0x222b5a(0x80)],_0x31b36a);}catch(_0x5376cf){const _0x48f30b=mapMenuApiError(_0x5376cf,_0x222b5a(0xf2)),_0x1243ed=[_0x222b5a(0xde)];let _0x176821;try{_0x176821=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x112c06){const _0x1275d2=describeMenuErrorCause(_0x112c06,_0x222b5a(0xd0),_0x15d7b6);_0x1243ed[_0x222b5a(0x9b)](_0x222b5a(0xbf)+_0x1275d2[_0x222b5a(0xe9)]+_0x222b5a(0xf8)+_0x1275d2[_0x222b5a(0xfa)]);throw menuFailure(_0x48f30b,_0x33f883,{'stage':_0x222b5a(0xdc),'failed':{'targetIds':_0x31b36a,'targetIdsAbsent':_0x222b5a(0xf3),..._0x1275d2},'warnings':_0x1243ed,'verification':{'status':_0x222b5a(0xc3),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x31b36a}});}throw menuFailure(_0x48f30b,_0x33f883,{'stage':'batch-delete','succeeded':_0x176821[_0x222b5a(0x88)]['map'](_0x4cc90e=>({'id':_0x4cc90e,'deleted':!![]})),'failed':{'targetIds':_0x31b36a,'absentIds':_0x176821[_0x222b5a(0x88)],'remainingIds':_0x176821[_0x222b5a(0x86)]},'warnings':_0x1243ed,'verification':verificationFromOutcome(_0x176821)});}if(_0x1aa5ac!==_0x31b36a['length']){const _0x276f94=menuError(_0x222b5a(0x89),_0x222b5a(0xed)+_0x1aa5ac+'\x20deleted\x20menus;\x20expected\x20'+_0x31b36a[_0x222b5a(0xd5)]+'.',_0x222b5a(0xb0)),_0x329d16=[_0x222b5a(0x92)];let _0x58fc79;try{_0x58fc79=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x16c2ad){const _0x2a33fb=describeMenuErrorCause(_0x16c2ad,_0x222b5a(0xc7),_0x15d7b6);_0x329d16['push'](_0x222b5a(0xec)+_0x2a33fb[_0x222b5a(0xe9)]+'):\x20'+_0x2a33fb[_0x222b5a(0xfa)]);throw menuFailure(_0x276f94,_0x33f883,{'stage':_0x222b5a(0xdc),'failed':{'targetIds':_0x31b36a,'expectedCount':_0x31b36a[_0x222b5a(0xd5)],'reportedDeletedCount':_0x1aa5ac,'targetIdsAbsent':_0x222b5a(0xf3),..._0x2a33fb},'warnings':_0x329d16,'verification':{'status':_0x222b5a(0xc3),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x31b36a}});}throw menuFailure(_0x276f94,_0x33f883,{'stage':_0x222b5a(0xdc),'succeeded':_0x58fc79[_0x222b5a(0x88)][_0x222b5a(0xd2)](_0x504765=>({'id':_0x504765,'deleted':!![]})),'failed':{'targetIds':_0x31b36a,'expectedCount':_0x31b36a[_0x222b5a(0xd5)],'reportedDeletedCount':_0x1aa5ac,'absentIds':_0x58fc79[_0x222b5a(0x88)],'remainingIds':_0x58fc79[_0x222b5a(0x86)]},'warnings':_0x329d16,'verification':verificationFromOutcome(_0x58fc79)});}let _0x15a62b;try{_0x15a62b=await readDeleteOutcome(_0x56877d,_0x31b36a);}catch(_0x5a3700){const _0x1fbe6c=describeMenuErrorCause(_0x5a3700,_0x222b5a(0x8b),_0x15d7b6),_0x4a169c=asVerificationError(_0x5a3700,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x15d7b6+_0x222b5a(0xbe));throw menuFailure(_0x4a169c,_0x33f883,{'stage':_0x222b5a(0xbd),'succeeded':_0x31b36a[_0x222b5a(0xd2)](_0x25a049=>({'id':_0x25a049,'deleteRequested':!![]})),'failed':{'id':_0x15d7b6,'targetIds':_0x31b36a,'targetIdsAbsent':_0x222b5a(0xf3),..._0x1fbe6c},'warnings':[_0x222b5a(0x84)],'verification':{'status':_0x222b5a(0xc3),'lookupCommand':_0x222b5a(0xd8),'targetIds':_0x31b36a}});}if(_0x15a62b[_0x222b5a(0x86)][_0x222b5a(0xd5)]>0x0){const _0x28e035=menuError(_0x222b5a(0xc4),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x15a62b[_0x222b5a(0x86)][_0x222b5a(0xe3)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x28e035,_0x33f883,{'stage':_0x222b5a(0xbd),'succeeded':_0x31b36a[_0x222b5a(0xd2)](_0x341410=>({'id':_0x341410,'deleteRequested':!![]})),'failed':{'id':_0x15d7b6,'targetIds':_0x31b36a,'absentIds':_0x15a62b[_0x222b5a(0x88)],'remainingIds':_0x15a62b[_0x222b5a(0x86)]},'warnings':[_0x222b5a(0xbb)],'verification':verificationFromOutcome(_0x15a62b)});}const _0x3d994c=_0x31b36a[_0x222b5a(0xd2)](_0x4ab8d7=>({'id':_0x4ab8d7,'deleted':!![]})),_0x9adfdc=mutationResult({..._0x33f883,'dryRun':![],'succeeded':_0x3d994c,'verification':{'checkedBy':_0x222b5a(0xcc),'plannedSnapshotHash':_0x33f883[_0x222b5a(0xca)],'finalSnapshotHash':_0x15a62b['snapshot'][_0x222b5a(0x90)],'reportedDeletedCount':_0x1aa5ac,'targetAbsent':!_0x15a62b[_0x222b5a(0x83)][_0x222b5a(0xe6)][_0x222b5a(0x82)](_0x15d7b6),'allTargetsAbsent':!![],'targetIds':_0x31b36a}});return{'ok':!![],'data':_0x9adfdc,'message':'Deleted\x20'+_0x3d994c[_0x222b5a(0xd5)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x15d7b6+'.'};}};async function readDeleteOutcome(_0x309e97,_0x43a8f9){const _0x4b8d39=a127_0x311cf2,_0x5c3816=await fetchMenuSnapshot(_0x309e97['appCode'],_0x309e97[_0x4b8d39(0x80)]);return{'snapshot':_0x5c3816,'absentIds':_0x43a8f9[_0x4b8d39(0x97)](_0x5445d7=>!_0x5c3816['byId'][_0x4b8d39(0x82)](_0x5445d7)),'remainingIds':_0x43a8f9[_0x4b8d39(0x97)](_0x1cbd8f=>_0x5c3816[_0x4b8d39(0xe6)][_0x4b8d39(0x82)](_0x1cbd8f))};}function verificationFromOutcome(_0x111a83){const _0xd5b8f9=a127_0x311cf2;return{'checkedBy':'menu\x20list','absentIds':_0x111a83[_0xd5b8f9(0x88)],'remainingIds':_0x111a83[_0xd5b8f9(0x86)]};}function a127_0x2c60(_0x34f88c,_0x5cd0db){_0x34f88c=_0x34f88c-0x7d;const _0x2d5359=a127_0x2d53();let _0x2c600f=_0x2d5359[_0x34f88c];return _0x2c600f;}function validateDeleteDryRunInput(_0x36aa54){const _0x523c29=a127_0x311cf2;validateExactId(_0x36aa54);if(!hasFlag(_0x36aa54,'plan-out')||!_0x36aa54['str'](_0x523c29(0xe2))['trim']())throw CliErrors[_0x523c29(0xaa)]('plan-out',_0x523c29(0xeb));if(hasFlag(_0x36aa54,_0x523c29(0xd6)))throw CliErrors[_0x523c29(0xf0)]('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x32f29a){const _0x549c45=a127_0x311cf2;if(!hasFlag(_0x32f29a,_0x549c45(0xd6))||!_0x32f29a[_0x549c45(0xaf)](_0x549c45(0xd6))[_0x549c45(0xc9)]())throw CliErrors[_0x549c45(0xaa)]('plan',_0x549c45(0xd4));const _0x4691cb=['id','recursive',_0x549c45(0xe2),_0x549c45(0xa9),_0x549c45(0xb3),_0x549c45(0xee)]['filter'](_0x42ceb7=>hasFlag(_0x32f29a,_0x42ceb7));if(_0x4691cb[_0x549c45(0xd5)]>0x0)throw CliErrors[_0x549c45(0xf0)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4691cb[_0x549c45(0xd2)](_0x1cca40=>'--'+_0x1cca40)[_0x549c45(0xe3)](',\x20')+'.');}async function buildDeletePlan(_0x3c2e5a){const _0x56d7b3=a127_0x311cf2,_0x3443ec=validateExactId(_0x3c2e5a),_0x48f68f=await fetchMutationSnapshot(_0x3c2e5a,_0x56d7b3(0xe8),_0x3443ec),_0x4303f0=requireMenu(_0x48f68f,_0x3443ec);assertExpectedState(_0x3c2e5a,_0x4303f0);const _0x266d8c=_0x3c2e5a[_0x56d7b3(0xa8)](_0x56d7b3(0xa2));let _0x504209;if(_0x266d8c){if(_0x4303f0[_0x56d7b3(0xbc)][_0x56d7b3(0xc9)]()[_0x56d7b3(0xb9)]()!==_0x56d7b3(0x7f))throw menuError(_0x56d7b3(0xad),_0x56d7b3(0xef)+_0x4303f0['id']+'\x20is\x20type\x20\x22'+(_0x4303f0[_0x56d7b3(0xbc)]||_0x56d7b3(0x8e))+_0x56d7b3(0xa1));_0x504209=collectDeleteTargets(_0x48f68f,_0x4303f0),_0x504209[_0x56d7b3(0x95)](_0x329704=>assertDeleteSafety(_0x329704,!![]));}else assertDeleteSafety(_0x4303f0),_0x504209=[_0x4303f0];assertNoSharedPages(_0x48f68f,_0x504209);const _0x1e17e1=_0x504209['map'](_0x3d18b5=>_0x3d18b5['id']),_0x4ee5d3=cascadeForTargets(_0x504209),_0x2e0fdd=_0x4ee5d3[_0x56d7b3(0xc5)][_0x56d7b3(0xd5)]>0x0?[_0x56d7b3(0xfc)]:[];return mutationResult({'operation':_0x56d7b3(0xa7),'selector':{'id':_0x3443ec,'recursive':_0x266d8c},'before':_0x4303f0,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x56d7b3(0x9c),'method':_0x56d7b3(0xe7),'path':_0x56d7b3(0x91),'body':{'idList':_0x1e17e1}}],'targets':_0x504209,'deleteOrder':_0x1e17e1,'snapshotHash':_0x48f68f[_0x56d7b3(0x90)],'cascade':_0x4ee5d3,'warnings':_0x2e0fdd});}function assertDeleteSafety(_0x20ca53,_0x474f9b=![]){const _0xd7ad24=a127_0x311cf2,_0x318e50=_0x20ca53[_0xd7ad24(0xbc)]['trim']()[_0xd7ad24(0xb9)]()===_0xd7ad24(0x7f);if(_0x20ca53[_0xd7ad24(0x99)]>0x0&&(!_0x474f9b||!_0x318e50))throw menuError(_0xd7ad24(0x98),_0xd7ad24(0xef)+_0x20ca53['id']+'\x20has\x20'+_0x20ca53[_0xd7ad24(0x99)]+_0xd7ad24(0xc0),'Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x20ca53[_0xd7ad24(0x8d)][_0xd7ad24(0xe3)](',\x20'));if(_0x318e50&&_0x20ca53[_0xd7ad24(0x9f)]!=null)throw menuError(_0xd7ad24(0xd7),_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xe4)+_0x20ca53['pageId']+_0xd7ad24(0xda),_0xd7ad24(0xc8));if(!_0x318e50)return;if(!_0x20ca53[_0xd7ad24(0xac)])throw menuError('menu_folder_resources_invalid',_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xd3),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x20ca53[_0xd7ad24(0xb5)]['length']>0x0)throw menuError('menu_folder_has_resources',_0xd7ad24(0xab)+_0x20ca53['id']+_0xd7ad24(0xe1)+_0x20ca53[_0xd7ad24(0xb5)][_0xd7ad24(0xd5)]+_0xd7ad24(0xf5),_0xd7ad24(0xa6));}function collectDeleteTargets(_0x27d6c9,_0x127e59){const _0x5cdf24=[],_0x395848=new Set(),_0xda90e0=new Set(),_0x719cbb=_0x2fb1d4=>{const _0x83669a=a127_0x2c60;if(_0x395848[_0x83669a(0x82)](_0x2fb1d4['id']))throw menuError(_0x83669a(0xce),_0x83669a(0xc1)+_0x2fb1d4['id']+'.');if(_0xda90e0[_0x83669a(0x82)](_0x2fb1d4['id']))return;_0x395848[_0x83669a(0xba)](_0x2fb1d4['id']);for(const _0x319e2c of _0x2fb1d4['childrenIds']){const _0x45ab53=_0x27d6c9[_0x83669a(0xe6)][_0x83669a(0xb8)](_0x319e2c);if(!_0x45ab53)throw menuError('menu_tree_invalid',_0x83669a(0xef)+_0x2fb1d4['id']+_0x83669a(0x8f)+_0x319e2c+'.');_0x719cbb(_0x45ab53);}_0x395848['delete'](_0x2fb1d4['id']),_0xda90e0[_0x83669a(0xba)](_0x2fb1d4['id']),_0x5cdf24[_0x83669a(0x9b)](_0x2fb1d4);};return _0x719cbb(_0x127e59),_0x5cdf24;}function a127_0x2d53(){const _0x5b187c=['Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','expiresAt','path','folder','cookie','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','has','snapshot','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Would\x20batch\x20delete\x20','remainingIds','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','absentIds','menu_batch_delete_count_mismatch','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','verify\x20batch\x20delete','\x20->\x20menu\x20','childrenIds','unknown','\x20references\x20missing\x20child\x20','hash','/smartapi/menu/batchDelete','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','menu_plan_invalid','appCode','forEach','9eJdtNC','filter','menu_non_empty','childrenCount','stringify','push','batch-delete-menu','\x20is\x20not\x20a\x20folder.','cascade','pageId','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','recursive','285283fHTsMJ','239544rTsnzF','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','delete','bool','expect-parent-id','flagMissing','Folder\x20','resourcesValid','menu_recursive_requires_folder','page\x20','str','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','1061979WbaRuY','menu','expect-path','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','resources','boolean','selector','get','toLowerCase','add','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','type','verification','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Post-failure\x20menu\x20readback\x20failed\x20(','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','failed','menu_verification_failed','pages','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','trim','snapshotHash','execute\x20reviewed\x20delete\x20plan','menu\x20list','4VgpSgp','menu_tree_invalid','deleteOrder','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','size','map','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','length','plan','menu_delete_page_bound','rabetbase\x20menu\x20list\x20--format\x20json','160JXcLHs','\x20and\x20cannot\x20be\x20deleted\x20safely.','3903452wpsUgO','batch-delete','target','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','9186344qBGUrS','menu_page_shared','\x20still\x20references\x20','plan-out','join','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','4IKnpZs','byId','POST','plan\x20delete','causeCode','\x20menu(s)\x20under\x20exact\x20id\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Post-mismatch\x20menu\x20readback\x20failed\x20(','Backend\x20reported\x20','expected-children-count','Menu\x20','validation','32847870feFcYA','batch\x20delete','unconfirmed','indexOf','\x20resource\x20URL(s).','5944330pwxTAp','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','):\x20','message','causeMessage'];a127_0x2d53=function(){return _0x5b187c;};return a127_0x2d53();}function assertDeleteTargetsComplete(_0x18ead9,_0x3bea17){const _0x14f2d4=a127_0x311cf2,_0x294efa=requireMenu(_0x3bea17,_0x18ead9[_0x14f2d4(0xdd)]['id']);if(_0x18ead9[_0x14f2d4(0xa2)]&&_0x294efa[_0x14f2d4(0xbc)][_0x14f2d4(0xc9)]()[_0x14f2d4(0xb9)]()!=='folder')throw menuError('menu_plan_invalid',_0x14f2d4(0xa0)+_0x294efa['id']+_0x14f2d4(0x9d));const _0x3990bf=_0x18ead9['recursive']?collectDeleteTargets(_0x3bea17,_0x294efa)['map'](_0x44f61f=>_0x44f61f['id']):[_0x294efa['id']];if(JSON['stringify'](_0x18ead9[_0x14f2d4(0xcf)])!==JSON['stringify'](_0x3990bf))throw menuError(_0x14f2d4(0x93),_0x14f2d4(0x87),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x1e7081,_0x38fa2d){const _0x5be0ca=a127_0x311cf2,_0x5cc8d1=new Set(_0x38fa2d['map'](_0x1610a4=>_0x1610a4['id'])),_0x12a433=new Set(_0x38fa2d[_0x5be0ca(0xd2)](_0x36c9af=>_0x36c9af[_0x5be0ca(0x9f)])[_0x5be0ca(0x97)](_0x17fe6d=>_0x17fe6d!=null));if(_0x12a433[_0x5be0ca(0xd1)]===0x0)return;const _0x2c33e6=_0x1e7081['menus'][_0x5be0ca(0x97)](_0x23b860=>!_0x5cc8d1[_0x5be0ca(0x82)](_0x23b860['id'])&&_0x23b860[_0x5be0ca(0x9f)]!=null&&_0x12a433[_0x5be0ca(0x82)](_0x23b860['pageId']));if(_0x2c33e6[_0x5be0ca(0xd5)]===0x0)return;const _0x226f6b=_0x2c33e6[_0x5be0ca(0xd2)](_0x2d74f2=>_0x5be0ca(0xae)+_0x2d74f2[_0x5be0ca(0x9f)]+_0x5be0ca(0x8c)+_0x2d74f2['id'])[_0x5be0ca(0xe3)](',\x20');throw menuError(_0x5be0ca(0xe0),_0x5be0ca(0xf7)+_0x226f6b+'.',_0x5be0ca(0xc6));}function assertCascadeMatchesPlan(_0x48ad32,_0x5da493){const _0x1ca8d3=a127_0x311cf2,_0x3a30a=cascadeForTargets(_0x5da493);if(JSON['stringify'](_0x48ad32[_0x1ca8d3(0x9e)])!==JSON[_0x1ca8d3(0x9a)](_0x3a30a))throw menuError(_0x1ca8d3(0x93),_0x1ca8d3(0xfb));}function cascadeForTargets(_0x493e6e){const _0x2f9f77=a127_0x311cf2,_0x4a3f94=_0x493e6e['map'](_0x237a59=>_0x237a59[_0x2f9f77(0x9f)])[_0x2f9f77(0x97)](_0x2d6cb5=>_0x2d6cb5!=null)['filter']((_0x7d9fa6,_0x2cfddc,_0x3c5a75)=>_0x3c5a75[_0x2f9f77(0xf4)](_0x7d9fa6)===_0x2cfddc);return{'pages':_0x4a3f94,'pageSchemaAffected':_0x4a3f94[_0x2f9f77(0xd5)]>0x0};}function asMenuError(_0x2e8c62){const _0x29b170=a127_0x311cf2;return _0x2e8c62 instanceof CliError?_0x2e8c62:menuError('menu_plan_invalid',_0x2e8c62 instanceof Error?_0x2e8c62[_0x29b170(0xf9)]:String(_0x2e8c62));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a128_0x2ee566=a128_0x4bb9;(function(_0x386c1f,_0x1ff6d9){const _0x279646=a128_0x4bb9,_0x236ff3=_0x386c1f();while(!![]){try{const _0x57f310=-parseInt(_0x279646(0x144))/0x1*(parseInt(_0x279646(0x122))/0x2)+parseInt(_0x279646(0xdc))/0x3*(-parseInt(_0x279646(0x11a))/0x4)+-parseInt(_0x279646(0xdb))/0x5*(-parseInt(_0x279646(0x101))/0x6)+-parseInt(_0x279646(0x148))/0x7+-parseInt(_0x279646(0xe3))/0x8+parseInt(_0x279646(0x117))/0x9+parseInt(_0x279646(0x110))/0xa;if(_0x57f310===_0x1ff6d9)break;else _0x236ff3['push'](_0x236ff3['shift']());}catch(_0x336e44){_0x236ff3['push'](_0x236ff3['shift']());}}}(a128_0x396d,0xc5eee));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':a128_0x2ee566(0x10d),'new-window':a128_0x2ee566(0x14f)};export function validateExternalMenuUrl(_0x412aea){const _0x36e30a=a128_0x2ee566,_0x20e2ae=_0x412aea['trim']();let _0x84f3eb;try{_0x84f3eb=new URL(_0x20e2ae);}catch{throw menuError('menu_url_invalid',_0x36e30a(0xef),_0x36e30a(0x10b));}if(_0x84f3eb[_0x36e30a(0x11f)]!==_0x36e30a(0x10c))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x36e30a(0x133));if(_0x84f3eb[_0x36e30a(0xf6)]||_0x84f3eb[_0x36e30a(0x13c)])throw menuError('menu_url_credentials_forbidden',_0x36e30a(0x15d),_0x36e30a(0xd5));return _0x20e2ae;}export const menuExternalLinkCreate={'service':a128_0x2ee566(0x102),'command':a128_0x2ee566(0x138),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a128_0x2ee566(0x152),'structuredErrors':!![],'flags':[{'name':a128_0x2ee566(0xf2),'type':'string','required':!![],'description':a128_0x2ee566(0xec)},{'name':'open-mode','type':a128_0x2ee566(0x113),'required':!![],'enum':[a128_0x2ee566(0x14c),a128_0x2ee566(0xdd)],'description':a128_0x2ee566(0xf7)},{'name':a128_0x2ee566(0x109),'type':a128_0x2ee566(0x113),'required':!![],'description':a128_0x2ee566(0x128)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':'visible','type':a128_0x2ee566(0x12d),'default':!![],'description':a128_0x2ee566(0xfd)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3b1ed8){validateAddInput(_0x3b1ed8);},async 'dryRun'(_0xfadb29){const _0x18027a=a128_0x2ee566;validateAddInput(_0xfadb29);const {plan:_0x27cf32}=await buildSafeAddPlan(_0xfadb29,!![]),_0x5874f5=_0x27cf32[_0x18027a(0x12b)],_0x29a6cc=createBody(_0x5874f5);return menuDryRunResult(_0x27cf32,{'method':'POST','url':_0x18027a(0xfb),'body':_0x29a6cc,'description':_0x18027a(0x132)+JSON['stringify'](_0x5874f5[_0x18027a(0xf2)])+_0x18027a(0x139)+_0xfadb29[_0x18027a(0x106)](_0x18027a(0x155))+_0x18027a(0x13f)});},async 'execute'(_0x18f4f3){const _0x44d8fa=a128_0x2ee566;validateAddInput(_0x18f4f3);const _0x19f17b=await buildSafeAddPlan(_0x18f4f3,![]),{plan:_0x58b045,snapshot:_0x13e26b}=_0x19f17b,_0x78de1=_0x58b045[_0x44d8fa(0x12b)],_0x303e2b=buildMenuLookupCommand(_0x18f4f3[_0x44d8fa(0x12a)]);await recheckAddSnapshot(_0x18f4f3,_0x58b045);let _0x522470;try{_0x522470=await createMenuEntity(_0x18f4f3['appCode'],_0x18f4f3[_0x44d8fa(0x104)],createBody(_0x78de1));}catch(_0x1ddab1){const _0x498542=mapMenuApiError(_0x1ddab1,_0x44d8fa(0xcf));if(!isMenuResponseLoss(_0x1ddab1)||_0x498542[_0x44d8fa(0x108)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x498542,_0x58b045,{'stage':_0x44d8fa(0xce),'failed':{},'verification':{'status':_0x44d8fa(0xe6),'lookupCommand':_0x303e2b}});return recoverAfterResponseLoss(_0x18f4f3,_0x19f17b,_0x303e2b);}const _0x417bba=Number(_0x522470?.['id']),_0x3554df=typeof _0x522470?.[_0x44d8fa(0x116)]==='string'?_0x522470[_0x44d8fa(0x116)]:'';if(!Number[_0x44d8fa(0x119)](_0x417bba)||_0x417bba<=0x0||!_0x3554df[_0x44d8fa(0x140)]()){const _0x2605ce=menuError(_0x44d8fa(0xd6),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x44d8fa(0x14d)+_0x303e2b+_0x44d8fa(0xfa));throw externalLinkCreateFailure(_0x2605ce,_0x58b045,{'stage':_0x44d8fa(0x115),'succeeded':Number['isSafeInteger'](_0x417bba)&&_0x417bba>0x0?[{'id':_0x417bba,'created':!![]}]:[],'failed':{'createdId':Number[_0x44d8fa(0x119)](_0x417bba)?_0x417bba:null,'generatedPathConfirmed':Boolean(_0x3554df['trim']())},'warnings':[_0x44d8fa(0x100)],'after':Number[_0x44d8fa(0x119)](_0x417bba)&&_0x417bba>0x0?{..._0x78de1,'id':_0x417bba,'path':_0x3554df}:_0x78de1,'verification':{'status':_0x44d8fa(0xe6),'lookupCommand':_0x303e2b,...Number[_0x44d8fa(0x119)](_0x417bba)&&_0x417bba>0x0?{'targetId':_0x417bba}:{}}});}const _0x478542=await readAndVerifyCreatedMenu({'appCode':_0x18f4f3[_0x44d8fa(0x12a)],'cookie':_0x18f4f3[_0x44d8fa(0x104)],'plan':_0x58b045,'afterPlan':_0x78de1,'createdId':_0x417bba,'expectedPath':_0x3554df,'lookupCommand':_0x303e2b,'recovered':![]});return creationSuccess(_0x58b045,_0x478542[_0x44d8fa(0x135)],_0x478542[_0x44d8fa(0xed)],![]);}};function validateAddInput(_0x18c074){const _0x795311=a128_0x2ee566;if(!_0x18c074['str'](_0x795311(0xf2))[_0x795311(0x140)]())throw CliErrors[_0x795311(0xf8)]('label');resolveExternalMenuType(_0x18c074),validateExternalMenuUrl(_0x18c074[_0x795311(0x106)]('url')),parseParentId(_0x18c074,_0x795311(0x121)),validateSort(_0x18c074);}function a128_0x396d(){const _0x4e1b17=['expectedSnapshotHash','replace','5006768wFDfGo','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','failed','length','afterPlan','\x20--format\x20compress','plan','hasOwnProperty','Menu\x20label','fact','lookupCommand','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','isArray','menu_parent_not_folder','label','rawFlags','get','<redacted>','username','How\x20to\x20open\x20the\x20external\x20website','flagMissing','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','/smartapi/menu/create','hash','Whether\x20the\x20menu\x20is\x20visible','Recovered\x20created\x20external\x20menu\x20','visible','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','689298GRgBEl','menu','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','cookie','selector','str','menu_create_recovery_required','code','url','entries','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','https:','iframe','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','object','41857230zPwynZ','bool','<platform-generated>','string','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-response-validation','path','3208878BqiaMG','URL','isSafeInteger','59476HrYJJz','has','fromEntries','verification','sort','protocol','\x20has\x20an\x20unexpected\x20','parent-id','14GzTqwz','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','byId','menu_not_found','create-recovery','External\x20HTTPS\x20URL','Recovered\x20menu\x20','appCode','after','pre-write-recheck','boolean','cause','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','menu_open_mode_invalid','parentId','Would\x20create\x20external\x20website\x20link\x20menu\x20','Provide\x20an\x20HTTPS\x20URL.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','snapshot','map','add','external-link-create','\x20with\x20','currentSnapshotHash','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','password','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','type','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','trim','menu_sort_invalid','Created\x20menu\x20','Created\x20external\x20menu\x20','222614ZsGbqU','prototype','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x27\x5c\x27\x27','5854359CEPqFx','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','plannedActions','succeeded','embedded','Run\x20','includes','link','createdId','\x20failed\x20final\x20verification.','write','menu_mutation_failed','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','open-mode','visibility','call','External\x20menu\x20creation\x20failed.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_verification_failed','before','POST','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','parent','readbackerror','filter','\x20could\x20not\x20be\x20verified.','create','create\x20external\x20menu','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','menu_sort_overflow','Menu\x20','create-menu','menu_state_drift','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','menu_create_response_invalid','causemessage','body','data','\x20has\x20an\x20unexpected\x20generated\x20path.','15TZwmwT','213TpzLyh','new-window','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','rabetbase\x20menu\x20list\x20--appcode\x20','expectedPath'];a128_0x396d=function(){return _0x4e1b17;};return a128_0x396d();}function resolveExternalMenuType(_0x4151d6){const _0x20180b=a128_0x2ee566,_0x2670dd=_0x4151d6[_0x20180b(0x106)](_0x20180b(0x155))[_0x20180b(0x140)]();if(!_0x2670dd)throw CliErrors[_0x20180b(0xf8)](_0x20180b(0x155));const _0x57328e=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2670dd];if(!_0x57328e)throw menuError(_0x20180b(0x130),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x20180b(0x134));return _0x57328e;}async function buildAddPlan(_0x5c8659,_0x254131){const _0x1b9a21=a128_0x2ee566,_0x214f7e=await fetchMutationSnapshot(_0x5c8659,'create\x20external\x20menu'),_0x3269e2=parseParentId(_0x5c8659,_0x1b9a21(0x121))??null;if(_0x3269e2!=null)requireFolder(_0x214f7e,_0x3269e2);const _0x2f81cc=validateSort(_0x5c8659),_0x419f2b=_0x2f81cc??nextSiblingSort(_0x214f7e,_0x3269e2,'menu'),_0x5794bd=_0x5c8659[_0x1b9a21(0x106)](_0x1b9a21(0xf2))['trim'](),_0x4077b3=resolveExternalMenuType(_0x5c8659),_0xbe3354=validateExternalMenuUrl(_0x5c8659[_0x1b9a21(0x106)]('url')),_0x38fdb8=Object[_0x1b9a21(0x145)][_0x1b9a21(0xeb)][_0x1b9a21(0x157)](_0x5c8659[_0x1b9a21(0xf3)],'visible')?_0x5c8659[_0x1b9a21(0x111)](_0x1b9a21(0xff)):!![],_0x2e2d4b={'id':null,'parentId':_0x3269e2,'label':_0x5794bd,'path':_0x1b9a21(0x112),'url':_0xbe3354,'type':_0x4077b3,'visible':_0x38fdb8,'sort':_0x419f2b},_0x5ee49c=buildMenuLookupCommand(_0x5c8659[_0x1b9a21(0x12a)]),_0x2b6444=mutationResult({'operation':_0x1b9a21(0x137),'selector':{'parentId':_0x3269e2,'type':_0x4077b3,'label':_0x5794bd,'url':_0xbe3354},'before':null,'after':_0x2e2d4b,'dryRun':_0x254131,'backend':[{'method':_0x1b9a21(0x15c),'path':_0x1b9a21(0xfb)}],'plannedActions':[{'stage':_0x1b9a21(0xd3),'method':_0x1b9a21(0x15c),'path':_0x1b9a21(0xfb),'body':createBody(_0x2e2d4b)}],'snapshotHash':_0x214f7e[_0x1b9a21(0xfc)],'warnings':[_0x1b9a21(0x146)],'verification':{'lookupCommand':_0x5ee49c}});return{'plan':_0x2b6444,'snapshot':_0x214f7e};}async function buildSafeAddPlan(_0x5cd48b,_0x201c62){try{return await buildAddPlan(_0x5cd48b,_0x201c62);}catch(_0x150a41){throw safeMenuAddError(_0x150a41);}}async function recheckAddSnapshot(_0xc4b0c8,_0x580e3e){const _0x245636=a128_0x2ee566;try{await recheckMutationSnapshot(_0xc4b0c8,_0x580e3e,'create\x20external\x20menu');}catch(_0x26e12e){const _0x16b409=getFailureRecord(_0x26e12e);throw externalLinkCreateFailure(_0x26e12e,_0x580e3e,{'stage':_0x245636(0x12c),'failed':{..._0x16b409?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x16b409[_0x245636(0xe1)]}:{},..._0x16b409?.[_0x245636(0x13a)]?{'currentSnapshotHash':_0x16b409[_0x245636(0x13a)]}:{}}});}}function createBody(_0x55acbf){const _0x130863=a128_0x2ee566;return{'parentId':toApiParentId(_0x55acbf[_0x130863(0x131)]),'label':String(_0x55acbf[_0x130863(0xf2)]),'type':String(_0x55acbf[_0x130863(0x13e)]),'url':String(_0x55acbf[_0x130863(0x109)]),'visible':Boolean(_0x55acbf[_0x130863(0xff)]),'sort':Number(_0x55acbf['sort']),'extend':{}};}function buildMenuLookupCommand(_0x3edd18){const _0x47b322=a128_0x2ee566,_0xc2af8b='\x27'+_0x3edd18['replace'](/'/g,_0x47b322(0x147))+'\x27';return _0x47b322(0xdf)+_0xc2af8b+_0x47b322(0xe9);}async function recoverAfterResponseLoss(_0x122f46,_0xce5ef4,_0x1a29af){const _0x562b55=a128_0x2ee566,{plan:_0x4ac5e4,snapshot:_0x487a0e}=_0xce5ef4,_0x505073=_0x4ac5e4[_0x562b55(0x12b)];let _0x20c149;try{_0x20c149=await fetchMenuSnapshot(_0x122f46[_0x562b55(0x12a)],_0x122f46[_0x562b55(0x104)]);}catch(_0x6a6ff9){throw recoveryRequiredFailure(_0x4ac5e4,_0x1a29af,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1e17d2=_0x20c149['menus'][_0x562b55(0xcc)](_0x34d2fa=>_0x34d2fa['parentId']===_0x505073['parentId']&&_0x34d2fa[_0x562b55(0x13e)]===_0x505073['type']&&_0x34d2fa[_0x562b55(0xf2)]===_0x505073[_0x562b55(0xf2)]&&_0x34d2fa[_0x562b55(0x109)]===_0x505073['url']),_0x225bd8=_0x1e17d2[_0x562b55(0xcc)](_0x322c8c=>!_0x487a0e[_0x562b55(0x125)][_0x562b55(0x11b)](_0x322c8c['id'])),_0x3bd35d=_0x1e17d2['filter'](_0x1980c7=>_0x487a0e[_0x562b55(0x125)][_0x562b55(0x11b)](_0x1980c7['id']));if(_0x1e17d2[_0x562b55(0xe7)]!==0x1||_0x225bd8['length']!==0x1)throw recoveryRequiredFailure(_0x4ac5e4,_0x1a29af,{'matchCount':_0x1e17d2[_0x562b55(0xe7)],'newMatchCount':_0x225bd8[_0x562b55(0xe7)],'preexistingMatchCount':_0x3bd35d['length']});const _0x47e2f8=_0x225bd8[0x0];try{verifyCreatedFact(_0x47e2f8,_0x47e2f8['id'],_0x505073,null);}catch(_0x18592c){const _0x4150c5=_0x18592c instanceof Error&&'code'in _0x18592c?_0x18592c:menuError(_0x562b55(0x15a),_0x562b55(0x129)+_0x47e2f8['id']+_0x562b55(0xcd),_0x562b55(0x14d)+_0x1a29af+_0x562b55(0xe5));throw externalLinkCreateFailure(_0x4150c5,_0x4ac5e4,{'stage':'verification','succeeded':[{'id':_0x47e2f8['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x47e2f8['id'],'finalFactsConfirmed':![]},'after':_0x47e2f8,'warnings':[_0x562b55(0xd2)+_0x47e2f8['id']+_0x562b55(0xd0)],'verification':{'status':'failed','targetId':_0x47e2f8['id'],'recovered':!![],'lookupCommand':_0x1a29af}});}return creationSuccess(_0x4ac5e4,_0x20c149,_0x47e2f8,!![]);}function recoveryRequiredFailure(_0x4f0bcc,_0x4c07a3,_0x4948e4){const _0x589735=a128_0x2ee566,_0x1ce0c5=menuError('menu_create_recovery_required',_0x589735(0xde),'Run\x20'+_0x4c07a3+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x1ce0c5,_0x4f0bcc,{'stage':_0x589735(0x127),'failed':_0x4948e4,'warnings':[_0x589735(0xf9)],'verification':{'status':'failed',..._0x4948e4,'lookupCommand':_0x4c07a3}});}async function readAndVerifyCreatedMenu(_0x37e9cb){const _0x8b85c7=a128_0x2ee566;let _0x52c3f8;try{_0x52c3f8=await fetchMenuSnapshot(_0x37e9cb[_0x8b85c7(0x12a)],_0x37e9cb['cookie']);}catch(_0x23fdff){const _0x1c1919=menuError(_0x8b85c7(0x15a),_0x8b85c7(0xd2)+_0x37e9cb[_0x8b85c7(0x150)]+_0x8b85c7(0x154),_0x8b85c7(0x14d)+_0x37e9cb[_0x8b85c7(0xee)]+_0x8b85c7(0x159));throw externalLinkCreateFailure(_0x1c1919,_0x37e9cb[_0x8b85c7(0xea)],{'stage':_0x8b85c7(0x11d),'succeeded':[{'id':_0x37e9cb['createdId'],'created':!![]}],'failed':{'id':_0x37e9cb[_0x8b85c7(0x150)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x37e9cb[_0x8b85c7(0xe8)],'id':_0x37e9cb['createdId'],'path':_0x37e9cb[_0x8b85c7(0xe0)]},'warnings':[_0x8b85c7(0xd2)+_0x37e9cb['createdId']+_0x8b85c7(0x114)],'verification':{'status':_0x8b85c7(0xe6),'targetId':_0x37e9cb['createdId'],'lookupCommand':_0x37e9cb[_0x8b85c7(0xee)]}});}const _0x47feba=_0x52c3f8[_0x8b85c7(0x125)][_0x8b85c7(0xf4)](_0x37e9cb[_0x8b85c7(0x150)]);try{if(!_0x47feba)throw menuError(_0x8b85c7(0x15a),_0x8b85c7(0x142)+_0x37e9cb['createdId']+_0x8b85c7(0x10e),_0x8b85c7(0x14d)+_0x37e9cb[_0x8b85c7(0xee)]+_0x8b85c7(0x159));verifyCreatedFact(_0x47feba,_0x37e9cb[_0x8b85c7(0x150)],_0x37e9cb[_0x8b85c7(0xe8)],_0x37e9cb['expectedPath']);}catch(_0x417fb4){const _0x20e651=_0x417fb4 instanceof Error&&_0x8b85c7(0x108)in _0x417fb4?_0x417fb4:menuError('menu_verification_failed',_0x8b85c7(0x142)+_0x37e9cb['createdId']+_0x8b85c7(0x151),_0x8b85c7(0x14d)+_0x37e9cb[_0x8b85c7(0xee)]+_0x8b85c7(0x159));throw externalLinkCreateFailure(_0x20e651,_0x37e9cb['plan'],{'stage':_0x8b85c7(0x11d),'succeeded':[{'id':_0x37e9cb[_0x8b85c7(0x150)],'created':!![]}],'failed':{'id':_0x37e9cb['createdId'],'finalFactsConfirmed':![]},'after':_0x47feba??{..._0x37e9cb[_0x8b85c7(0xe8)],'id':_0x37e9cb[_0x8b85c7(0x150)],'path':_0x37e9cb[_0x8b85c7(0xe0)]},'warnings':['Menu\x20'+_0x37e9cb[_0x8b85c7(0x150)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x8b85c7(0xe6),'targetId':_0x37e9cb[_0x8b85c7(0x150)],'recovered':_0x37e9cb['recovered'],'lookupCommand':_0x37e9cb['lookupCommand']}});}return{'snapshot':_0x52c3f8,'fact':_0x47feba};}function verifyCreatedFact(_0x2199d2,_0x24899b,_0x28fe91,_0x407457){const _0x422083=a128_0x2ee566;if(!Number['isSafeInteger'](_0x2199d2['id'])||_0x2199d2['id']<=0x0||_0x2199d2['id']!==_0x24899b)throw menuError(_0x422083(0x15a),_0x422083(0x13d),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0xf5af82=[[_0x422083(0x15e),_0x2199d2[_0x422083(0x131)],_0x28fe91['parentId']],[_0x422083(0x13e),_0x2199d2[_0x422083(0x13e)],_0x28fe91[_0x422083(0x13e)]],[_0x422083(0xf2),_0x2199d2[_0x422083(0xf2)],_0x28fe91['label']],[_0x422083(0x118),_0x2199d2[_0x422083(0x109)],_0x28fe91['url']],[_0x422083(0x156),_0x2199d2[_0x422083(0xff)],_0x28fe91[_0x422083(0xff)]],[_0x422083(0x11e),_0x2199d2[_0x422083(0x11e)],_0x28fe91['sort']]];for(const [_0xa1dd7c,_0x72e3ae,_0x3ba7eb]of _0xf5af82){if(_0x72e3ae!==_0x3ba7eb)throw menuError(_0x422083(0x15a),'Created\x20menu\x20'+_0x2199d2['id']+_0x422083(0x120)+_0xa1dd7c+'.',_0x422083(0x124));}if(!_0x2199d2[_0x422083(0x116)][_0x422083(0x140)]()||_0x407457!==null&&_0x2199d2[_0x422083(0x116)]!==_0x407457)throw menuError(_0x422083(0x15a),_0x422083(0x142)+_0x2199d2['id']+_0x422083(0xda),'Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x24c1f8,_0x29eff6,_0x39082a,_0x3a6f2e){const _0x2c9eb6=a128_0x2ee566,_0x3d4d75=mutationResult({..._0x24c1f8,'after':_0x39082a,'dryRun':![],'succeeded':[{'id':_0x39082a['id'],'created':!![],'recovered':_0x3a6f2e}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x29eff6[_0x2c9eb6(0xfc)],'targetId':_0x39082a['id'],'recovered':_0x3a6f2e,'path':_0x39082a[_0x2c9eb6(0x116)]}});return{'ok':!![],'message':_0x3a6f2e?_0x2c9eb6(0xfe)+_0x39082a['id']+'\x20after\x20response\x20loss.':_0x2c9eb6(0x143)+_0x39082a['id']+'.','data':{..._0x3d4d75,'recovered':_0x3a6f2e}};}function a128_0x4bb9(_0x470cfd,_0x23927f){_0x470cfd=_0x470cfd-0xcb;const _0x396d8a=a128_0x396d();let _0x4bb97b=_0x396d8a[_0x470cfd];return _0x4bb97b;}function externalLinkCreateFailure(_0x1e24ae,_0x3271e1,_0x43a592){const _0x5532a6=a128_0x2ee566;return menuFailure(safeMenuAddError(_0x1e24ae),redactFailurePlan(_0x3271e1),{..._0x43a592,'succeeded':_0x43a592[_0x5532a6(0x14b)]?.[_0x5532a6(0x136)](redactFailureRecord),'failed':_0x43a592['failed']?redactFailureRecord(_0x43a592[_0x5532a6(0xe6)]):undefined,'verification':_0x43a592[_0x5532a6(0x11d)]?redactFailureRecord(_0x43a592[_0x5532a6(0x11d)]):undefined,'after':_0x43a592[_0x5532a6(0x12b)]===undefined?undefined:redactFailureValue(_0x43a592[_0x5532a6(0x12b)])});}function redactFailurePlan(_0x591fef){const _0x4b5bc8=a128_0x2ee566;return{..._0x591fef,'selector':redactFailureRecord(_0x591fef[_0x4b5bc8(0x105)]),'before':redactFailureValue(_0x591fef[_0x4b5bc8(0x15b)]),'after':redactFailureValue(_0x591fef[_0x4b5bc8(0x12b)]),'plannedActions':_0x591fef[_0x4b5bc8(0x14a)]?.[_0x4b5bc8(0x136)](_0x3bba85=>({..._0x3bba85,'body':redactFailureRecord(_0x3bba85[_0x4b5bc8(0xd8)])})),'succeeded':_0x591fef['succeeded'][_0x4b5bc8(0x136)](redactFailureRecord),'failed':_0x591fef['failed'][_0x4b5bc8(0x136)](redactFailureRecord),'verification':_0x591fef[_0x4b5bc8(0x11d)]?redactFailureRecord(_0x591fef['verification']):undefined};}function redactFailureRecord(_0x294af9){return redactFailureValue(_0x294af9);}function redactFailureValue(_0x3c632a,_0x52b747=''){const _0x1d86c8=a128_0x2ee566,_0x530647=_0x52b747['toLowerCase']()[_0x1d86c8(0xe2)](/[^a-z0-9]/g,'');if([_0x1d86c8(0x12e),_0x1d86c8(0xd7),_0x1d86c8(0xcb),'rawerror'][_0x1d86c8(0x14e)](_0x530647))return _0x1d86c8(0xf5);if(Array['isArray'](_0x3c632a))return _0x3c632a['map'](_0x59454e=>redactFailureValue(_0x59454e));if(_0x3c632a&&typeof _0x3c632a===_0x1d86c8(0x10f))return Object[_0x1d86c8(0x11c)](Object[_0x1d86c8(0x10a)](_0x3c632a)[_0x1d86c8(0x136)](([_0x718674,_0x12526b])=>[_0x718674,redactFailureValue(_0x12526b,_0x718674)]));return _0x3c632a;}function safeMenuAddError(_0x394632){const _0x5c270e=a128_0x2ee566,_0x350e4f=_0x394632 instanceof CliError?_0x394632[_0x5c270e(0x108)]:_0x5c270e(0x153);switch(_0x350e4f){case _0x5c270e(0xd4):return menuError(_0x350e4f,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.');case'menu_permission_denied':return menuError(_0x350e4f,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x5c270e(0x123));case _0x5c270e(0xd6):return menuError(_0x350e4f,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x5c270e(0x149));case _0x5c270e(0x15a):return menuError(_0x350e4f,_0x5c270e(0xe4),_0x5c270e(0x149));case _0x5c270e(0x107):return menuError(_0x350e4f,_0x5c270e(0x12f),_0x5c270e(0x13b));case'menu_mutation_failed':case _0x5c270e(0x126):case _0x5c270e(0xf1):case _0x5c270e(0x141):case _0x5c270e(0xd1):return menuError(_0x350e4f,_0x5c270e(0x158),_0x5c270e(0x103));default:return menuError(_0x5c270e(0x153),_0x5c270e(0x158),_0x5c270e(0x103));}}function getFailureRecord(_0x1ceed0){const _0x36619b=a128_0x2ee566;if(!(_0x1ceed0 instanceof Error)||!(_0x36619b(0xd9)in _0x1ceed0))return undefined;const _0x243eb5=_0x1ceed0[_0x36619b(0xd9)];if(!_0x243eb5||typeof _0x243eb5!=='object')return undefined;const _0x312824=_0x243eb5['failed'];if(!Array[_0x36619b(0xf0)](_0x312824)||!_0x312824[0x0]||typeof _0x312824[0x0]!==_0x36619b(0x10f))return undefined;return _0x312824[0x0];}
|
|
1
|
+
function a128_0x5906(_0x14ff81,_0x34e3ed){_0x14ff81=_0x14ff81-0x91;const _0x2c9740=a128_0x2c97();let _0x5906b9=_0x2c9740[_0x14ff81];return _0x5906b9;}const a128_0x230a13=a128_0x5906;(function(_0x350d71,_0x31e377){const _0xaaf9d1=a128_0x5906,_0x28dbb2=_0x350d71();while(!![]){try{const _0x1ef3b1=-parseInt(_0xaaf9d1(0x93))/0x1*(parseInt(_0xaaf9d1(0xfe))/0x2)+-parseInt(_0xaaf9d1(0x114))/0x3*(-parseInt(_0xaaf9d1(0xda))/0x4)+parseInt(_0xaaf9d1(0x110))/0x5*(parseInt(_0xaaf9d1(0xa6))/0x6)+parseInt(_0xaaf9d1(0xbd))/0x7*(-parseInt(_0xaaf9d1(0x95))/0x8)+-parseInt(_0xaaf9d1(0xf3))/0x9+parseInt(_0xaaf9d1(0xb1))/0xa+parseInt(_0xaaf9d1(0xf9))/0xb;if(_0x1ef3b1===_0x31e377)break;else _0x28dbb2['push'](_0x28dbb2['shift']());}catch(_0x4061ab){_0x28dbb2['push'](_0x28dbb2['shift']());}}}(a128_0x2c97,0xcf3fc));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':a128_0x230a13(0x116),'new-window':a128_0x230a13(0xff)};export function validateExternalMenuUrl(_0x495ee3){const _0x1d4a02=a128_0x230a13,_0x1d5a70=_0x495ee3[_0x1d4a02(0xe0)]();let _0x4942ba;try{_0x4942ba=new URL(_0x1d5a70);}catch{throw menuError(_0x1d4a02(0xca),_0x1d4a02(0xde),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x4942ba[_0x1d4a02(0xed)]!=='https:')throw menuError('menu_url_https_required',_0x1d4a02(0xd8),_0x1d4a02(0xb8));if(_0x4942ba[_0x1d4a02(0x121)]||_0x4942ba[_0x1d4a02(0xdd)])throw menuError(_0x1d4a02(0xe8),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x1d4a02(0x9b));return _0x1d5a70;}export const menuExternalLinkCreate={'service':a128_0x230a13(0xea),'command':a128_0x230a13(0xce),'description':a128_0x230a13(0xbc),'risk':a128_0x230a13(0x108),'structuredErrors':!![],'flags':[{'name':a128_0x230a13(0xe9),'type':a128_0x230a13(0x10f),'required':!![],'description':a128_0x230a13(0x9a)},{'name':a128_0x230a13(0x11e),'type':'string','required':!![],'enum':[a128_0x230a13(0x109),a128_0x230a13(0x102)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a128_0x230a13(0xa1),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a128_0x230a13(0xf8),'type':a128_0x230a13(0xbe),'default':!![],'description':'Whether\x20the\x20menu\x20is\x20visible'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x131c01){validateAddInput(_0x131c01);},async 'dryRun'(_0x2a3384){const _0x54febd=a128_0x230a13;validateAddInput(_0x2a3384);const {plan:_0x529fcc}=await buildSafeAddPlan(_0x2a3384,!![]),_0x1879f4=_0x529fcc[_0x54febd(0x11b)],_0x50ff37=createBody(_0x1879f4);return menuDryRunResult(_0x529fcc,{'method':'POST','url':_0x54febd(0xd4),'body':_0x50ff37,'description':_0x54febd(0x99)+JSON[_0x54febd(0xc4)](_0x1879f4[_0x54febd(0xe9)])+_0x54febd(0xc2)+_0x2a3384[_0x54febd(0x115)](_0x54febd(0x11e))+_0x54febd(0xd7)});},async 'execute'(_0x2b4e0a){const _0x29125e=a128_0x230a13;validateAddInput(_0x2b4e0a);const _0x4fa175=await buildSafeAddPlan(_0x2b4e0a,![]),{plan:_0x2ea6a6,snapshot:_0x471977}=_0x4fa175,_0x1312ae=_0x2ea6a6[_0x29125e(0x11b)],_0x270d7a=buildMenuLookupCommand(_0x2b4e0a[_0x29125e(0xfc)]);await recheckAddSnapshot(_0x2b4e0a,_0x2ea6a6);let _0x1f5932;try{_0x1f5932=await createMenuEntity(_0x2b4e0a[_0x29125e(0xfc)],_0x2b4e0a[_0x29125e(0x9e)],createBody(_0x1312ae));}catch(_0x150994){const _0xeff3c1=mapMenuApiError(_0x150994,_0x29125e(0xd2));if(!isMenuResponseLoss(_0x150994)||_0xeff3c1[_0x29125e(0x10a)]==='menu_permission_denied')throw externalLinkCreateFailure(_0xeff3c1,_0x2ea6a6,{'stage':_0x29125e(0xbf),'failed':{},'verification':{'status':_0x29125e(0xac),'lookupCommand':_0x270d7a}});return recoverAfterResponseLoss(_0x2b4e0a,_0x4fa175,_0x270d7a);}const _0x616c51=Number(_0x1f5932?.['id']),_0x139b87=typeof _0x1f5932?.[_0x29125e(0xe7)]===_0x29125e(0x10f)?_0x1f5932[_0x29125e(0xe7)]:'';if(!Number[_0x29125e(0xfb)](_0x616c51)||_0x616c51<=0x0||!_0x139b87[_0x29125e(0xe0)]()){const _0x4088be=menuError('menu_create_response_invalid',_0x29125e(0xb7),'Run\x20'+_0x270d7a+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x4088be,_0x2ea6a6,{'stage':_0x29125e(0xaa),'succeeded':Number[_0x29125e(0xfb)](_0x616c51)&&_0x616c51>0x0?[{'id':_0x616c51,'created':!![]}]:[],'failed':{'createdId':Number[_0x29125e(0xfb)](_0x616c51)?_0x616c51:null,'generatedPathConfirmed':Boolean(_0x139b87[_0x29125e(0xe0)]())},'warnings':[_0x29125e(0xa7)],'after':Number['isSafeInteger'](_0x616c51)&&_0x616c51>0x0?{..._0x1312ae,'id':_0x616c51,'path':_0x139b87}:_0x1312ae,'verification':{'status':_0x29125e(0xac),'lookupCommand':_0x270d7a,...Number[_0x29125e(0xfb)](_0x616c51)&&_0x616c51>0x0?{'targetId':_0x616c51}:{}}});}const _0x13ef4d=await readAndVerifyCreatedMenu({'appCode':_0x2b4e0a[_0x29125e(0xfc)],'cookie':_0x2b4e0a[_0x29125e(0x9e)],'plan':_0x2ea6a6,'afterPlan':_0x1312ae,'createdId':_0x616c51,'expectedPath':_0x139b87,'lookupCommand':_0x270d7a,'recovered':![]});return creationSuccess(_0x2ea6a6,_0x13ef4d[_0x29125e(0xe2)],_0x13ef4d['fact'],![]);}};function validateAddInput(_0x2160e4){const _0x2559ee=a128_0x230a13;if(!_0x2160e4[_0x2559ee(0x115)](_0x2559ee(0xe9))[_0x2559ee(0xe0)]())throw CliErrors[_0x2559ee(0xc3)](_0x2559ee(0xe9));resolveExternalMenuType(_0x2160e4),validateExternalMenuUrl(_0x2160e4['str'](_0x2559ee(0xa1))),parseParentId(_0x2160e4,_0x2559ee(0x107)),validateSort(_0x2160e4);}function resolveExternalMenuType(_0x13835e){const _0x251a75=a128_0x230a13,_0x4d99e1=_0x13835e[_0x251a75(0x115)](_0x251a75(0x11e))[_0x251a75(0xe0)]();if(!_0x4d99e1)throw CliErrors[_0x251a75(0xc3)]('open-mode');const _0x2f6bc9=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4d99e1];if(!_0x2f6bc9)throw menuError(_0x251a75(0x10d),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x251a75(0x104));return _0x2f6bc9;}async function buildAddPlan(_0x126a3b,_0x160964){const _0x21ad9d=a128_0x230a13,_0x50f2f5=await fetchMutationSnapshot(_0x126a3b,_0x21ad9d(0xd2)),_0x57e4b6=parseParentId(_0x126a3b,_0x21ad9d(0x107))??null;if(_0x57e4b6!=null)requireFolder(_0x50f2f5,_0x57e4b6);const _0x1cfe13=validateSort(_0x126a3b),_0x57c19d=_0x1cfe13??nextSiblingSort(_0x50f2f5,_0x57e4b6,_0x21ad9d(0xea)),_0x9d919f=_0x126a3b[_0x21ad9d(0x115)](_0x21ad9d(0xe9))[_0x21ad9d(0xe0)](),_0x282586=resolveExternalMenuType(_0x126a3b),_0x4a0457=validateExternalMenuUrl(_0x126a3b[_0x21ad9d(0x115)]('url')),_0x12e42f=Object[_0x21ad9d(0xf7)][_0x21ad9d(0xec)][_0x21ad9d(0x105)](_0x126a3b['rawFlags'],'visible')?_0x126a3b['bool'](_0x21ad9d(0xf8)):!![],_0x3a05c2={'id':null,'parentId':_0x57e4b6,'label':_0x9d919f,'path':_0x21ad9d(0x118),'url':_0x4a0457,'type':_0x282586,'visible':_0x12e42f,'sort':_0x57c19d},_0x2f92a8=buildMenuLookupCommand(_0x126a3b[_0x21ad9d(0xfc)]),_0x59c73c=mutationResult({'operation':_0x21ad9d(0xab),'selector':{'parentId':_0x57e4b6,'type':_0x282586,'label':_0x9d919f,'url':_0x4a0457},'before':null,'after':_0x3a05c2,'dryRun':_0x160964,'backend':[{'method':_0x21ad9d(0xdc),'path':_0x21ad9d(0xd4)}],'plannedActions':[{'stage':_0x21ad9d(0xcf),'method':_0x21ad9d(0xdc),'path':_0x21ad9d(0xd4),'body':createBody(_0x3a05c2)}],'snapshotHash':_0x50f2f5['hash'],'warnings':[_0x21ad9d(0xf5)],'verification':{'lookupCommand':_0x2f92a8}});return{'plan':_0x59c73c,'snapshot':_0x50f2f5};}async function buildSafeAddPlan(_0x2a10d0,_0x54b6e7){try{return await buildAddPlan(_0x2a10d0,_0x54b6e7);}catch(_0x21bfc7){throw safeMenuAddError(_0x21bfc7);}}async function recheckAddSnapshot(_0x109c6f,_0x152dd7){const _0x4805ab=a128_0x230a13;try{await recheckMutationSnapshot(_0x109c6f,_0x152dd7,'create\x20external\x20menu');}catch(_0x5a969c){const _0x294a32=getFailureRecord(_0x5a969c);throw externalLinkCreateFailure(_0x5a969c,_0x152dd7,{'stage':_0x4805ab(0xad),'failed':{..._0x294a32?.[_0x4805ab(0x10b)]?{'expectedSnapshotHash':_0x294a32[_0x4805ab(0x10b)]}:{},..._0x294a32?.[_0x4805ab(0xb6)]?{'currentSnapshotHash':_0x294a32[_0x4805ab(0xb6)]}:{}}});}}function createBody(_0x4d0c90){const _0x3fdff5=a128_0x230a13;return{'parentId':toApiParentId(_0x4d0c90['parentId']),'label':String(_0x4d0c90[_0x3fdff5(0xe9)]),'type':String(_0x4d0c90['type']),'url':String(_0x4d0c90[_0x3fdff5(0xa1)]),'visible':Boolean(_0x4d0c90[_0x3fdff5(0xf8)]),'sort':Number(_0x4d0c90[_0x3fdff5(0xb0)]),'extend':{}};}function buildMenuLookupCommand(_0x2f7368){const _0x29bcca=a128_0x230a13,_0xfd973e='\x27'+_0x2f7368[_0x29bcca(0xc8)](/'/g,_0x29bcca(0xa9))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0xfd973e+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x3cee1f,_0x4a0572,_0x51c478){const _0x273877=a128_0x230a13,{plan:_0x32e33a,snapshot:_0x115c85}=_0x4a0572,_0x19b405=_0x32e33a[_0x273877(0x11b)];let _0x5ef429;try{_0x5ef429=await fetchMenuSnapshot(_0x3cee1f[_0x273877(0xfc)],_0x3cee1f['cookie']);}catch(_0x21bf80){throw recoveryRequiredFailure(_0x32e33a,_0x51c478,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x346bb5=_0x5ef429[_0x273877(0xe6)]['filter'](_0x5b15ba=>_0x5b15ba[_0x273877(0xd9)]===_0x19b405[_0x273877(0xd9)]&&_0x5b15ba[_0x273877(0x117)]===_0x19b405['type']&&_0x5b15ba[_0x273877(0xe9)]===_0x19b405[_0x273877(0xe9)]&&_0x5b15ba['url']===_0x19b405[_0x273877(0xa1)]),_0x2dc93e=_0x346bb5[_0x273877(0xc9)](_0x355c15=>!_0x115c85[_0x273877(0x11c)]['has'](_0x355c15['id'])),_0x2b5147=_0x346bb5[_0x273877(0xc9)](_0x5eb35e=>_0x115c85['byId'][_0x273877(0xae)](_0x5eb35e['id']));if(_0x346bb5[_0x273877(0x94)]!==0x1||_0x2dc93e['length']!==0x1)throw recoveryRequiredFailure(_0x32e33a,_0x51c478,{'matchCount':_0x346bb5[_0x273877(0x94)],'newMatchCount':_0x2dc93e[_0x273877(0x94)],'preexistingMatchCount':_0x2b5147['length']});const _0x1d1576=_0x2dc93e[0x0];try{verifyCreatedFact(_0x1d1576,_0x1d1576['id'],_0x19b405,null);}catch(_0x1cb007){const _0x502a13=_0x1cb007 instanceof Error&&'code'in _0x1cb007?_0x1cb007:menuError(_0x273877(0xee),_0x273877(0xef)+_0x1d1576['id']+'\x20could\x20not\x20be\x20verified.',_0x273877(0xa3)+_0x51c478+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x502a13,_0x32e33a,{'stage':'verification','succeeded':[{'id':_0x1d1576['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x1d1576['id'],'finalFactsConfirmed':![]},'after':_0x1d1576,'warnings':[_0x273877(0x92)+_0x1d1576['id']+_0x273877(0xb3)],'verification':{'status':_0x273877(0xac),'targetId':_0x1d1576['id'],'recovered':!![],'lookupCommand':_0x51c478}});}return creationSuccess(_0x32e33a,_0x5ef429,_0x1d1576,!![]);}function recoveryRequiredFailure(_0x551118,_0x17f238,_0x671e78){const _0x3879f3=a128_0x230a13,_0x5052cf=menuError(_0x3879f3(0x97),_0x3879f3(0x106),_0x3879f3(0xa3)+_0x17f238+_0x3879f3(0xa2));return externalLinkCreateFailure(_0x5052cf,_0x551118,{'stage':_0x3879f3(0xf0),'failed':_0x671e78,'warnings':[_0x3879f3(0x11a)],'verification':{'status':_0x3879f3(0xac),..._0x671e78,'lookupCommand':_0x17f238}});}async function readAndVerifyCreatedMenu(_0x13392f){const _0x5c8b9c=a128_0x230a13;let _0x20a0a9;try{_0x20a0a9=await fetchMenuSnapshot(_0x13392f['appCode'],_0x13392f['cookie']);}catch(_0x3d78c6){const _0x358d4b=menuError('menu_verification_failed',_0x5c8b9c(0x92)+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x101),'Run\x20'+_0x13392f[_0x5c8b9c(0xeb)]+_0x5c8b9c(0xcb));throw externalLinkCreateFailure(_0x358d4b,_0x13392f[_0x5c8b9c(0x11f)],{'stage':'verification','succeeded':[{'id':_0x13392f[_0x5c8b9c(0xd5)],'created':!![]}],'failed':{'id':_0x13392f[_0x5c8b9c(0xd5)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x13392f['afterPlan'],'id':_0x13392f[_0x5c8b9c(0xd5)],'path':_0x13392f[_0x5c8b9c(0x91)]},'warnings':[_0x5c8b9c(0x92)+_0x13392f['createdId']+_0x5c8b9c(0x98)],'verification':{'status':_0x5c8b9c(0xac),'targetId':_0x13392f[_0x5c8b9c(0xd5)],'lookupCommand':_0x13392f[_0x5c8b9c(0xeb)]}});}const _0xde0500=_0x20a0a9[_0x5c8b9c(0x11c)][_0x5c8b9c(0x9f)](_0x13392f['createdId']);try{if(!_0xde0500)throw menuError(_0x5c8b9c(0xee),'Created\x20menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x11d),_0x5c8b9c(0xa3)+_0x13392f[_0x5c8b9c(0xeb)]+_0x5c8b9c(0xcb));verifyCreatedFact(_0xde0500,_0x13392f[_0x5c8b9c(0xd5)],_0x13392f[_0x5c8b9c(0xc0)],_0x13392f[_0x5c8b9c(0x91)]);}catch(_0x19823d){const _0x3f2000=_0x19823d instanceof Error&&'code'in _0x19823d?_0x19823d:menuError(_0x5c8b9c(0xee),'Created\x20menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+_0x5c8b9c(0x9c),_0x5c8b9c(0xa3)+_0x13392f[_0x5c8b9c(0xeb)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3f2000,_0x13392f[_0x5c8b9c(0x11f)],{'stage':_0x5c8b9c(0xb5),'succeeded':[{'id':_0x13392f['createdId'],'created':!![]}],'failed':{'id':_0x13392f[_0x5c8b9c(0xd5)],'finalFactsConfirmed':![]},'after':_0xde0500??{..._0x13392f[_0x5c8b9c(0xc0)],'id':_0x13392f[_0x5c8b9c(0xd5)],'path':_0x13392f['expectedPath']},'warnings':['Menu\x20'+_0x13392f[_0x5c8b9c(0xd5)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x5c8b9c(0xac),'targetId':_0x13392f[_0x5c8b9c(0xd5)],'recovered':_0x13392f[_0x5c8b9c(0xc1)],'lookupCommand':_0x13392f['lookupCommand']}});}return{'snapshot':_0x20a0a9,'fact':_0xde0500};}function verifyCreatedFact(_0x2b277c,_0x1d7789,_0x677cd,_0x54ad46){const _0x13161b=a128_0x230a13;if(!Number[_0x13161b(0xfb)](_0x2b277c['id'])||_0x2b277c['id']<=0x0||_0x2b277c['id']!==_0x1d7789)throw menuError(_0x13161b(0xee),_0x13161b(0xf2),_0x13161b(0xe3));const _0x275af4=[['parent',_0x2b277c[_0x13161b(0xd9)],_0x677cd['parentId']],[_0x13161b(0x117),_0x2b277c[_0x13161b(0x117)],_0x677cd[_0x13161b(0x117)]],['label',_0x2b277c['label'],_0x677cd[_0x13161b(0xe9)]],['URL',_0x2b277c[_0x13161b(0xa1)],_0x677cd[_0x13161b(0xa1)]],['visibility',_0x2b277c[_0x13161b(0xf8)],_0x677cd[_0x13161b(0xf8)]],[_0x13161b(0xb0),_0x2b277c['sort'],_0x677cd[_0x13161b(0xb0)]]];for(const [_0x59f155,_0x122f12,_0x1fd2f2]of _0x275af4){if(_0x122f12!==_0x1fd2f2)throw menuError(_0x13161b(0xee),_0x13161b(0xf6)+_0x2b277c['id']+_0x13161b(0x111)+_0x59f155+'.',_0x13161b(0xe5));}if(!_0x2b277c[_0x13161b(0xe7)]['trim']()||_0x54ad46!==null&&_0x2b277c[_0x13161b(0xe7)]!==_0x54ad46)throw menuError(_0x13161b(0xee),_0x13161b(0xf6)+_0x2b277c['id']+_0x13161b(0xa5),_0x13161b(0xe5));}function creationSuccess(_0x46e50d,_0x38c794,_0xc207b2,_0x5373cf){const _0x3bb3a4=a128_0x230a13,_0x8f18ed=mutationResult({..._0x46e50d,'after':_0xc207b2,'dryRun':![],'succeeded':[{'id':_0xc207b2['id'],'created':!![],'recovered':_0x5373cf}],'verification':{'checkedBy':_0x3bb3a4(0xd6),'snapshotHash':_0x38c794[_0x3bb3a4(0x113)],'targetId':_0xc207b2['id'],'recovered':_0x5373cf,'path':_0xc207b2['path']}});return{'ok':!![],'message':_0x5373cf?_0x3bb3a4(0xdf)+_0xc207b2['id']+_0x3bb3a4(0xb4):_0x3bb3a4(0xd0)+_0xc207b2['id']+'.','data':{..._0x8f18ed,'recovered':_0x5373cf}};}function a128_0x2c97(){const _0x5de519=['snapshot','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menus','path','menu_url_credentials_forbidden','label','menu','lookupCommand','hasOwnProperty','protocol','menu_verification_failed','Recovered\x20menu\x20','create-recovery','rawerror','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','763128AGqNEg','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Created\x20menu\x20','prototype','visible','2710422GDKmqp','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','isSafeInteger','appCode','data','16418mafkrt','link','<redacted>','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','new-window','succeeded','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','call','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','parent-id','write','embedded','code','expectedSnapshotHash','readbackerror','menu_open_mode_invalid','before','string','222205xVMMtP','\x20has\x20an\x20unexpected\x20','menu_sort_invalid','hash','3951273tWpEKJ','str','iframe','type','<platform-generated>','object','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','after','byId','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','open-mode','plan','External\x20menu\x20creation\x20failed.','username','expectedPath','Menu\x20','102uOIYwq','length','8fhlWGo','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','menu_create_recovery_required','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Would\x20create\x20external\x20website\x20link\x20menu\x20','Menu\x20label','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x20failed\x20final\x20verification.','selector','cookie','get','includes','url','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Run\x20','menu_parent_not_folder','\x20has\x20an\x20unexpected\x20generated\x20path.','114AZLmjf','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','menu_mutation_failed','\x27\x5c\x27\x27','create-response-validation','add','failed','pre-write-recheck','has','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','sort','2661490OOycNm','isArray','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','\x20after\x20response\x20loss.','verification','currentSnapshotHash','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Provide\x20an\x20HTTPS\x20URL.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','menu_state_drift','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Create\x20an\x20external\x20website\x20link\x20menu','6321133kMfhJi','boolean','create','afterPlan','recovered','\x20with\x20','flagMissing','stringify','menu_not_found','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','menu_create_response_invalid','replace','filter','menu_url_invalid','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','cause','external-link-create','create-menu','Created\x20external\x20menu\x20','body','create\x20external\x20menu','plannedActions','/smartapi/menu/create','createdId','menu\x20list','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','parentId','4wWyhJp','map','POST','password','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Recovered\x20created\x20external\x20menu\x20','trim','menu_sort_overflow'];a128_0x2c97=function(){return _0x5de519;};return a128_0x2c97();}function externalLinkCreateFailure(_0x15d5f8,_0x3c6b2f,_0x6be49f){const _0x135814=a128_0x230a13;return menuFailure(safeMenuAddError(_0x15d5f8),redactFailurePlan(_0x3c6b2f),{..._0x6be49f,'succeeded':_0x6be49f[_0x135814(0x103)]?.['map'](redactFailureRecord),'failed':_0x6be49f[_0x135814(0xac)]?redactFailureRecord(_0x6be49f[_0x135814(0xac)]):undefined,'verification':_0x6be49f[_0x135814(0xb5)]?redactFailureRecord(_0x6be49f['verification']):undefined,'after':_0x6be49f[_0x135814(0x11b)]===undefined?undefined:redactFailureValue(_0x6be49f[_0x135814(0x11b)])});}function redactFailurePlan(_0x978601){const _0x1eeb13=a128_0x230a13;return{..._0x978601,'selector':redactFailureRecord(_0x978601[_0x1eeb13(0x9d)]),'before':redactFailureValue(_0x978601[_0x1eeb13(0x10e)]),'after':redactFailureValue(_0x978601['after']),'plannedActions':_0x978601[_0x1eeb13(0xd3)]?.[_0x1eeb13(0xdb)](_0x4609bd=>({..._0x4609bd,'body':redactFailureRecord(_0x4609bd[_0x1eeb13(0xd1)])})),'succeeded':_0x978601['succeeded'][_0x1eeb13(0xdb)](redactFailureRecord),'failed':_0x978601[_0x1eeb13(0xac)][_0x1eeb13(0xdb)](redactFailureRecord),'verification':_0x978601[_0x1eeb13(0xb5)]?redactFailureRecord(_0x978601[_0x1eeb13(0xb5)]):undefined};}function redactFailureRecord(_0x2d8219){return redactFailureValue(_0x2d8219);}function redactFailureValue(_0x212406,_0x5c1439=''){const _0xa11a1e=a128_0x230a13,_0xa2bf73=_0x5c1439['toLowerCase']()[_0xa11a1e(0xc8)](/[^a-z0-9]/g,'');if([_0xa11a1e(0xcd),'causemessage',_0xa11a1e(0x10c),_0xa11a1e(0xf1)][_0xa11a1e(0xa0)](_0xa2bf73))return _0xa11a1e(0x100);if(Array[_0xa11a1e(0xb2)](_0x212406))return _0x212406['map'](_0x44b141=>redactFailureValue(_0x44b141));if(_0x212406&&typeof _0x212406===_0xa11a1e(0x119))return Object['fromEntries'](Object['entries'](_0x212406)[_0xa11a1e(0xdb)](([_0x2fef97,_0x29116f])=>[_0x2fef97,redactFailureValue(_0x29116f,_0x2fef97)]));return _0x212406;}function safeMenuAddError(_0x13482b){const _0xf3c79b=a128_0x230a13,_0x14fb31=_0x13482b instanceof CliError?_0x13482b[_0xf3c79b(0x10a)]:_0xf3c79b(0xa8);switch(_0x14fb31){case _0xf3c79b(0xba):return menuError(_0x14fb31,_0xf3c79b(0xaf),_0xf3c79b(0xc6));case'menu_permission_denied':return menuError(_0x14fb31,_0xf3c79b(0xe4),_0xf3c79b(0xfa));case _0xf3c79b(0xc7):return menuError(_0x14fb31,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x14fb31,_0xf3c79b(0x96),_0xf3c79b(0xb9));case _0xf3c79b(0x97):return menuError(_0x14fb31,_0xf3c79b(0xf4),_0xf3c79b(0xcc));case _0xf3c79b(0xa8):case _0xf3c79b(0xc5):case _0xf3c79b(0xa4):case _0xf3c79b(0x112):case _0xf3c79b(0xe1):return menuError(_0x14fb31,_0xf3c79b(0x120),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0xf3c79b(0xa8),_0xf3c79b(0x120),_0xf3c79b(0xbb));}}function getFailureRecord(_0x5c1d03){const _0x275e5b=a128_0x230a13;if(!(_0x5c1d03 instanceof Error)||!(_0x275e5b(0xfd)in _0x5c1d03))return undefined;const _0x8b1655=_0x5c1d03[_0x275e5b(0xfd)];if(!_0x8b1655||typeof _0x8b1655!==_0x275e5b(0x119))return undefined;const _0x2ac09d=_0x8b1655[_0x275e5b(0xac)];if(!Array['isArray'](_0x2ac09d)||!_0x2ac09d[0x0]||typeof _0x2ac09d[0x0]!==_0x275e5b(0x119))return undefined;return _0x2ac09d[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a129_0x4d1ec6=a129_0x4afc;(function(_0x3c6998,_0x239cf0){const _0x3a3b50=a129_0x4afc,_0x55d998=_0x3c6998();while(!![]){try{const _0x5012ea=-parseInt(_0x3a3b50(0x1a2))/0x1+-parseInt(_0x3a3b50(0x1a5))/0x2+parseInt(_0x3a3b50(0x1a1))/0x3*(parseInt(_0x3a3b50(0x164))/0x4)+parseInt(_0x3a3b50(0x16b))/0x5*(parseInt(_0x3a3b50(0x1a3))/0x6)+-parseInt(_0x3a3b50(0x193))/0x7+parseInt(_0x3a3b50(0x198))/0x8*(parseInt(_0x3a3b50(0x170))/0x9)+-parseInt(_0x3a3b50(0x17e))/0xa*(parseInt(_0x3a3b50(0x177))/0xb);if(_0x5012ea===_0x239cf0)break;else _0x55d998['push'](_0x55d998['shift']());}catch(_0x193e2c){_0x55d998['push'](_0x55d998['shift']());}}}(a129_0xe673,0xcb830));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a129_0x4d1ec6(0x1a6),'path':a129_0x4d1ec6(0x186)}];export const menuExternalLinkUpdate={'service':a129_0x4d1ec6(0x183),'command':a129_0x4d1ec6(0x187),'description':a129_0x4d1ec6(0x167),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a129_0x4d1ec6(0x192),'type':a129_0x4d1ec6(0x161),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a129_0x4d1ec6(0x174),'type':'string','required':!![],'description':a129_0x4d1ec6(0x199)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x40e414){validateInput(_0x40e414);},async 'dryRun'(_0x5b78e8){const _0x3664d2=a129_0x4d1ec6;validateInput(_0x5b78e8);const _0xf9c1c2=await buildPlan(_0x5b78e8,!![]);return menuDryRunResult(_0xf9c1c2[_0x3664d2(0x166)],{'method':_0x3664d2(0x1a6),'url':_0x3664d2(0x186),'body':_0xf9c1c2[_0x3664d2(0x16f)],'description':_0x3664d2(0x1a0)+_0xf9c1c2[_0x3664d2(0x16f)]['id']+'.'});},async 'execute'(_0x482a76){const _0x43b6c5=a129_0x4d1ec6;validateInput(_0x482a76);const _0x475266=await buildPlan(_0x482a76,![]),{plan:_0x4b9e6b,body:_0x389e92,before:_0x8ab9b1,noChanges:_0x5ee7f5}=_0x475266,_0x4f3525=_0x389e92['id'];if(_0x5ee7f5)return updateSuccess(_0x4b9e6b,_0x475266['snapshot'],_0x8ab9b1,!![],![]);await recheckMutationSnapshot(_0x482a76,_0x4b9e6b,'update\x20external\x20menu\x20URL',_0x4f3525);try{await updateMenuEntity(_0x482a76[_0x43b6c5(0x173)],_0x482a76[_0x43b6c5(0x196)],{'id':_0x389e92['id'],'url':_0x389e92[_0x43b6c5(0x192)]});}catch(_0x2ff775){const _0x24500f=mapMenuApiError(_0x2ff775,_0x43b6c5(0x18a),_0x4f3525);if(isMenuResponseLoss(_0x2ff775)&&_0x24500f[_0x43b6c5(0x1a4)]!==_0x43b6c5(0x1a8))return recoverAfterResponseLoss(_0x482a76,_0x475266);throw menuFailure(_0x24500f,_0x4b9e6b,{'stage':_0x43b6c5(0x15e),'failed':{'id':_0x4f3525},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x43b6c5(0x17b),'targetId':_0x4f3525,'lookupCommand':buildLookupCommand(_0x482a76[_0x43b6c5(0x173)])}});}let _0x290664,_0x32c051;try{_0x290664=await fetchMenuSnapshot(_0x482a76['appCode'],_0x482a76[_0x43b6c5(0x196)]),_0x32c051=requireMenu(_0x290664,_0x4f3525),verifyUpdatedFact(_0x8ab9b1,_0x32c051,_0x389e92[_0x43b6c5(0x192)]);}catch(_0x229ffd){const _0x127a31=describeMenuErrorCause(_0x229ffd,'verify\x20external\x20menu\x20URL\x20update',_0x4f3525),_0x1bb06f=asVerificationError(_0x229ffd,'Update\x20request\x20for\x20menu\x20'+_0x4f3525+_0x43b6c5(0x17a));throw menuFailure(_0x1bb06f,_0x4b9e6b,{'stage':_0x43b6c5(0x158),'succeeded':[{'id':_0x4f3525,'updateRequested':!![]}],'failed':{'id':_0x4f3525,'requestedStateConfirmed':![],..._0x127a31},'warnings':[_0x43b6c5(0x197)],'verification':{'status':_0x43b6c5(0x17b),'targetId':_0x4f3525,'lookupCommand':buildLookupCommand(_0x482a76[_0x43b6c5(0x173)])}});}return updateSuccess(_0x4b9e6b,_0x290664,_0x32c051,![],![]);}};function validateInput(_0x18d25b){const _0x465cc2=a129_0x4d1ec6;validateExactId(_0x18d25b),requiredUrl(_0x18d25b,_0x465cc2(0x192)),requiredExpectedUrl(_0x18d25b),parseParentId(_0x18d25b,'expect-parent-id',{'required':!![]});}function requiredUrl(_0x52801a,_0xf517d4){const _0x7a4277=a129_0x4d1ec6;if(!hasFlag(_0x52801a,_0xf517d4)||!_0x52801a[_0x7a4277(0x16d)](_0xf517d4)['trim']())throw CliErrors['flagMissing'](_0xf517d4);return validateExternalMenuUrl(_0x52801a['str'](_0xf517d4));}function requiredExpectedUrl(_0x178b0e){const _0xcf3845=a129_0x4d1ec6;if(!hasFlag(_0x178b0e,'expect-url')||!_0x178b0e['str'](_0xcf3845(0x174))[_0xcf3845(0x182)]())throw CliErrors[_0xcf3845(0x189)](_0xcf3845(0x174));return _0x178b0e['str'](_0xcf3845(0x174))[_0xcf3845(0x182)]();}async function buildPlan(_0x41a224,_0x3327d6){const _0x562028=a129_0x4d1ec6,_0xa18500=validateExactId(_0x41a224),_0x203110=requiredUrl(_0x41a224,_0x562028(0x192)),_0x8ca6b1=requiredExpectedUrl(_0x41a224),_0x128716=parseParentId(_0x41a224,_0x562028(0x1aa),{'required':!![]}),_0x5a22b4=await fetchMutationSnapshot(_0x41a224,_0x562028(0x18a),_0xa18500),_0x1637a0=requireMenu(_0x5a22b4,_0xa18500);assertExternalLinkLeaf(_0x1637a0);if(_0x1637a0[_0x562028(0x178)]!==_0x128716)throw menuError('menu_state_drift',_0x562028(0x19c)+_0xa18500+_0x562028(0x195)+formatParent(_0x128716)+_0x562028(0x169)+formatParent(_0x1637a0['parentId'])+'.',_0x562028(0x19e));const _0x234958=_0x1637a0[_0x562028(0x192)]===_0x203110;if(!_0x234958&&_0x1637a0[_0x562028(0x192)]!==_0x8ca6b1)throw menuError(_0x562028(0x172),_0x562028(0x19c)+_0xa18500+_0x562028(0x19d),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x1c190b={'id':_0xa18500,'appCode':_0x41a224[_0x562028(0x173)],'url':_0x203110},_0xced344={..._0x1637a0,'url':_0x203110};return{'body':_0x1c190b,'before':_0x1637a0,'noChanges':_0x234958,'snapshot':_0x5a22b4,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0xa18500},'before':_0x1637a0,'after':_0xced344,'dryRun':_0x3327d6,'backend':[...BACKEND],'plannedActions':_0x234958?[]:[{'stage':_0x562028(0x160),'method':_0x562028(0x1a6),'path':_0x562028(0x186),'body':_0x1c190b}],'snapshotHash':_0x5a22b4[_0x562028(0x18f)],'warnings':_0x234958?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x19cf20){const _0x5cda8b=a129_0x4d1ec6;if(_0x19cf20[_0x5cda8b(0x18c)]!==_0x5cda8b(0x184)&&_0x19cf20['type']!=='link')throw menuError(_0x5cda8b(0x188),_0x5cda8b(0x19c)+_0x19cf20['id']+_0x5cda8b(0x19a)+(_0x19cf20[_0x5cda8b(0x18c)]||'unknown')+_0x5cda8b(0x16c),_0x5cda8b(0x15f));if(_0x19cf20['childrenCount']!==0x0)throw menuError(_0x5cda8b(0x15b),_0x5cda8b(0x19c)+_0x19cf20['id']+_0x5cda8b(0x175)+_0x19cf20[_0x5cda8b(0x194)]+'\x20direct\x20child\x20menu(s).',_0x5cda8b(0x15c));if(!_0x19cf20[_0x5cda8b(0x18b)][_0x5cda8b(0x182)]())throw menuError(_0x5cda8b(0x163),'Menu\x20'+_0x19cf20['id']+_0x5cda8b(0x1a7),_0x5cda8b(0x16e));}function verifyUpdatedFact(_0x3b1aa3,_0x221577,_0x57c065){const _0x9e462a=a129_0x4d1ec6;assertExternalLinkLeaf(_0x221577);const _0x2368fb=[['id',_0x221577['id'],_0x3b1aa3['id']],['label',_0x221577['label'],_0x3b1aa3[_0x9e462a(0x191)]],['type',_0x221577[_0x9e462a(0x18c)],_0x3b1aa3[_0x9e462a(0x18c)]],['path',_0x221577[_0x9e462a(0x18b)],_0x3b1aa3[_0x9e462a(0x18b)]],['parentId',_0x221577['parentId'],_0x3b1aa3[_0x9e462a(0x178)]],[_0x9e462a(0x179),_0x221577['sort'],_0x3b1aa3[_0x9e462a(0x179)]],[_0x9e462a(0x159),_0x221577[_0x9e462a(0x159)],_0x3b1aa3[_0x9e462a(0x159)]]];for(const [_0x13545e,_0x31a146,_0x34100e]of _0x2368fb){assertVerified(_0x31a146===_0x34100e,'Menu\x20'+_0x3b1aa3['id']+'\x20'+_0x13545e+_0x9e462a(0x19b));}assertVerified(_0x221577[_0x9e462a(0x192)]===_0x57c065,_0x9e462a(0x19c)+_0x3b1aa3['id']+_0x9e462a(0x1ab));}function updateSuccess(_0x253fbd,_0x1b2df8,_0x956fa2,_0x2399f3,_0x272b05){const _0x585fc8=a129_0x4d1ec6,_0x1c072f=_0x956fa2['id'],_0x5f58cc=mutationResult({..._0x253fbd,'after':_0x956fa2,'dryRun':![],'succeeded':[{'id':_0x1c072f,'updated':!_0x2399f3,'skipped':_0x2399f3,'recovered':_0x272b05}],'verification':{'checkedBy':_0x585fc8(0x18e),'snapshotHash':_0x1b2df8[_0x585fc8(0x18f)],'targetId':_0x1c072f,'matchesRequestedState':!![],'recovered':_0x272b05}});return{'ok':!![],'message':_0x272b05?_0x585fc8(0x15d)+_0x1c072f+'.':_0x2399f3?_0x585fc8(0x19c)+_0x1c072f+_0x585fc8(0x176):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x1c072f+'.','data':{..._0x5f58cc,'recovered':_0x272b05}};}function a129_0x4afc(_0x2452cb,_0x4d7826){_0x2452cb=_0x2452cb-0x158;const _0xe67384=a129_0xe673();let _0x4afc93=_0xe67384[_0x2452cb];return _0x4afc93;}async function recoverAfterResponseLoss(_0x2911cf,_0x8442f6){const _0x4fcebf=a129_0x4d1ec6,{plan:_0x1f65b4,before:_0x1b4812,body:_0xe9a8ac}=_0x8442f6;let _0x50c831;try{_0x50c831=await fetchMenuSnapshot(_0x2911cf['appCode'],_0x2911cf[_0x4fcebf(0x196)]);}catch{throw recoveryRequired(_0x1f65b4,_0x2911cf[_0x4fcebf(0x173)],{'id':_0xe9a8ac['id'],'readbackFailed':!![]});}const _0x32ca97=_0x50c831[_0x4fcebf(0x16a)][_0x4fcebf(0x171)](_0xe9a8ac['id']);if(!_0x32ca97||_0x32ca97[_0x4fcebf(0x192)]!==_0xe9a8ac[_0x4fcebf(0x192)])throw recoveryRequired(_0x1f65b4,_0x2911cf[_0x4fcebf(0x173)],{'id':_0xe9a8ac['id'],'requestedUrlObserved':![],'after':_0x32ca97??null});try{verifyUpdatedFact(_0x1b4812,_0x32ca97,_0xe9a8ac[_0x4fcebf(0x192)]);}catch(_0x111492){const _0x3c552f=asVerificationError(_0x111492,_0x4fcebf(0x190)+_0xe9a8ac['id']+_0x4fcebf(0x17d));throw menuFailure(_0x3c552f,_0x1f65b4,{'stage':_0x4fcebf(0x185),'succeeded':[{'id':_0xe9a8ac['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xe9a8ac['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x32ca97,'warnings':[_0x4fcebf(0x1a9)],'verification':{'status':_0x4fcebf(0x17b),'targetId':_0xe9a8ac['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x2911cf['appCode'])}});}return updateSuccess(_0x1f65b4,_0x50c831,_0x32ca97,![],!![]);}function a129_0xe673(){const _0x188af7=['418195rjyEWR','\x22,\x20not\x20iframe\x20or\x20link.','str','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','body','6651NZuzCJ','get','menu_state_drift','appCode','expect-url','\x20has\x20','\x20already\x20matches\x20the\x20requested\x20URL.','22SIVqhd','parentId','sort','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','failed','requestedUrlObserved','\x20could\x20not\x20be\x20verified\x20safely','3059360yRRZgd','after','replace','\x20--format\x20compress','trim','menu','iframe','update-recovery','/smartapi/menu/update','external-link-update','menu_external_link_type_required','flagMissing','update\x20external\x20menu\x20URL','path','type','\x27\x5c\x27\x27','menu\x20list','hash','Response\x20was\x20lost\x20and\x20menu\x20','label','url','954198phtSXK','childrenCount','\x20parent\x20changed:\x20expected\x20','cookie','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','14512Kltjae','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20is\x20type\x20\x22','\x20changed\x20during\x20the\x20URL-only\x20update.','Menu\x20','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Run\x20','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','3174ESpLdM','1663064zIAiHw','66HpmowK','code','141134kBbddd','POST','\x20has\x20an\x20empty\x20platform\x20path.','menu_permission_denied','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','expect-parent-id','\x20URL\x20update\x20did\x20not\x20take\x20effect.','verification','visible','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','menu_external_link_not_leaf','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','update-external-link-url','string','rabetbase\x20menu\x20list\x20--appcode\x20','menu_external_link_path_missing','3988qSOKGZ','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','plan','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','readbackFailed',',\x20current\x20','byId'];a129_0xe673=function(){return _0x188af7;};return a129_0xe673();}function recoveryRequired(_0x202e15,_0x226209,_0x1b3b38){const _0x111f90=a129_0x4d1ec6,_0x2b6f71=menuError('menu_update_recovery_required',_0x111f90(0x165),_0x111f90(0x19f)+buildLookupCommand(_0x226209)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x2b6f71,_0x202e15,{'stage':'update-recovery','failed':{'id':_0x1b3b38['id'],..._0x1b3b38[_0x111f90(0x17c)]===undefined?{}:{'requestedUrlObserved':_0x1b3b38[_0x111f90(0x17c)]},..._0x1b3b38[_0x111f90(0x168)]?{'readbackFailed':!![]}:{}},'after':_0x1b3b38[_0x111f90(0x17f)],'warnings':[_0x111f90(0x15a)],'verification':{'status':_0x111f90(0x17b),'targetId':_0x1b3b38['id'],..._0x1b3b38['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x1b3b38[_0x111f90(0x17c)]},..._0x1b3b38[_0x111f90(0x168)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x226209)}});}function buildLookupCommand(_0x329b7b){const _0x210887=a129_0x4d1ec6,_0x5ab352='\x27'+_0x329b7b[_0x210887(0x180)](/'/g,_0x210887(0x18d))+'\x27';return _0x210887(0x162)+_0x5ab352+_0x210887(0x181);}
|
|
1
|
+
const a129_0x12707f=a129_0x366a;(function(_0x3d745c,_0x1bd89e){const _0x47e4fa=a129_0x366a,_0x18c4f7=_0x3d745c();while(!![]){try{const _0x2f1902=-parseInt(_0x47e4fa(0x1b1))/0x1+parseInt(_0x47e4fa(0x1b2))/0x2+-parseInt(_0x47e4fa(0x1d1))/0x3*(parseInt(_0x47e4fa(0x1cf))/0x4)+parseInt(_0x47e4fa(0x1ce))/0x5*(-parseInt(_0x47e4fa(0x1de))/0x6)+parseInt(_0x47e4fa(0x1ba))/0x7*(-parseInt(_0x47e4fa(0x1b7))/0x8)+parseInt(_0x47e4fa(0x1c9))/0x9+parseInt(_0x47e4fa(0x1a7))/0xa*(parseInt(_0x47e4fa(0x1e7))/0xb);if(_0x2f1902===_0x1bd89e)break;else _0x18c4f7['push'](_0x18c4f7['shift']());}catch(_0x11979d){_0x18c4f7['push'](_0x18c4f7['shift']());}}}(a129_0xe7de,0xc4915));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 a129_0xe7de(){const _0x319688=['379734xQIlsF','\x20has\x20an\x20empty\x20platform\x20path.','menu_state_drift','type','flagMissing','56VFUNcc','url','iframe','97958eMjCUE','expect-parent-id','Run\x20','\x20could\x20not\x20be\x20verified\x20safely','update-recovery','readbackFailed','\x27\x5c\x27\x27','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_not_leaf','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','path','menu_external_link_path_missing','rabetbase\x20menu\x20list\x20--appcode\x20','\x20direct\x20child\x20menu(s).',',\x20current\x20','5811039bfPqFk','external-link-update','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','POST','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','230KPkkiu','4qGMvsG','byId','1422561qYFOBV','menu_permission_denied','Menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','unknown','sort','\x20parent\x20changed:\x20expected\x20','visible','/smartapi/menu/update','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20changed\x20during\x20the\x20URL-only\x20update.','\x20--format\x20compress','187806eJRWaK','replace','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','after','str','requestedUrlObserved','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','verify\x20external\x20menu\x20URL\x20update','code','7228573WLMgXU','cookie','link','expect-url','trim','New\x20external\x20HTTPS\x20URL','string','failed','update\x20external\x20menu\x20URL','hash','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','menu','Update\x20request\x20for\x20menu\x20','write','appCode','\x20has\x20','menu_external_link_type_required','snapshot','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','50aYvUhj','label','get','body','parentId','\x20already\x20matches\x20the\x20requested\x20URL.','menu_update_recovery_required','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','childrenCount','1304121EMAtyf'];a129_0xe7de=function(){return _0x319688;};return a129_0xe7de();}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 a129_0x366a(_0x956d16,_0x455177){_0x956d16=_0x956d16-0x1a7;const _0xe7dec2=a129_0xe7de();let _0x366aa3=_0xe7dec2[_0x956d16];return _0x366aa3;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a129_0x12707f(0x1f2),'command':a129_0x12707f(0x1ca),'description':a129_0x12707f(0x1f1),'risk':a129_0x12707f(0x1f4),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a129_0x12707f(0x1b8),'type':a129_0x12707f(0x1ed),'required':!![],'description':a129_0x12707f(0x1ec)},{'name':a129_0x12707f(0x1ea),'type':a129_0x12707f(0x1ed),'required':!![],'description':a129_0x12707f(0x1cd)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2fdf7b){validateInput(_0x2fdf7b);},async 'dryRun'(_0x3d95d9){const _0x476dac=a129_0x12707f;validateInput(_0x3d95d9);const _0x4611d1=await buildPlan(_0x3d95d9,!![]);return menuDryRunResult(_0x4611d1['plan'],{'method':_0x476dac(0x1cc),'url':_0x476dac(0x1da),'body':_0x4611d1[_0x476dac(0x1aa)],'description':_0x476dac(0x1c1)+_0x4611d1[_0x476dac(0x1aa)]['id']+'.'});},async 'execute'(_0xb7171f){const _0x47b2cb=a129_0x12707f;validateInput(_0xb7171f);const _0x310174=await buildPlan(_0xb7171f,![]),{plan:_0x28ec8e,body:_0x5e4dca,before:_0x2efa62,noChanges:_0x43adec}=_0x310174,_0x2850d6=_0x5e4dca['id'];if(_0x43adec)return updateSuccess(_0x28ec8e,_0x310174[_0x47b2cb(0x1f8)],_0x2efa62,!![],![]);await recheckMutationSnapshot(_0xb7171f,_0x28ec8e,_0x47b2cb(0x1ef),_0x2850d6);try{await updateMenuEntity(_0xb7171f[_0x47b2cb(0x1f5)],_0xb7171f[_0x47b2cb(0x1e8)],{'id':_0x5e4dca['id'],'url':_0x5e4dca['url']});}catch(_0x4c9b1d){const _0x23eef3=mapMenuApiError(_0x4c9b1d,_0x47b2cb(0x1ef),_0x2850d6);if(isMenuResponseLoss(_0x4c9b1d)&&_0x23eef3[_0x47b2cb(0x1e6)]!==_0x47b2cb(0x1d2))return recoverAfterResponseLoss(_0xb7171f,_0x310174);throw menuFailure(_0x23eef3,_0x28ec8e,{'stage':'update','failed':{'id':_0x2850d6},'warnings':[_0x47b2cb(0x1e0)],'verification':{'status':_0x47b2cb(0x1ee),'targetId':_0x2850d6,'lookupCommand':buildLookupCommand(_0xb7171f[_0x47b2cb(0x1f5)])}});}let _0x334f2b,_0x28a485;try{_0x334f2b=await fetchMenuSnapshot(_0xb7171f[_0x47b2cb(0x1f5)],_0xb7171f[_0x47b2cb(0x1e8)]),_0x28a485=requireMenu(_0x334f2b,_0x2850d6),verifyUpdatedFact(_0x2efa62,_0x28a485,_0x5e4dca['url']);}catch(_0xa7df3f){const _0x46570e=describeMenuErrorCause(_0xa7df3f,_0x47b2cb(0x1e5),_0x2850d6),_0x28ae3b=asVerificationError(_0xa7df3f,_0x47b2cb(0x1f3)+_0x2850d6+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x28ae3b,_0x28ec8e,{'stage':'verification','succeeded':[{'id':_0x2850d6,'updateRequested':!![]}],'failed':{'id':_0x2850d6,'requestedStateConfirmed':![],..._0x46570e},'warnings':[_0x47b2cb(0x1db)],'verification':{'status':_0x47b2cb(0x1ee),'targetId':_0x2850d6,'lookupCommand':buildLookupCommand(_0xb7171f[_0x47b2cb(0x1f5)])}});}return updateSuccess(_0x28ec8e,_0x334f2b,_0x28a485,![],![]);}};function validateInput(_0x44e280){const _0x393da1=a129_0x12707f;validateExactId(_0x44e280),requiredUrl(_0x44e280,'url'),requiredExpectedUrl(_0x44e280),parseParentId(_0x44e280,_0x393da1(0x1bb),{'required':!![]});}function requiredUrl(_0x263e52,_0x2755c0){const _0x13dbe2=a129_0x12707f;if(!hasFlag(_0x263e52,_0x2755c0)||!_0x263e52[_0x13dbe2(0x1e2)](_0x2755c0)['trim']())throw CliErrors[_0x13dbe2(0x1b6)](_0x2755c0);return validateExternalMenuUrl(_0x263e52[_0x13dbe2(0x1e2)](_0x2755c0));}function requiredExpectedUrl(_0x9fdc55){const _0x384570=a129_0x12707f;if(!hasFlag(_0x9fdc55,_0x384570(0x1ea))||!_0x9fdc55[_0x384570(0x1e2)](_0x384570(0x1ea))['trim']())throw CliErrors[_0x384570(0x1b6)](_0x384570(0x1ea));return _0x9fdc55[_0x384570(0x1e2)](_0x384570(0x1ea))[_0x384570(0x1eb)]();}async function buildPlan(_0x5b316f,_0x3a4be3){const _0xd487d5=a129_0x12707f,_0x28d22f=validateExactId(_0x5b316f),_0xde62ca=requiredUrl(_0x5b316f,_0xd487d5(0x1b8)),_0x2bc04c=requiredExpectedUrl(_0x5b316f),_0x40670e=parseParentId(_0x5b316f,_0xd487d5(0x1bb),{'required':!![]}),_0x419d68=await fetchMutationSnapshot(_0x5b316f,_0xd487d5(0x1ef),_0x28d22f),_0x22704c=requireMenu(_0x419d68,_0x28d22f);assertExternalLinkLeaf(_0x22704c);if(_0x22704c[_0xd487d5(0x1ab)]!==_0x40670e)throw menuError(_0xd487d5(0x1b4),_0xd487d5(0x1d3)+_0x28d22f+_0xd487d5(0x1d8)+formatParent(_0x40670e)+_0xd487d5(0x1c8)+formatParent(_0x22704c[_0xd487d5(0x1ab)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x4e091f=_0x22704c[_0xd487d5(0x1b8)]===_0xde62ca;if(!_0x4e091f&&_0x22704c['url']!==_0x2bc04c)throw menuError(_0xd487d5(0x1b4),_0xd487d5(0x1d3)+_0x28d22f+_0xd487d5(0x1ae),_0xd487d5(0x1af));const _0x115d43={'id':_0x28d22f,'appCode':_0x5b316f[_0xd487d5(0x1f5)],'url':_0xde62ca},_0x30ce90={..._0x22704c,'url':_0xde62ca};return{'body':_0x115d43,'before':_0x22704c,'noChanges':_0x4e091f,'snapshot':_0x419d68,'plan':mutationResult({'operation':_0xd487d5(0x1ca),'selector':{'id':_0x28d22f},'before':_0x22704c,'after':_0x30ce90,'dryRun':_0x3a4be3,'backend':[...BACKEND],'plannedActions':_0x4e091f?[]:[{'stage':'update-external-link-url','method':_0xd487d5(0x1cc),'path':_0xd487d5(0x1da),'body':_0x115d43}],'snapshotHash':_0x419d68[_0xd487d5(0x1f0)],'warnings':_0x4e091f?[_0xd487d5(0x1cb)]:[]})};}function assertExternalLinkLeaf(_0x3455d2){const _0x204092=a129_0x12707f;if(_0x3455d2[_0x204092(0x1b5)]!==_0x204092(0x1b9)&&_0x3455d2[_0x204092(0x1b5)]!==_0x204092(0x1e9))throw menuError(_0x204092(0x1f7),_0x204092(0x1d3)+_0x3455d2['id']+'\x20is\x20type\x20\x22'+(_0x3455d2['type']||_0x204092(0x1d6))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x204092(0x1fa));if(_0x3455d2[_0x204092(0x1b0)]!==0x0)throw menuError(_0x204092(0x1c2),'Menu\x20'+_0x3455d2['id']+_0x204092(0x1f6)+_0x3455d2[_0x204092(0x1b0)]+_0x204092(0x1c7),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x3455d2[_0x204092(0x1c4)][_0x204092(0x1eb)]())throw menuError(_0x204092(0x1c5),_0x204092(0x1d3)+_0x3455d2['id']+_0x204092(0x1b3),_0x204092(0x1d5));}function verifyUpdatedFact(_0x4a11d8,_0xd94be2,_0x21646b){const _0x238ece=a129_0x12707f;assertExternalLinkLeaf(_0xd94be2);const _0x34af8f=[['id',_0xd94be2['id'],_0x4a11d8['id']],[_0x238ece(0x1a8),_0xd94be2['label'],_0x4a11d8[_0x238ece(0x1a8)]],['type',_0xd94be2['type'],_0x4a11d8[_0x238ece(0x1b5)]],[_0x238ece(0x1c4),_0xd94be2['path'],_0x4a11d8['path']],[_0x238ece(0x1ab),_0xd94be2[_0x238ece(0x1ab)],_0x4a11d8[_0x238ece(0x1ab)]],[_0x238ece(0x1d7),_0xd94be2['sort'],_0x4a11d8[_0x238ece(0x1d7)]],['visible',_0xd94be2['visible'],_0x4a11d8[_0x238ece(0x1d9)]]];for(const [_0x1efe83,_0x4f77d3,_0x42461a]of _0x34af8f){assertVerified(_0x4f77d3===_0x42461a,'Menu\x20'+_0x4a11d8['id']+'\x20'+_0x1efe83+_0x238ece(0x1dc));}assertVerified(_0xd94be2[_0x238ece(0x1b8)]===_0x21646b,_0x238ece(0x1d3)+_0x4a11d8['id']+_0x238ece(0x1d4));}function updateSuccess(_0x18a28a,_0x409276,_0x49aac1,_0x2f3131,_0x502a78){const _0x305f31=a129_0x12707f,_0x371929=_0x49aac1['id'],_0x1be6e3=mutationResult({..._0x18a28a,'after':_0x49aac1,'dryRun':![],'succeeded':[{'id':_0x371929,'updated':!_0x2f3131,'skipped':_0x2f3131,'recovered':_0x502a78}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x409276[_0x305f31(0x1f0)],'targetId':_0x371929,'matchesRequestedState':!![],'recovered':_0x502a78}});return{'ok':!![],'message':_0x502a78?_0x305f31(0x1f9)+_0x371929+'.':_0x2f3131?_0x305f31(0x1d3)+_0x371929+_0x305f31(0x1ac):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x371929+'.','data':{..._0x1be6e3,'recovered':_0x502a78}};}async function recoverAfterResponseLoss(_0x56f41d,_0x1026a9){const _0x6772b7=a129_0x12707f,{plan:_0x261f18,before:_0x100371,body:_0x259a7a}=_0x1026a9;let _0x360a9e;try{_0x360a9e=await fetchMenuSnapshot(_0x56f41d[_0x6772b7(0x1f5)],_0x56f41d[_0x6772b7(0x1e8)]);}catch{throw recoveryRequired(_0x261f18,_0x56f41d[_0x6772b7(0x1f5)],{'id':_0x259a7a['id'],'readbackFailed':!![]});}const _0x23c5ce=_0x360a9e[_0x6772b7(0x1d0)][_0x6772b7(0x1a9)](_0x259a7a['id']);if(!_0x23c5ce||_0x23c5ce['url']!==_0x259a7a[_0x6772b7(0x1b8)])throw recoveryRequired(_0x261f18,_0x56f41d[_0x6772b7(0x1f5)],{'id':_0x259a7a['id'],'requestedUrlObserved':![],'after':_0x23c5ce??null});try{verifyUpdatedFact(_0x100371,_0x23c5ce,_0x259a7a[_0x6772b7(0x1b8)]);}catch(_0x2bd73a){const _0x5a5ba9=asVerificationError(_0x2bd73a,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x259a7a['id']+_0x6772b7(0x1bd));throw menuFailure(_0x5a5ba9,_0x261f18,{'stage':_0x6772b7(0x1be),'succeeded':[{'id':_0x259a7a['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x259a7a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x23c5ce,'warnings':[_0x6772b7(0x1e4)],'verification':{'status':_0x6772b7(0x1ee),'targetId':_0x259a7a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x56f41d[_0x6772b7(0x1f5)])}});}return updateSuccess(_0x261f18,_0x360a9e,_0x23c5ce,![],!![]);}function recoveryRequired(_0x1de598,_0x587f18,_0x4b6cb4){const _0x507ae9=a129_0x12707f,_0x22fdb9=menuError(_0x507ae9(0x1ad),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x507ae9(0x1bc)+buildLookupCommand(_0x587f18)+_0x507ae9(0x1c3));return menuFailure(_0x22fdb9,_0x1de598,{'stage':'update-recovery','failed':{'id':_0x4b6cb4['id'],..._0x4b6cb4[_0x507ae9(0x1e3)]===undefined?{}:{'requestedUrlObserved':_0x4b6cb4[_0x507ae9(0x1e3)]},..._0x4b6cb4['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x4b6cb4[_0x507ae9(0x1e1)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x507ae9(0x1ee),'targetId':_0x4b6cb4['id'],..._0x4b6cb4['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x4b6cb4['requestedUrlObserved']},..._0x4b6cb4[_0x507ae9(0x1bf)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x587f18)}});}function buildLookupCommand(_0xafb9a0){const _0x1700bd=a129_0x12707f,_0x12c246='\x27'+_0xafb9a0[_0x1700bd(0x1df)](/'/g,_0x1700bd(0x1c0))+'\x27';return _0x1700bd(0x1c6)+_0x12c246+_0x1700bd(0x1dd);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a130_0x46010c=a130_0x553a;(function(_0x95af8a,_0x137848){const _0x27092c=a130_0x553a,_0x24c67a=_0x95af8a();while(!![]){try{const _0x4ccc1f=parseInt(_0x27092c(0x13c))/0x1*(-parseInt(_0x27092c(0x134))/0x2)+-parseInt(_0x27092c(0x115))/0x3*(parseInt(_0x27092c(0x14e))/0x4)+-parseInt(_0x27092c(0x109))/0x5+-parseInt(_0x27092c(0x126))/0x6+-parseInt(_0x27092c(0x151))/0x7+parseInt(_0x27092c(0x121))/0x8+-parseInt(_0x27092c(0x110))/0x9*(-parseInt(_0x27092c(0x10d))/0xa);if(_0x4ccc1f===_0x137848)break;else _0x24c67a['push'](_0x24c67a['shift']());}catch(_0x51aa4c){_0x24c67a['push'](_0x24c67a['shift']());}}}(a130_0x115f,0xec666));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a130_0x46010c(0x13f),'path':'/smartapi/menu/create'}];function a130_0x553a(_0x26797b,_0x3825fe){_0x26797b=_0x26797b-0x107;const _0x115fc8=a130_0x115f();let _0x553acf=_0x115fc8[_0x26797b];return _0x553acf;}function a130_0x115f(){const _0x1ab8d7=['9DIysQC','parent-id','isSafeInteger','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder',';\x20verify\x20it\x20before\x20retrying.','1059nybyuh','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','root','Menu\x20create\x20response\x20for\x20folder\x20','\x20is\x20not\x20type\x20folder.','menu_create_response_invalid','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','write','path','resources','failed','10177136fpAnqq','parentId','folder','appCode','stringify','4518906fYFsjs','rabetbase\x20menu\x20list\x20--format\x20json','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','get','after','Created\x20folder\x20','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','label','create-folder','\x20may\x20exist\x20online\x20at\x20path\x20','flagMissing','create','<platform-generated>','94pNBOUS','string','depth','verify\x20folder\x20creation','create\x20folder','create-response-validation','group-create','Folder\x20','199fJIiSB','/smartapi/menu/create','str','POST','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','childrenCount','menu\x20list','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20is\x20not\x20visible.','Created\x20menu\x20','\x22\x20with\x20a\x20platform-generated\x20path.','Would\x20create\x20empty\x20folder\x20\x22','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','trim','\x20has\x20unexpected\x20parent\x20','verification','byId','menu','11796eNbXwI','\x20has\x20an\x20unexpected\x20sort.','visible','11474400uKJuzK','\x20has\x20resources.','\x20has\x20an\x20unexpected\x20label.','7501410eyMOdi','\x20is\x20not\x20empty.','hash','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','46391350XsRntX','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20is\x20missing\x20from\x20menu\x20list.'];a130_0x115f=function(){return _0x1ab8d7;};return a130_0x115f();}export const menuGroupCreate={'service':a130_0x46010c(0x14d),'command':'group-create','description':a130_0x46010c(0x113),'risk':a130_0x46010c(0x11d),'structuredErrors':!![],'flags':[{'name':a130_0x46010c(0x12e),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1d7bae){validateCreateInput(_0x1d7bae);},async 'dryRun'(_0x289fce){const _0x310012=a130_0x46010c,_0x5c4997=await buildCreatePlan(_0x289fce,!![]),_0x1bd8ea=_0x5c4997['after'];return menuDryRunResult(_0x5c4997,{'method':_0x310012(0x13f),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x1bd8ea[_0x310012(0x122)]),'label':_0x1bd8ea['label'],'type':_0x310012(0x123),'visible':!![],'sort':_0x1bd8ea[_0x310012(0x12c)],'extend':{}},'description':_0x310012(0x147)+String(_0x1bd8ea[_0x310012(0x12e)])+_0x310012(0x146)});},async 'execute'(_0x4ff13b){const _0x30c43e=a130_0x46010c;validateCreateInput(_0x4ff13b);const _0x298f44=await buildCreatePlan(_0x4ff13b,![]),_0x3a8fc6=_0x298f44[_0x30c43e(0x12a)];await recheckMutationSnapshot(_0x4ff13b,_0x298f44,_0x30c43e(0x138));let _0x4012f9;try{_0x4012f9=await createMenuEntity(_0x4ff13b[_0x30c43e(0x124)],_0x4ff13b['cookie'],{'parentId':toApiParentId(_0x3a8fc6[_0x30c43e(0x122)]),'label':String(_0x3a8fc6[_0x30c43e(0x12e)]),'type':_0x30c43e(0x123),'visible':!![],'sort':Number(_0x3a8fc6[_0x30c43e(0x12c)]),'extend':{}});}catch(_0x15536d){const _0x3c5d8e=mapMenuApiError(_0x15536d,_0x30c43e(0x138));throw menuFailure(_0x3c5d8e,_0x298f44,{'stage':_0x30c43e(0x132),'failed':{}});}const _0x4dfb74=Number(_0x4012f9['id']);if(!Number[_0x30c43e(0x112)](_0x4dfb74)||_0x4dfb74<=0x0){const _0x9c1c70=menuError('menu_create_response_invalid',_0x30c43e(0x12d),_0x30c43e(0x140));throw menuFailure(_0x9c1c70,_0x298f44,{'stage':_0x30c43e(0x139),'failed':{'createdId':_0x4012f9['id']??null},'warnings':[_0x30c43e(0x10c)],'verification':{'status':_0x30c43e(0x120),'lookupCommand':_0x30c43e(0x127)}});}const _0x4b5a1c=typeof _0x4012f9[_0x30c43e(0x11e)]===_0x30c43e(0x135)?_0x4012f9['path']:'';if(!_0x4b5a1c['trim']()){const _0x2cfd4f=menuError(_0x30c43e(0x11b),_0x30c43e(0x119)+_0x4dfb74+_0x30c43e(0x117),_0x30c43e(0x116));throw menuFailure(_0x2cfd4f,_0x298f44,{'stage':'create-response-validation','succeeded':[{'id':_0x4dfb74,'created':!![]}],'failed':{'id':_0x4dfb74,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x4dfb74+_0x30c43e(0x148)],'after':{..._0x3a8fc6,'id':_0x4dfb74,'path':_0x4b5a1c},'verification':{'status':_0x30c43e(0x120),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x4dfb74}});}let _0x59019d;try{_0x59019d=await fetchMenuSnapshot(_0x4ff13b[_0x30c43e(0x124)],_0x4ff13b['cookie']);}catch(_0x4625ff){const _0x182e0c=describeMenuErrorCause(_0x4625ff,_0x30c43e(0x137),_0x4dfb74),_0x2f5f54=asVerificationError(_0x4625ff,_0x30c43e(0x13b)+_0x4dfb74+_0x30c43e(0x10e));throw menuFailure(_0x2f5f54,_0x298f44,{'stage':'verification','succeeded':[{'id':_0x4dfb74,'created':!![],'path':_0x4b5a1c}],'failed':{'id':_0x4dfb74,'finalFactsConfirmed':![],..._0x182e0c},'warnings':[_0x30c43e(0x13b)+_0x4dfb74+_0x30c43e(0x130)+JSON[_0x30c43e(0x125)](_0x4b5a1c)+_0x30c43e(0x114)],'after':{..._0x3a8fc6,'id':_0x4dfb74,'path':_0x4b5a1c},'verification':{'status':_0x30c43e(0x120),'lookupCommand':_0x30c43e(0x127),'targetId':_0x4dfb74}});}const _0x544730=_0x59019d[_0x30c43e(0x14c)][_0x30c43e(0x129)](_0x4dfb74);let _0x62433;try{assertVerified(Boolean(_0x544730),_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x10f)),_0x62433=_0x544730,assertVerified(_0x62433['type']===_0x30c43e(0x123),_0x30c43e(0x145)+_0x4dfb74+_0x30c43e(0x11a)),assertVerified(_0x62433['label']===_0x3a8fc6['label'],_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x108)),assertVerified(_0x62433[_0x30c43e(0x11e)]===_0x4b5a1c&&Boolean(_0x62433[_0x30c43e(0x11e)]['trim']()),'Created\x20folder\x20'+_0x4dfb74+_0x30c43e(0x11c)),assertVerified(_0x62433[_0x30c43e(0x150)]===!![],_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x144)),assertVerified(_0x62433[_0x30c43e(0x11f)]['length']===0x0,'Created\x20folder\x20'+_0x4dfb74+_0x30c43e(0x107)),assertVerified(_0x62433[_0x30c43e(0x141)]===0x0,_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x10a)),assertVerified(_0x62433['sort']===_0x3a8fc6[_0x30c43e(0x12c)],_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x14f)),assertVerified(_0x62433[_0x30c43e(0x122)]===_0x3a8fc6[_0x30c43e(0x122)],_0x30c43e(0x12b)+_0x4dfb74+_0x30c43e(0x14a)+(_0x62433['parentId']??_0x30c43e(0x118))+'.'),assertVerified(_0x62433['pageId']==null,_0x30c43e(0x12b)+_0x4dfb74+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x5dba62=_0x62433[_0x30c43e(0x122)]==null?undefined:requireFolder(_0x59019d,_0x62433[_0x30c43e(0x122)]);assertVerified(_0x62433[_0x30c43e(0x136)]===(_0x5dba62?_0x5dba62['depth']+0x1:0x0),_0x30c43e(0x12b)+_0x4dfb74+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x307766){const _0x452018=describeMenuErrorCause(_0x307766,'verify\x20folder\x20creation',_0x4dfb74),_0x3cfae2=asVerificationError(_0x307766,_0x30c43e(0x13b)+_0x4dfb74+_0x30c43e(0x128));throw menuFailure(_0x3cfae2,_0x298f44,{'stage':_0x30c43e(0x14b),'succeeded':[{'id':_0x4dfb74,'created':!![],'path':_0x4b5a1c}],'failed':{'id':_0x4dfb74,'finalFactsConfirmed':![],..._0x452018},'warnings':['Folder\x20'+_0x4dfb74+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x544730??{..._0x3a8fc6,'id':_0x4dfb74,'path':_0x4b5a1c},'verification':{'status':_0x30c43e(0x120),'lookupCommand':_0x30c43e(0x127),'targetId':_0x4dfb74}});}const _0x3989ad=mutationResult({..._0x298f44,'after':_0x62433,'dryRun':![],'succeeded':[{'id':_0x4dfb74,'type':_0x30c43e(0x123),'path':_0x4b5a1c}],'verification':{'checkedBy':_0x30c43e(0x142),'snapshotHash':_0x59019d['hash'],'folder':!![],'path':_0x4b5a1c,'emptyResources':!![]}});return{'ok':!![],'data':_0x3989ad,'message':'Created\x20menu\x20folder\x20'+_0x4dfb74+'.'};}};function validateCreateInput(_0x32dc28){const _0x2e88cf=a130_0x46010c,_0x5972a7=_0x32dc28[_0x2e88cf(0x13e)](_0x2e88cf(0x12e))[_0x2e88cf(0x149)]();if(!_0x5972a7)throw CliErrors[_0x2e88cf(0x131)](_0x2e88cf(0x12e));parseParentId(_0x32dc28,_0x2e88cf(0x111)),validateSort(_0x32dc28);}async function buildCreatePlan(_0x52bcd0,_0x2dd332){const _0x184427=a130_0x46010c,_0x151be6=await fetchMutationSnapshot(_0x52bcd0,'create\x20folder'),_0x948706=parseParentId(_0x52bcd0,'parent-id')??null;if(_0x948706!=null)requireFolder(_0x151be6,_0x948706);const _0x11ee48=validateSort(_0x52bcd0),_0x14a9ff=_0x11ee48??nextSiblingSort(_0x151be6,_0x948706,_0x184427(0x123)),_0x1e373c=_0x52bcd0['str'](_0x184427(0x12e))[_0x184427(0x149)]();return mutationResult({'operation':_0x184427(0x13a),'selector':{'label':_0x1e373c,'parentId':_0x948706},'before':null,'after':{'id':null,'parentId':_0x948706,'label':_0x1e373c,'path':_0x184427(0x133),'type':_0x184427(0x123),'visible':!![],'sort':_0x14a9ff,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x2dd332,'backend':[...BACKEND],'plannedActions':[{'stage':_0x184427(0x12f),'method':_0x184427(0x13f),'path':_0x184427(0x13d),'body':{'parentId':toApiParentId(_0x948706),'label':_0x1e373c,'type':_0x184427(0x123),'visible':!![],'sort':_0x14a9ff,'extend':{}}}],'snapshotHash':_0x151be6[_0x184427(0x10b)],'warnings':[_0x184427(0x143)]});}
|
|
1
|
+
const a130_0x126ebe=a130_0x563a;function a130_0x2156(){const _0x43ed6f=['depth','resources','menu_create_response_invalid','verification','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','60dCtjdT','rabetbase\x20menu\x20list\x20--format\x20json','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','10319903SBVHxh','18OqTgtO','create-response-validation','/smartapi/menu/create','flagMissing','label','1693588UAQenZ','after','836799DBGihG','10MZawXa','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','stringify','hash','\x22\x20with\x20a\x20platform-generated\x20path.','menu\x20list','Would\x20create\x20empty\x20folder\x20\x22','trim','visible','write','appCode','cookie','menu','5927616bQjbET','parentId','childrenCount','sort','8wKMlau','byId','\x20may\x20exist\x20online\x20at\x20path\x20','verify\x20folder\x20creation','\x20is\x20not\x20empty.',';\x20verify\x20it\x20before\x20retrying.','parent-id','length','4493727zFlpHw','str','string','POST','\x20is\x20missing\x20from\x20menu\x20list.','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','folder','Created\x20menu\x20','create-folder','failed','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Created\x20menu\x20folder\x20','76395gRAuAH','Created\x20folder\x20','\x20has\x20unexpected\x20parent\x20','create','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','path','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20not\x20type\x20folder.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','1367220lsAmqI','create\x20folder','group-create','Folder\x20','<platform-generated>','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20is\x20not\x20visible.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.'];a130_0x2156=function(){return _0x43ed6f;};return a130_0x2156();}(function(_0x5362d6,_0x3f72f2){const _0x2b896d=a130_0x563a,_0x4ed753=_0x5362d6();while(!![]){try{const _0x2ac39b=parseInt(_0x2b896d(0x1cd))/0x1+parseInt(_0x2b896d(0x1c2))/0x2*(parseInt(_0x2b896d(0x1ab))/0x3)+-parseInt(_0x2b896d(0x1cb))/0x4+-parseInt(_0x2b896d(0x1b4))/0x5*(parseInt(_0x2b896d(0x1c6))/0x6)+parseInt(_0x2b896d(0x19f))/0x7*(parseInt(_0x2b896d(0x197))/0x8)+parseInt(_0x2b896d(0x193))/0x9+parseInt(_0x2b896d(0x1ce))/0xa*(-parseInt(_0x2b896d(0x1c5))/0xb);if(_0x2ac39b===_0x3f72f2)break;else _0x4ed753['push'](_0x4ed753['shift']());}catch(_0xc056ec){_0x4ed753['push'](_0x4ed753['shift']());}}}(a130_0x2156,0xafa48));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a130_0x563a(_0x3ab651,_0x2b9ed4){_0x3ab651=_0x3ab651-0x189;const _0x215630=a130_0x2156();let _0x563a06=_0x215630[_0x3ab651];return _0x563a06;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a130_0x126ebe(0x1a2),'path':a130_0x126ebe(0x1c8)}];export const menuGroupCreate={'service':a130_0x126ebe(0x192),'command':a130_0x126ebe(0x1b6),'description':a130_0x126ebe(0x1a9),'risk':a130_0x126ebe(0x18f),'structuredErrors':!![],'flags':[{'name':a130_0x126ebe(0x1ca),'type':'string','required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4114da){validateCreateInput(_0x4114da);},async 'dryRun'(_0xa84fb){const _0x5ccdd8=a130_0x126ebe,_0x39a6f6=await buildCreatePlan(_0xa84fb,!![]),_0x5b611e=_0x39a6f6[_0x5ccdd8(0x1cc)];return menuDryRunResult(_0x39a6f6,{'method':_0x5ccdd8(0x1a2),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x5b611e[_0x5ccdd8(0x194)]),'label':_0x5b611e[_0x5ccdd8(0x1ca)],'type':_0x5ccdd8(0x1a5),'visible':!![],'sort':_0x5b611e[_0x5ccdd8(0x196)],'extend':{}},'description':_0x5ccdd8(0x18c)+String(_0x5b611e[_0x5ccdd8(0x1ca)])+_0x5ccdd8(0x18a)});},async 'execute'(_0x259a1a){const _0x4d4ac7=a130_0x126ebe;validateCreateInput(_0x259a1a);const _0x5d84bf=await buildCreatePlan(_0x259a1a,![]),_0x4da474=_0x5d84bf[_0x4d4ac7(0x1cc)];await recheckMutationSnapshot(_0x259a1a,_0x5d84bf,_0x4d4ac7(0x1b5));let _0x2f31d0;try{_0x2f31d0=await createMenuEntity(_0x259a1a[_0x4d4ac7(0x190)],_0x259a1a[_0x4d4ac7(0x191)],{'parentId':toApiParentId(_0x4da474[_0x4d4ac7(0x194)]),'label':String(_0x4da474['label']),'type':_0x4d4ac7(0x1a5),'visible':!![],'sort':Number(_0x4da474[_0x4d4ac7(0x196)]),'extend':{}});}catch(_0x49a6b){const _0x49b062=mapMenuApiError(_0x49a6b,_0x4d4ac7(0x1b5));throw menuFailure(_0x49b062,_0x5d84bf,{'stage':_0x4d4ac7(0x1ae),'failed':{}});}const _0x29f6d0=Number(_0x2f31d0['id']);if(!Number['isSafeInteger'](_0x29f6d0)||_0x29f6d0<=0x0){const _0x31363c=menuError(_0x4d4ac7(0x1bf),_0x4d4ac7(0x1b9),_0x4d4ac7(0x1b1));throw menuFailure(_0x31363c,_0x5d84bf,{'stage':'create-response-validation','failed':{'createdId':_0x2f31d0['id']??null},'warnings':[_0x4d4ac7(0x1bc)],'verification':{'status':_0x4d4ac7(0x1a8),'lookupCommand':_0x4d4ac7(0x1c3)}});}const _0x568756=typeof _0x2f31d0['path']===_0x4d4ac7(0x1a1)?_0x2f31d0[_0x4d4ac7(0x1b0)]:'';if(!_0x568756['trim']()){const _0x589187=menuError(_0x4d4ac7(0x1bf),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x29f6d0+_0x4d4ac7(0x1b3),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x589187,_0x5d84bf,{'stage':_0x4d4ac7(0x1c7),'succeeded':[{'id':_0x29f6d0,'created':!![]}],'failed':{'id':_0x29f6d0,'generatedPathConfirmed':![]},'warnings':[_0x4d4ac7(0x1b7)+_0x29f6d0+_0x4d4ac7(0x1a4)],'after':{..._0x4da474,'id':_0x29f6d0,'path':_0x568756},'verification':{'status':_0x4d4ac7(0x1a8),'lookupCommand':_0x4d4ac7(0x1c3),'targetId':_0x29f6d0}});}let _0x22ea9e;try{_0x22ea9e=await fetchMenuSnapshot(_0x259a1a[_0x4d4ac7(0x190)],_0x259a1a[_0x4d4ac7(0x191)]);}catch(_0x1a5974){const _0x28208f=describeMenuErrorCause(_0x1a5974,_0x4d4ac7(0x19a),_0x29f6d0),_0x26329a=asVerificationError(_0x1a5974,_0x4d4ac7(0x1b7)+_0x29f6d0+_0x4d4ac7(0x1c1));throw menuFailure(_0x26329a,_0x5d84bf,{'stage':_0x4d4ac7(0x1c0),'succeeded':[{'id':_0x29f6d0,'created':!![],'path':_0x568756}],'failed':{'id':_0x29f6d0,'finalFactsConfirmed':![],..._0x28208f},'warnings':[_0x4d4ac7(0x1b7)+_0x29f6d0+_0x4d4ac7(0x199)+JSON[_0x4d4ac7(0x1d1)](_0x568756)+_0x4d4ac7(0x19c)],'after':{..._0x4da474,'id':_0x29f6d0,'path':_0x568756},'verification':{'status':'failed','lookupCommand':_0x4d4ac7(0x1c3),'targetId':_0x29f6d0}});}const _0x88f74f=_0x22ea9e[_0x4d4ac7(0x198)]['get'](_0x29f6d0);let _0x499150;try{assertVerified(Boolean(_0x88f74f),_0x4d4ac7(0x1ac)+_0x29f6d0+_0x4d4ac7(0x1a3)),_0x499150=_0x88f74f,assertVerified(_0x499150['type']===_0x4d4ac7(0x1a5),_0x4d4ac7(0x1a6)+_0x29f6d0+_0x4d4ac7(0x1b2)),assertVerified(_0x499150[_0x4d4ac7(0x1ca)]===_0x4da474['label'],_0x4d4ac7(0x1ac)+_0x29f6d0+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x499150[_0x4d4ac7(0x1b0)]===_0x568756&&Boolean(_0x499150['path'][_0x4d4ac7(0x18d)]()),_0x4d4ac7(0x1ac)+_0x29f6d0+_0x4d4ac7(0x1ba)),assertVerified(_0x499150[_0x4d4ac7(0x18e)]===!![],_0x4d4ac7(0x1ac)+_0x29f6d0+_0x4d4ac7(0x1bb)),assertVerified(_0x499150[_0x4d4ac7(0x1be)][_0x4d4ac7(0x19e)]===0x0,_0x4d4ac7(0x1ac)+_0x29f6d0+'\x20has\x20resources.'),assertVerified(_0x499150[_0x4d4ac7(0x195)]===0x0,_0x4d4ac7(0x1ac)+_0x29f6d0+_0x4d4ac7(0x19b)),assertVerified(_0x499150[_0x4d4ac7(0x196)]===_0x4da474[_0x4d4ac7(0x196)],_0x4d4ac7(0x1ac)+_0x29f6d0+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x499150[_0x4d4ac7(0x194)]===_0x4da474[_0x4d4ac7(0x194)],'Created\x20folder\x20'+_0x29f6d0+_0x4d4ac7(0x1ad)+(_0x499150[_0x4d4ac7(0x194)]??'root')+'.'),assertVerified(_0x499150['pageId']==null,_0x4d4ac7(0x1ac)+_0x29f6d0+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x2c2754=_0x499150[_0x4d4ac7(0x194)]==null?undefined:requireFolder(_0x22ea9e,_0x499150[_0x4d4ac7(0x194)]);assertVerified(_0x499150[_0x4d4ac7(0x1bd)]===(_0x2c2754?_0x2c2754[_0x4d4ac7(0x1bd)]+0x1:0x0),_0x4d4ac7(0x1ac)+_0x29f6d0+_0x4d4ac7(0x1cf));}catch(_0x5139cc){const _0x47a149=describeMenuErrorCause(_0x5139cc,'verify\x20folder\x20creation',_0x29f6d0),_0x7d7bb2=asVerificationError(_0x5139cc,_0x4d4ac7(0x1b7)+_0x29f6d0+_0x4d4ac7(0x1d0));throw menuFailure(_0x7d7bb2,_0x5d84bf,{'stage':_0x4d4ac7(0x1c0),'succeeded':[{'id':_0x29f6d0,'created':!![],'path':_0x568756}],'failed':{'id':_0x29f6d0,'finalFactsConfirmed':![],..._0x47a149},'warnings':['Folder\x20'+_0x29f6d0+_0x4d4ac7(0x1af)],'after':_0x88f74f??{..._0x4da474,'id':_0x29f6d0,'path':_0x568756},'verification':{'status':'failed','lookupCommand':_0x4d4ac7(0x1c3),'targetId':_0x29f6d0}});}const _0x3446cc=mutationResult({..._0x5d84bf,'after':_0x499150,'dryRun':![],'succeeded':[{'id':_0x29f6d0,'type':_0x4d4ac7(0x1a5),'path':_0x568756}],'verification':{'checkedBy':_0x4d4ac7(0x18b),'snapshotHash':_0x22ea9e[_0x4d4ac7(0x189)],'folder':!![],'path':_0x568756,'emptyResources':!![]}});return{'ok':!![],'data':_0x3446cc,'message':_0x4d4ac7(0x1aa)+_0x29f6d0+'.'};}};function validateCreateInput(_0x4dd154){const _0x4ec727=a130_0x126ebe,_0x3c26b6=_0x4dd154[_0x4ec727(0x1a0)](_0x4ec727(0x1ca))[_0x4ec727(0x18d)]();if(!_0x3c26b6)throw CliErrors[_0x4ec727(0x1c9)]('label');parseParentId(_0x4dd154,_0x4ec727(0x19d)),validateSort(_0x4dd154);}async function buildCreatePlan(_0xc33e02,_0x4217b2){const _0x27ae14=a130_0x126ebe,_0x45cb4f=await fetchMutationSnapshot(_0xc33e02,_0x27ae14(0x1b5)),_0x46a9d8=parseParentId(_0xc33e02,_0x27ae14(0x19d))??null;if(_0x46a9d8!=null)requireFolder(_0x45cb4f,_0x46a9d8);const _0x391494=validateSort(_0xc33e02),_0x20a7e2=_0x391494??nextSiblingSort(_0x45cb4f,_0x46a9d8,_0x27ae14(0x1a5)),_0x1f4cf1=_0xc33e02[_0x27ae14(0x1a0)]('label')['trim']();return mutationResult({'operation':'group-create','selector':{'label':_0x1f4cf1,'parentId':_0x46a9d8},'before':null,'after':{'id':null,'parentId':_0x46a9d8,'label':_0x1f4cf1,'path':_0x27ae14(0x1b8),'type':_0x27ae14(0x1a5),'visible':!![],'sort':_0x20a7e2,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4217b2,'backend':[...BACKEND],'plannedActions':[{'stage':_0x27ae14(0x1a7),'method':_0x27ae14(0x1a2),'path':_0x27ae14(0x1c8),'body':{'parentId':toApiParentId(_0x46a9d8),'label':_0x1f4cf1,'type':_0x27ae14(0x1a5),'visible':!![],'sort':_0x20a7e2,'extend':{}}}],'snapshotHash':_0x45cb4f[_0x27ae14(0x189)],'warnings':[_0x27ae14(0x1c4)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a131_0x29c7f4=a131_0x3950;(function(_0x18ddf2,_0x5468ff){const _0x4c7aac=a131_0x3950,_0x340b7d=_0x18ddf2();while(!![]){try{const _0x287fcf=-parseInt(_0x4c7aac(0x200))/0x1*(parseInt(_0x4c7aac(0x1ff))/0x2)+-parseInt(_0x4c7aac(0x20e))/0x3+-parseInt(_0x4c7aac(0x205))/0x4*(-parseInt(_0x4c7aac(0x1f2))/0x5)+parseInt(_0x4c7aac(0x216))/0x6+parseInt(_0x4c7aac(0x1f5))/0x7*(-parseInt(_0x4c7aac(0x1e9))/0x8)+-parseInt(_0x4c7aac(0x20a))/0x9*(parseInt(_0x4c7aac(0x1f3))/0xa)+parseInt(_0x4c7aac(0x1fc))/0xb*(parseInt(_0x4c7aac(0x218))/0xc);if(_0x287fcf===_0x5468ff)break;else _0x340b7d['push'](_0x340b7d['shift']());}catch(_0x9016cd){_0x340b7d['push'](_0x340b7d['shift']());}}}(a131_0x52ad,0x2d659));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 a131_0x52ad(){const _0x2ef8d3=['New\x20folder\x20label','836120JpyWhc','selector','\x20is\x20no\x20longer\x20type\x20folder.','sort','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','verification','string','folder','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','1835VLppQm','70naSpqA','parentId','21EkkYaR','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Updated\x20folder\x20','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','parent-id','cookie','menu','43307NrFbCk','validation','\x20sort\x20update\x20did\x20not\x20take\x20effect.','696362oDSqqs','1zFqxEz','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Menu\x20','label','Would\x20update\x20folder\x20','2020ckVDLC','hash','trim','type','\x20already\x20matches\x20the\x20requested\x20state.','128997RECwsK','str','menu_not_folder','unknown','356208XwSTWW','update\x20folder','group-update','POST','\x20is\x20type\x20\x22','/smartapi/menu/update','--label\x20cannot\x20be\x20empty.','write','1012836WldHdT','No\x20online\x20fields\x20would\x20change.','2172uAwCbX','rabetbase\x20menu\x20list\x20--format\x20json'];a131_0x52ad=function(){return _0x2ef8d3;};return a131_0x52ad();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a131_0x29c7f4(0x213)}];function a131_0x3950(_0x7c16dd,_0x3f7fc3){_0x7c16dd=_0x7c16dd-0x1e9;const _0x52ad58=a131_0x52ad();let _0x395061=_0x52ad58[_0x7c16dd];return _0x395061;}export const menuGroupUpdate={'service':a131_0x29c7f4(0x1fb),'command':a131_0x29c7f4(0x210),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a131_0x29c7f4(0x215),'structuredErrors':!![],'rejectedFlags':[{'name':a131_0x29c7f4(0x1f9),'message':a131_0x29c7f4(0x1f8),'hint':a131_0x29c7f4(0x1f6)}],'flags':[MENU_ID_FLAG,{'name':a131_0x29c7f4(0x203),'type':a131_0x29c7f4(0x1ef),'description':a131_0x29c7f4(0x21a)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x58fb68){validateUpdateInput(_0x58fb68);},async 'dryRun'(_0x5b0426){const _0x1300f6=a131_0x29c7f4;validateUpdateInput(_0x5b0426);const {plan:_0x4043cc,patch:_0x59b8df}=await buildUpdatePlan(_0x5b0426,!![]);return menuDryRunResult(_0x4043cc,{'method':_0x1300f6(0x211),'url':_0x1300f6(0x213),'body':_0x59b8df,'description':_0x1300f6(0x204)+_0x4043cc[_0x1300f6(0x1ea)]['id']+'.'});},async 'execute'(_0x5c29f8){const _0x1dee7d=a131_0x29c7f4;validateUpdateInput(_0x5c29f8);const {plan:_0x121d41,patch:_0x8ae5fc,noChanges:_0x28a1b7}=await buildUpdatePlan(_0x5c29f8,![]),_0x137530=Number(_0x121d41[_0x1dee7d(0x1ea)]['id']),_0x56a51a=await recheckMutationSnapshot(_0x5c29f8,_0x121d41,'update\x20folder',_0x137530);if(!_0x28a1b7)try{await updateMenuEntity(_0x5c29f8['appCode'],_0x5c29f8[_0x1dee7d(0x1fa)],_0x8ae5fc);}catch(_0xb33bc6){const _0x35a800=mapMenuApiError(_0xb33bc6,_0x1dee7d(0x20f),_0x137530);throw menuFailure(_0x35a800,_0x121d41,{'stage':'update','failed':{'id':_0x137530}});}let _0x4e2be1=_0x56a51a,_0x561758;try{!_0x28a1b7&&(_0x4e2be1=await fetchMenuSnapshot(_0x5c29f8['appCode'],_0x5c29f8[_0x1dee7d(0x1fa)])),_0x561758=requireMenu(_0x4e2be1,_0x137530),verifyPatch(_0x561758,_0x8ae5fc),_0x561758[_0x1dee7d(0x1f4)]!=null&&requireFolder(_0x4e2be1,_0x561758[_0x1dee7d(0x1f4)]);}catch(_0x19601a){const _0x2649b6=describeMenuErrorCause(_0x19601a,'verify\x20folder\x20update',_0x137530),_0x435fdd=asVerificationError(_0x19601a,'Update\x20request\x20for\x20folder\x20'+_0x137530+_0x1dee7d(0x1f1));throw menuFailure(_0x435fdd,_0x121d41,{'stage':_0x1dee7d(0x1ee),'succeeded':[{'id':_0x137530,'updateRequested':!_0x28a1b7,'skipped':_0x28a1b7}],'failed':{'id':_0x137530,'requestedStateConfirmed':![],..._0x2649b6},'warnings':[_0x1dee7d(0x201)],'verification':{'status':'failed','lookupCommand':_0x1dee7d(0x219),'targetId':_0x137530}});}const _0x1c0394=mutationResult({..._0x121d41,'after':_0x561758,'dryRun':![],'succeeded':[{'id':_0x137530,'updated':!_0x28a1b7,'skipped':_0x28a1b7}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x4e2be1[_0x1dee7d(0x206)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x1c0394,'message':_0x28a1b7?'Folder\x20'+_0x137530+_0x1dee7d(0x209):_0x1dee7d(0x1f7)+_0x137530+'.'};}};function validateUpdateInput(_0x1fa488){const _0x2cb886=a131_0x29c7f4;validateExactId(_0x1fa488);if(hasFlag(_0x1fa488,'parent-id'))throw CliErrors[_0x2cb886(0x1fd)](_0x2cb886(0x1f8),'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.');if(!hasFlag(_0x1fa488,'label')&&!hasFlag(_0x1fa488,_0x2cb886(0x1ec)))throw CliErrors[_0x2cb886(0x1fd)](_0x2cb886(0x1ed));if(hasFlag(_0x1fa488,'label')&&!_0x1fa488[_0x2cb886(0x20b)]('label')[_0x2cb886(0x207)]())throw CliErrors[_0x2cb886(0x1fd)](_0x2cb886(0x214));validateSort(_0x1fa488);}async function buildUpdatePlan(_0xe99090,_0x5f23f9){const _0x2b1a18=a131_0x29c7f4,_0x21f7af=validateExactId(_0xe99090),_0x1c0e3b=await fetchMutationSnapshot(_0xe99090,'update\x20folder',_0x21f7af),_0x1f1520=requireMenu(_0x1c0e3b,_0x21f7af);if(_0x1f1520[_0x2b1a18(0x208)]!==_0x2b1a18(0x1f0))throw menuError(_0x2b1a18(0x20c),_0x2b1a18(0x202)+_0x21f7af+_0x2b1a18(0x212)+(_0x1f1520['type']||_0x2b1a18(0x20d))+'\x22,\x20not\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0xe99090,_0x1f1520);const _0x3a15af={'id':_0x21f7af},_0xa206e0={..._0x1f1520};if(hasFlag(_0xe99090,'label')){const _0x33be9c=_0xe99090[_0x2b1a18(0x20b)](_0x2b1a18(0x203))[_0x2b1a18(0x207)]();_0x3a15af[_0x2b1a18(0x203)]=_0x33be9c,_0xa206e0[_0x2b1a18(0x203)]=_0x33be9c;}if(hasFlag(_0xe99090,_0x2b1a18(0x1ec))){const _0x1d8ab2=validateSort(_0xe99090);_0x3a15af[_0x2b1a18(0x1ec)]=_0x1d8ab2,_0xa206e0[_0x2b1a18(0x1ec)]=_0x1d8ab2;}const _0x5e0e25=sameRequestedState(_0x1f1520,_0xa206e0),_0x1f1a70=_0x5e0e25?[_0x2b1a18(0x217)]:[];return{'patch':_0x3a15af,'noChanges':_0x5e0e25,'plan':mutationResult({'operation':_0x2b1a18(0x210),'selector':{'id':_0x21f7af},'before':_0x1f1520,'after':_0xa206e0,'dryRun':_0x5f23f9,'backend':[...BACKEND],'snapshotHash':_0x1c0e3b[_0x2b1a18(0x206)],'warnings':_0x1f1a70})};}function sameRequestedState(_0x551b87,_0x45d060){const _0x538ec1=a131_0x29c7f4;return _0x551b87[_0x538ec1(0x203)]===_0x45d060[_0x538ec1(0x203)]&&_0x551b87[_0x538ec1(0x1ec)]===_0x45d060['sort'];}function verifyPatch(_0x2fc329,_0x2de61a){const _0x3ecd82=a131_0x29c7f4;assertVerified(_0x2fc329['type']==='folder',_0x3ecd82(0x202)+_0x2fc329['id']+_0x3ecd82(0x1eb)),_0x2de61a[_0x3ecd82(0x203)]!==undefined&&assertVerified(_0x2fc329[_0x3ecd82(0x203)]===_0x2de61a[_0x3ecd82(0x203)],'Folder\x20'+_0x2fc329['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x2de61a[_0x3ecd82(0x1ec)]!==undefined&&assertVerified(_0x2fc329[_0x3ecd82(0x1ec)]===_0x2de61a[_0x3ecd82(0x1ec)],'Folder\x20'+_0x2fc329['id']+_0x3ecd82(0x1fe));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28c584,_0x16fa23){const _0x1fcfe9=a132_0x2539,_0x289810=_0x28c584();while(!![]){try{const _0x1f3618=-parseInt(_0x1fcfe9(0x8f))/0x1*(-parseInt(_0x1fcfe9(0x93))/0x2)+parseInt(_0x1fcfe9(0x8c))/0x3*(parseInt(_0x1fcfe9(0x8b))/0x4)+-parseInt(_0x1fcfe9(0x8e))/0x5*(parseInt(_0x1fcfe9(0x91))/0x6)+parseInt(_0x1fcfe9(0x90))/0x7+parseInt(_0x1fcfe9(0x92))/0x8+-parseInt(_0x1fcfe9(0x89))/0x9*(parseInt(_0x1fcfe9(0x8a))/0xa)+parseInt(_0x1fcfe9(0x88))/0xb*(parseInt(_0x1fcfe9(0x8d))/0xc);if(_0x1f3618===_0x16fa23)break;else _0x289810['push'](_0x289810['shift']());}catch(_0x3dc487){_0x289810['push'](_0x289810['shift']());}}}(a132_0x2653,0x9ad92));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';function a132_0x2653(){const _0x1263cc=['10754NXGqfA','411957ZHhqyD','111804GCzaqH','907968kmdsfQ','90aLdSDt','37994YReXro','297531DOgrml','80fKeoXJ','4bAnnZv','1040199rppgUd','2292TigFkW','205JutkCY'];a132_0x2653=function(){return _0x1263cc;};return a132_0x2653();}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';function a132_0x2539(_0x2ea35e,_0x1e8b9e){_0x2ea35e=_0x2ea35e-0x88;const _0x265387=a132_0x2653();let _0x25390c=_0x265387[_0x2ea35e];return _0x25390c;}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 a133_0x5cf4b6=a133_0x42e6;(function(_0x1c39fb,_0x59d674){const _0x30e438=a133_0x42e6,_0x45a99c=_0x1c39fb();while(!![]){try{const _0x2792c3=parseInt(_0x30e438(0x174))/0x1*(parseInt(_0x30e438(0x17c))/0x2)+-parseInt(_0x30e438(0x17b))/0x3+parseInt(_0x30e438(0x185))/0x4*(parseInt(_0x30e438(0x176))/0x5)+parseInt(_0x30e438(0x177))/0x6*(-parseInt(_0x30e438(0x173))/0x7)+parseInt(_0x30e438(0x18a))/0x8*(parseInt(_0x30e438(0x175))/0x9)+-parseInt(_0x30e438(0x182))/0xa*(parseInt(_0x30e438(0x171))/0xb)+parseInt(_0x30e438(0x17f))/0xc;if(_0x2792c3===_0x59d674)break;else _0x45a99c['push'](_0x45a99c['shift']());}catch(_0x3a9f0a){_0x45a99c['push'](_0x45a99c['shift']());}}}(a133_0x5a51,0x8864a));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a133_0x42e6(_0x42ef5f,_0x4a4208){_0x42ef5f=_0x42ef5f-0x171;const _0x5a51c9=a133_0x5a51();let _0x42e65c=_0x5a51c9[_0x42ef5f];return _0x42e65c;}function a133_0x5a51(){const _0x7f4eb2=['boolean','list','verbose','8nkbimT','map','menu','2299GBHBOr','cookie','7xktoLB','188907UPvPEN','9570537sLLPxL','337145dvyNlp','5970966miXeKo','total','bool','menus','2738295zEEqVm','6Esaqom','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','13662096zGoqlG','appCode','No\x20menus\x20found.','24130JVOwBj','read','\x20menu(s)','12jVXbab','hash'];a133_0x5a51=function(){return _0x7f4eb2;};return a133_0x5a51();}import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':a133_0x5cf4b6(0x18c),'command':a133_0x5cf4b6(0x188),'description':a133_0x5cf4b6(0x17d),'risk':a133_0x5cf4b6(0x183),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a133_0x5cf4b6(0x189),'type':a133_0x5cf4b6(0x187),'description':a133_0x5cf4b6(0x17e)}],async 'execute'(_0x1731a8){const _0x528a97=a133_0x5cf4b6,_0x162e3f=_0x1731a8[_0x528a97(0x179)]('verbose'),_0x24a9b8=await fetchMenuSnapshot(_0x1731a8[_0x528a97(0x180)],_0x1731a8[_0x528a97(0x172)],{'verbose':_0x162e3f});return{'ok':!![],'data':{'total':_0x24a9b8[_0x528a97(0x178)],'snapshotHash':_0x24a9b8[_0x528a97(0x186)],'menus':_0x24a9b8[_0x528a97(0x17a)][_0x528a97(0x18b)](toMenuListItem)},'message':_0x24a9b8['total']===0x0?_0x528a97(0x181):'Found\x20'+_0x24a9b8[_0x528a97(0x178)]+_0x528a97(0x184)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a134_0x5e5412=a134_0x485a;(function(_0x5d7f7a,_0x2d486e){const _0xd9c686=a134_0x485a,_0x588452=_0x5d7f7a();while(!![]){try{const _0x3527ec=parseInt(_0xd9c686(0x1c8))/0x1*(parseInt(_0xd9c686(0x1c2))/0x2)+-parseInt(_0xd9c686(0x1b7))/0x3+parseInt(_0xd9c686(0x1a5))/0x4*(parseInt(_0xd9c686(0x1c9))/0x5)+-parseInt(_0xd9c686(0x1ab))/0x6*(-parseInt(_0xd9c686(0x1ad))/0x7)+parseInt(_0xd9c686(0x1cd))/0x8+parseInt(_0xd9c686(0x1c6))/0x9+-parseInt(_0xd9c686(0x1bc))/0xa*(parseInt(_0xd9c686(0x1c4))/0xb);if(_0x3527ec===_0x2d486e)break;else _0x588452['push'](_0x588452['shift']());}catch(_0x207451){_0x588452['push'](_0x588452['shift']());}}}(a134_0x2399,0x893b0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a134_0x2399(){const _0x5a2e2c=['move','/smartapi/menu/update','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','parent-id','POST','\x20parent\x20changed:\x20expected\x20','rabetbase\x20menu\x20list\x20--format\x20compress','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','2173170HKFxHF','update','after','appCode','write','20btczXa','failed','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','folder','sort','4iPrNek','\x20is\x20no\x20longer\x20a\x20leaf.','12631498CYIhef','expect-parent-id','7707978DXczUE','verification','453095jieIGK','34285uufZwN','Would\x20move\x20menu\x20','menu_state_drift','Menu\x20','5804400QYuedR',',\x20current\x20','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','childrenCount','Move\x20request\x20for\x20menu\x20','verify\x20menu\x20move','Moved\x20menu\x20','type','\x20is\x20now\x20type\x20folder.','parentId','176qczMev','move\x20menu','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','cookie','96IswhMC','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','347039OXupLL','menu'];a134_0x2399=function(){return _0x5a2e2c;};return a134_0x2399();}const BACKEND=[{'method':a134_0x5e5412(0x1b3),'path':a134_0x5e5412(0x1b0)}];export const menuMove={'service':'menu','command':a134_0x5e5412(0x1af),'description':a134_0x5e5412(0x1cf),'risk':a134_0x5e5412(0x1bb),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x24a2bf){validateMoveInput(_0x24a2bf);},async 'dryRun'(_0x581d31){const _0x67de1=a134_0x5e5412,{plan:_0x21e5f1,patch:_0x3da6bc}=await buildMovePlan(_0x581d31,!![]);return menuDryRunResult(_0x21e5f1,{'method':_0x67de1(0x1b3),'url':_0x67de1(0x1b0),'body':{..._0x3da6bc,'appCode':_0x581d31[_0x67de1(0x1ba)]},'description':_0x67de1(0x1ca)+_0x3da6bc['id']+'.'});},async 'execute'(_0x495589){const _0x35e511=a134_0x5e5412;validateMoveInput(_0x495589);const {plan:_0x4dcd02,patch:_0x3635ea,noChanges:_0x1791ac,snapshot:_0x42618a}=await buildMovePlan(_0x495589,![]),_0x357c50=_0x3635ea['id'];if(!_0x1791ac)try{await updateMenuEntity(_0x495589['appCode'],_0x495589[_0x35e511(0x1aa)],_0x3635ea);}catch(_0x234dc2){const _0x1de9a5=mapMenuApiError(_0x234dc2,'move',_0x357c50);throw menuFailure(_0x1de9a5,_0x4dcd02,{'stage':_0x35e511(0x1b8),'failed':{'id':_0x357c50},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x35e511(0x1bd),'targetId':_0x357c50,'lookupCommand':_0x35e511(0x1b5)}});}let _0xff5023,_0xf0cc68;try{_0xff5023=_0x1791ac?_0x42618a:await fetchMenuSnapshot(_0x495589[_0x35e511(0x1ba)],_0x495589[_0x35e511(0x1aa)]),_0xf0cc68=requireMenu(_0xff5023,_0x357c50),verifyMove(_0xf0cc68,_0x4dcd02[_0x35e511(0x1b9)]),_0xf0cc68[_0x35e511(0x1a4)]!==null&&requireFolder(_0xff5023,_0xf0cc68[_0x35e511(0x1a4)]);}catch(_0x31ad4d){const _0x2aaba8=describeMenuErrorCause(_0x31ad4d,_0x35e511(0x1d2),_0x357c50),_0x2bd91f=asVerificationError(_0x31ad4d,_0x35e511(0x1d1)+_0x357c50+_0x35e511(0x1b1));throw menuFailure(_0x2bd91f,_0x4dcd02,{'stage':_0x35e511(0x1c7),'succeeded':[{'id':_0x357c50,'updateRequested':!_0x1791ac,'skipped':_0x1791ac}],'failed':{'id':_0x357c50,'requestedStateConfirmed':![],..._0x2aaba8},'warnings':[_0x35e511(0x1bf)],'verification':{'status':_0x35e511(0x1bd),'targetId':_0x357c50,'lookupCommand':_0x35e511(0x1b5)}});}const _0x15e6de=mutationResult({..._0x4dcd02,'after':_0xf0cc68,'dryRun':![],'succeeded':[{'id':_0x357c50,'updated':!_0x1791ac,'skipped':_0x1791ac}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0xff5023[_0x35e511(0x1a7)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x15e6de,'message':_0x1791ac?_0x35e511(0x1cc)+_0x357c50+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x35e511(0x1d3)+_0x357c50+'.'};}};function validateMoveInput(_0x33e7b2){const _0xc486ab=a134_0x5e5412;validateExactId(_0x33e7b2),parseParentId(_0x33e7b2,_0xc486ab(0x1b2),{'required':!![]}),parseParentId(_0x33e7b2,'expect-parent-id',{'required':!![]}),validateSort(_0x33e7b2);}function a134_0x485a(_0x66736c,_0x13d3be){_0x66736c=_0x66736c-0x1a2;const _0x2399d3=a134_0x2399();let _0x485ad8=_0x2399d3[_0x66736c];return _0x485ad8;}async function buildMovePlan(_0x2fea15,_0x4aa175){const _0xbe6098=a134_0x5e5412,_0x4b780e=validateExactId(_0x2fea15),_0x26d506=parseParentId(_0x2fea15,_0xbe6098(0x1b2),{'required':!![]}),_0x5c9012=parseParentId(_0x2fea15,_0xbe6098(0x1c5),{'required':!![]}),_0x1b9eb1=validateSort(_0x2fea15),_0xb8a39e=await fetchMutationSnapshot(_0x2fea15,_0xbe6098(0x1a6),_0x4b780e),_0x452eb6=requireMenu(_0xb8a39e,_0x4b780e);if(_0x452eb6[_0xbe6098(0x1a2)]===_0xbe6098(0x1c0)||_0x452eb6[_0xbe6098(0x1d0)]!==0x0)throw menuError('menu_move_source_not_leaf',_0xbe6098(0x1cc)+_0x4b780e+_0xbe6098(0x1a9),_0xbe6098(0x1a8));if(_0x452eb6[_0xbe6098(0x1a4)]!==_0x5c9012)throw menuError(_0xbe6098(0x1cb),_0xbe6098(0x1cc)+_0x4b780e+_0xbe6098(0x1b4)+formatParent(_0x5c9012)+_0xbe6098(0x1ce)+formatParent(_0x452eb6[_0xbe6098(0x1a4)])+'.',_0xbe6098(0x1b6));_0x26d506!==null&&requireFolder(_0xb8a39e,_0x26d506);const _0x3f7714=_0x1b9eb1??(_0x452eb6[_0xbe6098(0x1a4)]===_0x26d506?_0x452eb6[_0xbe6098(0x1c1)]??0x0:nextSiblingSort(_0xb8a39e,_0x26d506,_0xbe6098(0x1ae))),_0x5e0b16={..._0x452eb6,'parentId':_0x26d506,'sort':_0x3f7714},_0x4601ad={'id':_0x4b780e,'parentId':toApiParentId(_0x26d506),'sort':_0x3f7714},_0x4362ae=_0x452eb6['parentId']===_0x26d506&&_0x452eb6[_0xbe6098(0x1c1)]===_0x3f7714;return{'patch':_0x4601ad,'noChanges':_0x4362ae,'snapshot':_0xb8a39e,'plan':mutationResult({'operation':_0xbe6098(0x1af),'selector':{'id':_0x4b780e,'parentId':_0x26d506},'before':_0x452eb6,'after':_0x5e0b16,'dryRun':_0x4aa175,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':'POST','path':_0xbe6098(0x1b0),'body':{..._0x4601ad,'appCode':_0x2fea15['appCode']}}],'snapshotHash':_0xb8a39e[_0xbe6098(0x1a7)],'warnings':_0x4362ae?[_0xbe6098(0x1ac)]:[]})};}function verifyMove(_0x48e4a5,_0x531423){const _0x2a743b=a134_0x5e5412;assertVerified(_0x48e4a5['type']!==_0x2a743b(0x1c0),_0x2a743b(0x1cc)+_0x48e4a5['id']+_0x2a743b(0x1a3)),assertVerified(_0x48e4a5['childrenCount']===0x0,_0x2a743b(0x1cc)+_0x48e4a5['id']+_0x2a743b(0x1c3)),assertVerified(_0x48e4a5[_0x2a743b(0x1a4)]===_0x531423[_0x2a743b(0x1a4)],_0x2a743b(0x1cc)+_0x48e4a5['id']+'\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.'),assertVerified(_0x48e4a5[_0x2a743b(0x1c1)]===_0x531423[_0x2a743b(0x1c1)],_0x2a743b(0x1cc)+_0x48e4a5['id']+_0x2a743b(0x1be));}
|