@lovrabet/rabetbase-cli 2.4.7 → 2.5.0-beta.2
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 +13 -3
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +7 -0
- package/lib/api/generate-sdk-config-file.js +1 -0
- 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.d.ts +2 -5
- 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.d.ts +5 -0
- package/lib/commands/config/delete.js +1 -0
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +12 -0
- package/lib/commands/config/init.js +1 -0
- 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-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/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/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.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/template.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.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +6 -2
- 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.d.ts +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/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.d.ts +2 -2
- 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.d.ts +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/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.d.ts +10 -0
- package/lib/config/domain-config.js +1 -0
- package/lib/config/schema.d.ts +3 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +23 -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.d.ts +9 -0
- package/lib/constant/region.js +1 -0
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.d.ts +4 -6
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +2 -2
- 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/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/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.d.ts +11 -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.d.ts +2 -2
- 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/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.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 +28 -0
- package/lib/utils/ai_config.d.ts +1 -2
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -3
- package/skills/rabetbase/SKILL.md +33 -28
- package/skills/rabetbase/guides/backend-function.md +41 -12
- package/skills/rabetbase/guides/bff-creation-workflow.md +6 -4
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/data-api-guidelines.md +8 -8
- package/skills/rabetbase/guides/database-connection-workflow.md +8 -16
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +1 -6
- package/skills/rabetbase/guides/sdk-client-generation.md +146 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +1 -1
- package/skills/rabetbase/guides/troubleshooting.md +1 -1
- package/skills/rabetbase/guides/typescript-sdk.md +46 -10
- package/skills/rabetbase/references/rabetbase-api-list.md +4 -4
- package/skills/rabetbase/references/rabetbase-api-pull.md +44 -29
- package/skills/rabetbase/references/rabetbase-app-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-auth-login.md +4 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +3 -1
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +3 -1
- package/skills/rabetbase/references/rabetbase-config.md +75 -30
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +17 -6
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-db-analyze.md +3 -3
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -4
- package/skills/rabetbase/references/rabetbase-db-diff.md +6 -9
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
- package/skills/rabetbase/references/rabetbase-init.md +57 -51
- package/skills/rabetbase/references/rabetbase-kb.md +2 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +3 -3
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +12 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +2 -2
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase/references/rabetbase-user-account.md +1 -1
- package/skills/rabetbase/references/rabetbase-workspace.md +6 -6
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +17 -28
- package/templates/generate-api/api.ts.tpl +3 -3
- package/templates/generate-api/client.ts.tpl +10 -37
- package/lib/commands/data/filter.d.ts +0 -7
- package/lib/commands/data/filter.js +0 -1
- package/lib/commands/data/getOne.d.ts +0 -7
- package/lib/commands/data/getOne.js +0 -1
- package/lib/commands/data/index.d.ts +0 -8
- package/lib/commands/data/index.js +0 -1
- package/lib/commands/data/shared.d.ts +0 -33
- package/lib/commands/data/shared.js +0 -1
- package/lib/commands/init/index.d.ts +0 -11
- package/lib/commands/init/index.js +0 -1
- package/lib/utils/rules-cdn.d.ts +0 -38
- package/lib/utils/rules-cdn.js +0 -1
- package/templates/rules/lovrabet_rules.mdc.tpl +0 -893
- package/templates/skill/SKILL.md.tpl +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x3efa9d=a113_0x1c5b;(function(_0x1de3ca,_0x46fa77){const _0x2227c3=a113_0x1c5b,_0x5ceb2d=_0x1de3ca();while(!![]){try{const _0x1b4079=-parseInt(_0x2227c3(0xbd))/0x1*(-parseInt(_0x2227c3(0xa1))/0x2)+-parseInt(_0x2227c3(0x9f))/0x3*(parseInt(_0x2227c3(0x8a))/0x4)+-parseInt(_0x2227c3(0xe9))/0x5+-parseInt(_0x2227c3(0xb4))/0x6+parseInt(_0x2227c3(0xb3))/0x7*(parseInt(_0x2227c3(0xaa))/0x8)+-parseInt(_0x2227c3(0xef))/0x9+parseInt(_0x2227c3(0xd0))/0xa*(parseInt(_0x2227c3(0xe4))/0xb);if(_0x1b4079===_0x46fa77)break;else _0x5ceb2d['push'](_0x5ceb2d['shift']());}catch(_0x1d2108){_0x5ceb2d['push'](_0x5ceb2d['shift']());}}}(a113_0x86c5,0x5782b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x1c5b(_0xa52fc5,_0x2b4cb5){_0xa52fc5=_0xa52fc5-0x85;const _0x86c593=a113_0x86c5();let _0x1c5ba2=_0x86c593[_0xa52fc5];return _0x1c5ba2;}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';function a113_0x86c5(){const _0x4a725b=['menu_permission_denied','10203XPJzUd','length','5634PYFZdp','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','succeeded','isSafeInteger','password','cause','entries','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','8nNGYeP','Provide\x20an\x20HTTPS\x20URL.','menu_open_mode_invalid','rawFlags','verification','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','cookie','prototype','code','4580051PVGaSB','3799176CYGsdy','\x27\x5c\x27\x27','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','isArray','causemessage','plannedActions','\x20could\x20not\x20be\x20verified.','hash','\x20after\x20response\x20loss.','35hNaPUe','POST','menu_parent_not_folder','boolean','afterPlan','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','URL','/smartapi/menu/create','<platform-generated>','link','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','External\x20menu\x20creation\x20failed.','lookupCommand','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','write','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','Created\x20menu\x20','username','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','4490GfpqRp','\x20with\x20','filter','fact','menu_url_invalid','after','Menu\x20','string','includes','failed','byId','Menu\x20label','menu\x20list','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','visible','https:','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','visibility','\x20failed\x20final\x20verification.','add','50171mIlyJG','menu','embedded','create-recovery','menus','3404730ePZyzk','create\x20external\x20menu','before','call','object','readbackerror','4980807HlIFQY','menu_create_response_invalid','menu_state_drift','External\x20HTTPS\x20URL','menu_not_found','create-menu','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','parent','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Whether\x20the\x20menu\x20is\x20visible','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','str','expectedSnapshotHash','menu_sort_overflow','get','has','create-response-validation','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--appcode\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu_url_credentials_forbidden','Create\x20an\x20external\x20website\x20link\x20menu','\x20--format\x20compress','toLowerCase','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','parent-id','<redacted>','replace','url','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','recovered','external-link-create','open-mode','sort','new-window','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu_create_recovery_required','Run\x20','label','676pOPXRl','createdId','parentId','trim','appCode','type','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_mutation_failed','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','menu_verification_failed','flagMissing','path','plan','data','expectedPath','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','map','currentSnapshotHash','menu_sort_invalid'];a113_0x86c5=function(){return _0x4a725b;};return a113_0x86c5();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a113_0x3efa9d(0xc6)};export function validateExternalMenuUrl(_0x831ad7){const _0xe47334=a113_0x3efa9d,_0x535641=_0x831ad7[_0xe47334(0x8d)]();let _0x4b24e2;try{_0x4b24e2=new URL(_0x535641);}catch{throw menuError(_0xe47334(0xd4),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0xe47334(0xdd));}if(_0x4b24e2['protocol']!==_0xe47334(0xdf))throw menuError('menu_url_https_required',_0xe47334(0x107),_0xe47334(0xab));if(_0x4b24e2[_0xe47334(0xce)]||_0x4b24e2[_0xe47334(0xa5)])throw menuError(_0xe47334(0x103),_0xe47334(0xf9),_0xe47334(0x9a));return _0x535641;}export const menuExternalLinkCreate={'service':'menu','command':a113_0x3efa9d(0x110),'description':a113_0x3efa9d(0x104),'risk':a113_0x3efa9d(0xcb),'structuredErrors':!![],'flags':[{'name':a113_0x3efa9d(0x89),'type':'string','required':!![],'description':a113_0x3efa9d(0xdb)},{'name':a113_0x3efa9d(0x111),'type':a113_0x3efa9d(0xd7),'required':!![],'enum':[a113_0x3efa9d(0xe6),a113_0x3efa9d(0x85)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a113_0x3efa9d(0x10d),'type':'string','required':!![],'description':a113_0x3efa9d(0xf2)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a113_0x3efa9d(0xde),'type':a113_0x3efa9d(0xc0),'default':!![],'description':a113_0x3efa9d(0xf8)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4e5a8e){validateAddInput(_0x4e5a8e);},async 'dryRun'(_0x6bdf6f){const _0x576f74=a113_0x3efa9d;validateAddInput(_0x6bdf6f);const {plan:_0x571034}=await buildSafeAddPlan(_0x6bdf6f,!![]),_0x2c8635=_0x571034[_0x576f74(0xd5)],_0x243e75=createBody(_0x2c8635);return menuDryRunResult(_0x571034,{'method':'POST','url':_0x576f74(0xc4),'body':_0x243e75,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON['stringify'](_0x2c8635[_0x576f74(0x89)])+_0x576f74(0xd1)+_0x6bdf6f[_0x576f74(0xfa)](_0x576f74(0x111))+_0x576f74(0xa8)});},async 'execute'(_0x1b0ca0){const _0x555af2=a113_0x3efa9d;validateAddInput(_0x1b0ca0);const _0x2bd89a=await buildSafeAddPlan(_0x1b0ca0,![]),{plan:_0x45d886,snapshot:_0x33b6a4}=_0x2bd89a,_0x1ca6de=_0x45d886[_0x555af2(0xd5)],_0x4ce33c=buildMenuLookupCommand(_0x1b0ca0[_0x555af2(0x8e)]);await recheckAddSnapshot(_0x1b0ca0,_0x45d886);let _0x388544;try{_0x388544=await createMenuEntity(_0x1b0ca0[_0x555af2(0x8e)],_0x1b0ca0[_0x555af2(0xb0)],createBody(_0x1ca6de));}catch(_0x2332b6){const _0x2a4258=mapMenuApiError(_0x2332b6,_0x555af2(0xea));if(!isMenuResponseLoss(_0x2332b6)||_0x2a4258[_0x555af2(0xb2)]===_0x555af2(0x9e))throw externalLinkCreateFailure(_0x2a4258,_0x45d886,{'stage':'create','failed':{},'verification':{'status':_0x555af2(0xd9),'lookupCommand':_0x4ce33c}});return recoverAfterResponseLoss(_0x1b0ca0,_0x2bd89a,_0x4ce33c);}const _0x196d68=Number(_0x388544?.['id']),_0xb87d0a=typeof _0x388544?.[_0x555af2(0x95)]===_0x555af2(0xd7)?_0x388544['path']:'';if(!Number['isSafeInteger'](_0x196d68)||_0x196d68<=0x0||!_0xb87d0a[_0x555af2(0x8d)]()){const _0x400827=menuError(_0x555af2(0xf0),_0x555af2(0x86),_0x555af2(0x88)+_0x4ce33c+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x400827,_0x45d886,{'stage':_0x555af2(0xff),'succeeded':Number[_0x555af2(0xa4)](_0x196d68)&&_0x196d68>0x0?[{'id':_0x196d68,'created':!![]}]:[],'failed':{'createdId':Number[_0x555af2(0xa4)](_0x196d68)?_0x196d68:null,'generatedPathConfirmed':Boolean(_0xb87d0a[_0x555af2(0x8d)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x555af2(0xa4)](_0x196d68)&&_0x196d68>0x0?{..._0x1ca6de,'id':_0x196d68,'path':_0xb87d0a}:_0x1ca6de,'verification':{'status':'failed','lookupCommand':_0x4ce33c,...Number['isSafeInteger'](_0x196d68)&&_0x196d68>0x0?{'targetId':_0x196d68}:{}}});}const _0x2acff3=await readAndVerifyCreatedMenu({'appCode':_0x1b0ca0[_0x555af2(0x8e)],'cookie':_0x1b0ca0[_0x555af2(0xb0)],'plan':_0x45d886,'afterPlan':_0x1ca6de,'createdId':_0x196d68,'expectedPath':_0xb87d0a,'lookupCommand':_0x4ce33c,'recovered':![]});return creationSuccess(_0x45d886,_0x2acff3['snapshot'],_0x2acff3[_0x555af2(0xd3)],![]);}};function validateAddInput(_0x3cf082){const _0x4f1383=a113_0x3efa9d;if(!_0x3cf082[_0x4f1383(0xfa)](_0x4f1383(0x89))[_0x4f1383(0x8d)]())throw CliErrors[_0x4f1383(0x94)]('label');resolveExternalMenuType(_0x3cf082),validateExternalMenuUrl(_0x3cf082['str'](_0x4f1383(0x10d))),parseParentId(_0x3cf082,_0x4f1383(0x10a)),validateSort(_0x3cf082);}function resolveExternalMenuType(_0x1acffe){const _0xf0c28d=a113_0x3efa9d,_0xd20de0=_0x1acffe[_0xf0c28d(0xfa)](_0xf0c28d(0x111))[_0xf0c28d(0x8d)]();if(!_0xd20de0)throw CliErrors[_0xf0c28d(0x94)](_0xf0c28d(0x111));const _0x59cd3f=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0xd20de0];if(!_0x59cd3f)throw menuError(_0xf0c28d(0xac),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x59cd3f;}async function buildAddPlan(_0x1384c5,_0xbfff46){const _0x14a529=a113_0x3efa9d,_0x34e7fb=await fetchMutationSnapshot(_0x1384c5,_0x14a529(0xea)),_0x3fc0a4=parseParentId(_0x1384c5,_0x14a529(0x10a))??null;if(_0x3fc0a4!=null)requireFolder(_0x34e7fb,_0x3fc0a4);const _0x460387=validateSort(_0x1384c5),_0x213d49=_0x460387??nextSiblingSort(_0x34e7fb,_0x3fc0a4,_0x14a529(0xe5)),_0x4ad1d6=_0x1384c5['str']('label')[_0x14a529(0x8d)](),_0x225193=resolveExternalMenuType(_0x1384c5),_0xb1e8b3=validateExternalMenuUrl(_0x1384c5['str'](_0x14a529(0x10d))),_0x4bfe6e=Object[_0x14a529(0xb1)]['hasOwnProperty'][_0x14a529(0xec)](_0x1384c5[_0x14a529(0xad)],_0x14a529(0xde))?_0x1384c5['bool'](_0x14a529(0xde)):!![],_0x53399f={'id':null,'parentId':_0x3fc0a4,'label':_0x4ad1d6,'path':_0x14a529(0xc5),'url':_0xb1e8b3,'type':_0x225193,'visible':_0x4bfe6e,'sort':_0x213d49},_0x4f926d=buildMenuLookupCommand(_0x1384c5[_0x14a529(0x8e)]),_0x379795=mutationResult({'operation':_0x14a529(0xe3),'selector':{'parentId':_0x3fc0a4,'type':_0x225193,'label':_0x4ad1d6,'url':_0xb1e8b3},'before':null,'after':_0x53399f,'dryRun':_0xbfff46,'backend':[{'method':_0x14a529(0xbe),'path':_0x14a529(0xc4)}],'plannedActions':[{'stage':_0x14a529(0xf4),'method':_0x14a529(0xbe),'path':'/smartapi/menu/create','body':createBody(_0x53399f)}],'snapshotHash':_0x34e7fb[_0x14a529(0xbb)],'warnings':[_0x14a529(0xc7)],'verification':{'lookupCommand':_0x4f926d}});return{'plan':_0x379795,'snapshot':_0x34e7fb};}async function buildSafeAddPlan(_0x5f4de4,_0x27aeb3){try{return await buildAddPlan(_0x5f4de4,_0x27aeb3);}catch(_0x53349a){throw safeMenuAddError(_0x53349a);}}async function recheckAddSnapshot(_0x5549dc,_0x43a4f8){const _0x4dde93=a113_0x3efa9d;try{await recheckMutationSnapshot(_0x5549dc,_0x43a4f8,_0x4dde93(0xea));}catch(_0x1f3f41){const _0x14be15=getFailureRecord(_0x1f3f41);throw externalLinkCreateFailure(_0x1f3f41,_0x43a4f8,{'stage':'pre-write-recheck','failed':{..._0x14be15?.[_0x4dde93(0xfb)]?{'expectedSnapshotHash':_0x14be15[_0x4dde93(0xfb)]}:{},..._0x14be15?.[_0x4dde93(0x9c)]?{'currentSnapshotHash':_0x14be15[_0x4dde93(0x9c)]}:{}}});}}function createBody(_0x4fb938){const _0x295028=a113_0x3efa9d;return{'parentId':toApiParentId(_0x4fb938[_0x295028(0x8c)]),'label':String(_0x4fb938[_0x295028(0x89)]),'type':String(_0x4fb938[_0x295028(0x8f)]),'url':String(_0x4fb938['url']),'visible':Boolean(_0x4fb938[_0x295028(0xde)]),'sort':Number(_0x4fb938[_0x295028(0x112)]),'extend':{}};}function buildMenuLookupCommand(_0x5586e5){const _0x34a38b=a113_0x3efa9d,_0x2c045f='\x27'+_0x5586e5[_0x34a38b(0x10c)](/'/g,_0x34a38b(0xb5))+'\x27';return _0x34a38b(0x101)+_0x2c045f+_0x34a38b(0x105);}async function recoverAfterResponseLoss(_0x245a61,_0x583ca0,_0x4c1452){const _0xf5ff56=a113_0x3efa9d,{plan:_0x499cc0,snapshot:_0x4985c1}=_0x583ca0,_0x2936dd=_0x499cc0[_0xf5ff56(0xd5)];let _0x158e09;try{_0x158e09=await fetchMenuSnapshot(_0x245a61[_0xf5ff56(0x8e)],_0x245a61['cookie']);}catch(_0x315d9e){throw recoveryRequiredFailure(_0x499cc0,_0x4c1452,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x15ed0c=_0x158e09[_0xf5ff56(0xe8)]['filter'](_0x203b2b=>_0x203b2b[_0xf5ff56(0x8c)]===_0x2936dd[_0xf5ff56(0x8c)]&&_0x203b2b[_0xf5ff56(0x8f)]===_0x2936dd[_0xf5ff56(0x8f)]&&_0x203b2b[_0xf5ff56(0x89)]===_0x2936dd[_0xf5ff56(0x89)]&&_0x203b2b['url']===_0x2936dd[_0xf5ff56(0x10d)]),_0x319af4=_0x15ed0c[_0xf5ff56(0xd2)](_0x1a0073=>!_0x4985c1['byId']['has'](_0x1a0073['id'])),_0x25568d=_0x15ed0c['filter'](_0x13f250=>_0x4985c1[_0xf5ff56(0xda)][_0xf5ff56(0xfe)](_0x13f250['id']));if(_0x15ed0c[_0xf5ff56(0xa0)]!==0x1||_0x319af4[_0xf5ff56(0xa0)]!==0x1)throw recoveryRequiredFailure(_0x499cc0,_0x4c1452,{'matchCount':_0x15ed0c[_0xf5ff56(0xa0)],'newMatchCount':_0x319af4['length'],'preexistingMatchCount':_0x25568d['length']});const _0x4425a7=_0x319af4[0x0];try{verifyCreatedFact(_0x4425a7,_0x4425a7['id'],_0x2936dd,null);}catch(_0x1fca58){const _0x522521=_0x1fca58 instanceof Error&&'code'in _0x1fca58?_0x1fca58:menuError(_0xf5ff56(0x93),'Recovered\x20menu\x20'+_0x4425a7['id']+_0xf5ff56(0xba),'Run\x20'+_0x4c1452+_0xf5ff56(0xaf));throw externalLinkCreateFailure(_0x522521,_0x499cc0,{'stage':'verification','succeeded':[{'id':_0x4425a7['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4425a7['id'],'finalFactsConfirmed':![]},'after':_0x4425a7,'warnings':[_0xf5ff56(0xd6)+_0x4425a7['id']+_0xf5ff56(0xcf)],'verification':{'status':_0xf5ff56(0xd9),'targetId':_0x4425a7['id'],'recovered':!![],'lookupCommand':_0x4c1452}});}return creationSuccess(_0x499cc0,_0x158e09,_0x4425a7,!![]);}function recoveryRequiredFailure(_0x18c335,_0x461ae1,_0x45ae58){const _0x2eeaed=a113_0x3efa9d,_0x56ee91=menuError(_0x2eeaed(0x87),_0x2eeaed(0x108),_0x2eeaed(0x88)+_0x461ae1+_0x2eeaed(0xf5));return externalLinkCreateFailure(_0x56ee91,_0x18c335,{'stage':_0x2eeaed(0xe7),'failed':_0x45ae58,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x2eeaed(0xd9),..._0x45ae58,'lookupCommand':_0x461ae1}});}async function readAndVerifyCreatedMenu(_0x1e453e){const _0x383ea5=a113_0x3efa9d;let _0x1eef54;try{_0x1eef54=await fetchMenuSnapshot(_0x1e453e[_0x383ea5(0x8e)],_0x1e453e[_0x383ea5(0xb0)]);}catch(_0x1580c8){const _0x3ede94=menuError(_0x383ea5(0x93),'Menu\x20'+_0x1e453e[_0x383ea5(0x8b)]+_0x383ea5(0x90),'Run\x20'+_0x1e453e[_0x383ea5(0xc9)]+_0x383ea5(0x100));throw externalLinkCreateFailure(_0x3ede94,_0x1e453e[_0x383ea5(0x96)],{'stage':_0x383ea5(0xae),'succeeded':[{'id':_0x1e453e[_0x383ea5(0x8b)],'created':!![]}],'failed':{'id':_0x1e453e['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x1e453e[_0x383ea5(0xc1)],'id':_0x1e453e['createdId'],'path':_0x1e453e[_0x383ea5(0x98)]},'warnings':[_0x383ea5(0xd6)+_0x1e453e[_0x383ea5(0x8b)]+_0x383ea5(0xc2)],'verification':{'status':_0x383ea5(0xd9),'targetId':_0x1e453e['createdId'],'lookupCommand':_0x1e453e[_0x383ea5(0xc9)]}});}const _0x71de18=_0x1eef54['byId'][_0x383ea5(0xfd)](_0x1e453e[_0x383ea5(0x8b)]);try{if(!_0x71de18)throw menuError(_0x383ea5(0x93),_0x383ea5(0xcd)+_0x1e453e[_0x383ea5(0x8b)]+_0x383ea5(0x92),'Run\x20'+_0x1e453e[_0x383ea5(0xc9)]+_0x383ea5(0x100));verifyCreatedFact(_0x71de18,_0x1e453e[_0x383ea5(0x8b)],_0x1e453e[_0x383ea5(0xc1)],_0x1e453e[_0x383ea5(0x98)]);}catch(_0x545fc2){const _0x549b12=_0x545fc2 instanceof Error&&'code'in _0x545fc2?_0x545fc2:menuError(_0x383ea5(0x93),'Created\x20menu\x20'+_0x1e453e['createdId']+_0x383ea5(0xe2),_0x383ea5(0x88)+_0x1e453e[_0x383ea5(0xc9)]+_0x383ea5(0x100));throw externalLinkCreateFailure(_0x549b12,_0x1e453e['plan'],{'stage':_0x383ea5(0xae),'succeeded':[{'id':_0x1e453e[_0x383ea5(0x8b)],'created':!![]}],'failed':{'id':_0x1e453e['createdId'],'finalFactsConfirmed':![]},'after':_0x71de18??{..._0x1e453e['afterPlan'],'id':_0x1e453e[_0x383ea5(0x8b)],'path':_0x1e453e['expectedPath']},'warnings':[_0x383ea5(0xd6)+_0x1e453e[_0x383ea5(0x8b)]+_0x383ea5(0x99)],'verification':{'status':'failed','targetId':_0x1e453e['createdId'],'recovered':_0x1e453e[_0x383ea5(0x10f)],'lookupCommand':_0x1e453e['lookupCommand']}});}return{'snapshot':_0x1eef54,'fact':_0x71de18};}function verifyCreatedFact(_0x1ae4cf,_0x39236c,_0x174c40,_0x604e8c){const _0x14634c=a113_0x3efa9d;if(!Number[_0x14634c(0xa4)](_0x1ae4cf['id'])||_0x1ae4cf['id']<=0x0||_0x1ae4cf['id']!==_0x39236c)throw menuError(_0x14634c(0x93),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x14634c(0xa2));const _0x4e242a=[[_0x14634c(0xf6),_0x1ae4cf['parentId'],_0x174c40[_0x14634c(0x8c)]],[_0x14634c(0x8f),_0x1ae4cf['type'],_0x174c40[_0x14634c(0x8f)]],['label',_0x1ae4cf[_0x14634c(0x89)],_0x174c40['label']],[_0x14634c(0xc3),_0x1ae4cf[_0x14634c(0x10d)],_0x174c40['url']],[_0x14634c(0xe1),_0x1ae4cf[_0x14634c(0xde)],_0x174c40[_0x14634c(0xde)]],[_0x14634c(0x112),_0x1ae4cf[_0x14634c(0x112)],_0x174c40[_0x14634c(0x112)]]];for(const [_0xd0dae5,_0x150563,_0x5ba3bc]of _0x4e242a){if(_0x150563!==_0x5ba3bc)throw menuError(_0x14634c(0x93),_0x14634c(0xcd)+_0x1ae4cf['id']+'\x20has\x20an\x20unexpected\x20'+_0xd0dae5+'.',_0x14634c(0x109));}if(!_0x1ae4cf[_0x14634c(0x95)]['trim']()||_0x604e8c!==null&&_0x1ae4cf[_0x14634c(0x95)]!==_0x604e8c)throw menuError(_0x14634c(0x93),_0x14634c(0xcd)+_0x1ae4cf['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x14634c(0x109));}function creationSuccess(_0x4fc31a,_0x2dcdbc,_0x3b8607,_0x48b937){const _0x517451=a113_0x3efa9d,_0x8d4df0=mutationResult({..._0x4fc31a,'after':_0x3b8607,'dryRun':![],'succeeded':[{'id':_0x3b8607['id'],'created':!![],'recovered':_0x48b937}],'verification':{'checkedBy':_0x517451(0xdc),'snapshotHash':_0x2dcdbc[_0x517451(0xbb)],'targetId':_0x3b8607['id'],'recovered':_0x48b937,'path':_0x3b8607[_0x517451(0x95)]}});return{'ok':!![],'message':_0x48b937?'Recovered\x20created\x20external\x20menu\x20'+_0x3b8607['id']+_0x517451(0xbc):'Created\x20external\x20menu\x20'+_0x3b8607['id']+'.','data':{..._0x8d4df0,'recovered':_0x48b937}};}function externalLinkCreateFailure(_0x2b61dc,_0x57e4e8,_0x28467b){const _0x4789f7=a113_0x3efa9d;return menuFailure(safeMenuAddError(_0x2b61dc),redactFailurePlan(_0x57e4e8),{..._0x28467b,'succeeded':_0x28467b[_0x4789f7(0xa3)]?.['map'](redactFailureRecord),'failed':_0x28467b[_0x4789f7(0xd9)]?redactFailureRecord(_0x28467b[_0x4789f7(0xd9)]):undefined,'verification':_0x28467b[_0x4789f7(0xae)]?redactFailureRecord(_0x28467b[_0x4789f7(0xae)]):undefined,'after':_0x28467b[_0x4789f7(0xd5)]===undefined?undefined:redactFailureValue(_0x28467b['after'])});}function redactFailurePlan(_0x45861a){const _0x1a1d8a=a113_0x3efa9d;return{..._0x45861a,'selector':redactFailureRecord(_0x45861a['selector']),'before':redactFailureValue(_0x45861a[_0x1a1d8a(0xeb)]),'after':redactFailureValue(_0x45861a[_0x1a1d8a(0xd5)]),'plannedActions':_0x45861a[_0x1a1d8a(0xb9)]?.[_0x1a1d8a(0x9b)](_0x1c02a2=>({..._0x1c02a2,'body':redactFailureRecord(_0x1c02a2['body'])})),'succeeded':_0x45861a['succeeded'][_0x1a1d8a(0x9b)](redactFailureRecord),'failed':_0x45861a[_0x1a1d8a(0xd9)][_0x1a1d8a(0x9b)](redactFailureRecord),'verification':_0x45861a[_0x1a1d8a(0xae)]?redactFailureRecord(_0x45861a[_0x1a1d8a(0xae)]):undefined};}function redactFailureRecord(_0x25cb91){return redactFailureValue(_0x25cb91);}function redactFailureValue(_0x386cce,_0xff4575=''){const _0x3187e8=a113_0x3efa9d,_0x6f6a01=_0xff4575[_0x3187e8(0x106)]()[_0x3187e8(0x10c)](/[^a-z0-9]/g,'');if([_0x3187e8(0xa6),_0x3187e8(0xb8),_0x3187e8(0xee),'rawerror'][_0x3187e8(0xd8)](_0x6f6a01))return _0x3187e8(0x10b);if(Array[_0x3187e8(0xb7)](_0x386cce))return _0x386cce[_0x3187e8(0x9b)](_0x1d9f53=>redactFailureValue(_0x1d9f53));if(_0x386cce&&typeof _0x386cce===_0x3187e8(0xed))return Object['fromEntries'](Object[_0x3187e8(0xa7)](_0x386cce)[_0x3187e8(0x9b)](([_0x208d07,_0x4ce072])=>[_0x208d07,redactFailureValue(_0x4ce072,_0x208d07)]));return _0x386cce;}function safeMenuAddError(_0x557e9a){const _0x164db4=a113_0x3efa9d,_0x521b27=_0x557e9a instanceof CliError?_0x557e9a[_0x164db4(0xb2)]:_0x164db4(0x91);switch(_0x521b27){case _0x164db4(0xf1):return menuError(_0x521b27,_0x164db4(0xcc),_0x164db4(0xf7));case _0x164db4(0x9e):return menuError(_0x521b27,'Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.',_0x164db4(0xa9));case'menu_create_response_invalid':return menuError(_0x521b27,_0x164db4(0x102),_0x164db4(0x10e));case _0x164db4(0x93):return menuError(_0x521b27,_0x164db4(0xb6),_0x164db4(0x10e));case _0x164db4(0x87):return menuError(_0x521b27,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x164db4(0xe0));case _0x164db4(0x91):case _0x164db4(0xf3):case _0x164db4(0xbf):case _0x164db4(0x9d):case _0x164db4(0xfc):return menuError(_0x521b27,_0x164db4(0xc8),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x164db4(0x91),_0x164db4(0xc8),_0x164db4(0xca));}}function getFailureRecord(_0x1c9885){const _0x47379a=a113_0x3efa9d;if(!(_0x1c9885 instanceof Error)||!(_0x47379a(0x97)in _0x1c9885))return undefined;const _0x129526=_0x1c9885[_0x47379a(0x97)];if(!_0x129526||typeof _0x129526!==_0x47379a(0xed))return undefined;const _0x1c10c0=_0x129526[_0x47379a(0xd9)];if(!Array[_0x47379a(0xb7)](_0x1c10c0)||!_0x1c10c0[0x0]||typeof _0x1c10c0[0x0]!==_0x47379a(0xed))return undefined;return _0x1c10c0[0x0];}
|
|
1
|
+
const a111_0x3e4ded=a111_0x5101;(function(_0x368860,_0x2628f1){const _0x236180=a111_0x5101,_0x56aea9=_0x368860();while(!![]){try{const _0x26dfba=parseInt(_0x236180(0xf7))/0x1*(parseInt(_0x236180(0xe4))/0x2)+-parseInt(_0x236180(0xea))/0x3+parseInt(_0x236180(0x107))/0x4+parseInt(_0x236180(0xcd))/0x5*(-parseInt(_0x236180(0x12a))/0x6)+-parseInt(_0x236180(0xe2))/0x7+-parseInt(_0x236180(0x128))/0x8*(-parseInt(_0x236180(0x12f))/0x9)+parseInt(_0x236180(0xd6))/0xa;if(_0x26dfba===_0x2628f1)break;else _0x56aea9['push'](_0x56aea9['shift']());}catch(_0x28aba9){_0x56aea9['push'](_0x56aea9['shift']());}}}(a111_0x5484,0x4b13f));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';function a111_0x5484(){const _0x4461a9=['prototype','after','menu_create_recovery_required','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','cause','<platform-generated>','code','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','replace','lookupCommand','iframe','2016732taLmJS','entries','Recovered\x20created\x20external\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20label','succeeded','rawerror','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','boolean','includes','menu_mutation_failed','menu_sort_invalid','readbackerror','link','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','menu_not_found','str','\x20after\x20response\x20loss.','fromEntries','causemessage','has','parent-id','failed','menu_url_invalid','string','Menu\x20','parent','length','hasOwnProperty','write','sort','create','menu_create_response_invalid','16jvhuGG','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','23712CsgnTc','menus','open-mode','cookie','expectedSnapshotHash','462978TYUipF','menu\x20list','create\x20external\x20menu','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','stringify','parentId','\x20could\x20not\x20be\x20verified.','\x20has\x20an\x20unexpected\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Create\x20an\x20external\x20website\x20link\x20menu','URL','visible','bool','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','object','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','trim','appCode','POST','External\x20HTTPS\x20URL','recovered','label','isSafeInteger','menu_url_credentials_forbidden','verification','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','password','map','How\x20to\x20open\x20the\x20external\x20website','plan','toLowerCase','visibility','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_open_mode_invalid','new-window','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','\x20with\x20','menu_permission_denied','fact','isArray','335EQaZWl','\x20--format\x20compress','create-recovery','menu_parent_not_folder','hash','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','type','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','createdId','666840FTkExs','data','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_state_drift','create-menu','Run\x20','plannedActions','username','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','protocol','Created\x20menu\x20','create-response-validation','690151BYhCrd','menu','80042bbEVUD','menu_verification_failed','add','\x27\x5c\x27\x27','body','afterPlan','1209195YoDrmt','rawFlags','currentSnapshotHash','\x20has\x20an\x20unexpected\x20generated\x20path.','flagMissing','embedded','path','snapshot','filter','byId','/smartapi/menu/create','Whether\x20the\x20menu\x20is\x20visible','url','10XpbZSS','get','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','expectedPath','https:'];a111_0x5484=function(){return _0x4461a9;};return a111_0x5484();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a111_0x3e4ded(0x106),'new-window':a111_0x3e4ded(0x114)};export function validateExternalMenuUrl(_0x1566c8){const _0x27665e=a111_0x3e4ded,_0x3884dc=_0x1566c8[_0x27665e(0xb4)]();let _0xb86db3;try{_0xb86db3=new URL(_0x3884dc);}catch{throw menuError(_0x27665e(0x11e),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x27665e(0xf9));}if(_0xb86db3[_0x27665e(0xdf)]!==_0x27665e(0xfb))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0xb86db3[_0x27665e(0xdd)]||_0xb86db3[_0x27665e(0xbf)])throw menuError(_0x27665e(0xbb),_0x27665e(0xd2),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x3884dc;}export const menuExternalLinkCreate={'service':a111_0x3e4ded(0xe3),'command':'external-link-create','description':a111_0x3e4ded(0xac),'risk':a111_0x3e4ded(0x124),'structuredErrors':!![],'flags':[{'name':a111_0x3e4ded(0xb9),'type':a111_0x3e4ded(0x11f),'required':!![],'description':a111_0x3e4ded(0x10b)},{'name':a111_0x3e4ded(0x12c),'type':a111_0x3e4ded(0x11f),'required':!![],'enum':[a111_0x3e4ded(0xef),a111_0x3e4ded(0xc7)],'description':a111_0x3e4ded(0xc1)},{'name':a111_0x3e4ded(0xf6),'type':a111_0x3e4ded(0x11f),'required':!![],'description':a111_0x3e4ded(0xb7)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a111_0x3e4ded(0xae),'type':a111_0x3e4ded(0x10f),'default':!![],'description':a111_0x3e4ded(0xf5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x352527){validateAddInput(_0x352527);},async 'dryRun'(_0x57817d){const _0x4d7acf=a111_0x3e4ded;validateAddInput(_0x57817d);const {plan:_0xc9609c}=await buildSafeAddPlan(_0x57817d,!![]),_0x1482f3=_0xc9609c[_0x4d7acf(0xfd)],_0x20235f=createBody(_0x1482f3);return menuDryRunResult(_0xc9609c,{'method':_0x4d7acf(0xb6),'url':'/smartapi/menu/create','body':_0x20235f,'description':'Would\x20create\x20external\x20website\x20link\x20menu\x20'+JSON[_0x4d7acf(0x133)](_0x1482f3[_0x4d7acf(0xb9)])+_0x4d7acf(0xc9)+_0x57817d['str']('open-mode')+_0x4d7acf(0xbd)});},async 'execute'(_0x107326){const _0x417439=a111_0x3e4ded;validateAddInput(_0x107326);const _0x92d3f=await buildSafeAddPlan(_0x107326,![]),{plan:_0x58e69b,snapshot:_0x600cb6}=_0x92d3f,_0x54c28b=_0x58e69b[_0x417439(0xfd)],_0x11cefb=buildMenuLookupCommand(_0x107326[_0x417439(0xb5)]);await recheckAddSnapshot(_0x107326,_0x58e69b);let _0x30ca95;try{_0x30ca95=await createMenuEntity(_0x107326[_0x417439(0xb5)],_0x107326['cookie'],createBody(_0x54c28b));}catch(_0x5bc64e){const _0x3e527f=mapMenuApiError(_0x5bc64e,_0x417439(0x131));if(!isMenuResponseLoss(_0x5bc64e)||_0x3e527f[_0x417439(0x102)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x3e527f,_0x58e69b,{'stage':_0x417439(0x126),'failed':{},'verification':{'status':_0x417439(0x11d),'lookupCommand':_0x11cefb}});return recoverAfterResponseLoss(_0x107326,_0x92d3f,_0x11cefb);}const _0x4745d5=Number(_0x30ca95?.['id']),_0x9d3212=typeof _0x30ca95?.[_0x417439(0xf0)]===_0x417439(0x11f)?_0x30ca95[_0x417439(0xf0)]:'';if(!Number[_0x417439(0xba)](_0x4745d5)||_0x4745d5<=0x0||!_0x9d3212[_0x417439(0xb4)]()){const _0x4a0c76=menuError(_0x417439(0x127),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x417439(0xdb)+_0x11cefb+_0x417439(0xb3));throw externalLinkCreateFailure(_0x4a0c76,_0x58e69b,{'stage':_0x417439(0xe1),'succeeded':Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?[{'id':_0x4745d5,'created':!![]}]:[],'failed':{'createdId':Number[_0x417439(0xba)](_0x4745d5)?_0x4745d5:null,'generatedPathConfirmed':Boolean(_0x9d3212[_0x417439(0xb4)]())},'warnings':[_0x417439(0x132)],'after':Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?{..._0x54c28b,'id':_0x4745d5,'path':_0x9d3212}:_0x54c28b,'verification':{'status':_0x417439(0x11d),'lookupCommand':_0x11cefb,...Number[_0x417439(0xba)](_0x4745d5)&&_0x4745d5>0x0?{'targetId':_0x4745d5}:{}}});}const _0x25bc8a=await readAndVerifyCreatedMenu({'appCode':_0x107326[_0x417439(0xb5)],'cookie':_0x107326[_0x417439(0x12d)],'plan':_0x58e69b,'afterPlan':_0x54c28b,'createdId':_0x4745d5,'expectedPath':_0x9d3212,'lookupCommand':_0x11cefb,'recovered':![]});return creationSuccess(_0x58e69b,_0x25bc8a[_0x417439(0xf1)],_0x25bc8a[_0x417439(0xcb)],![]);}};function validateAddInput(_0x233b63){const _0x29a3c7=a111_0x3e4ded;if(!_0x233b63[_0x29a3c7(0x117)](_0x29a3c7(0xb9))[_0x29a3c7(0xb4)]())throw CliErrors[_0x29a3c7(0xee)]('label');resolveExternalMenuType(_0x233b63),validateExternalMenuUrl(_0x233b63['str'](_0x29a3c7(0xf6))),parseParentId(_0x233b63,_0x29a3c7(0x11c)),validateSort(_0x233b63);}function resolveExternalMenuType(_0x674563){const _0x14d63c=a111_0x3e4ded,_0x4f7e0d=_0x674563['str'](_0x14d63c(0x12c))[_0x14d63c(0xb4)]();if(!_0x4f7e0d)throw CliErrors['flagMissing']('open-mode');const _0x251dcc=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4f7e0d];if(!_0x251dcc)throw menuError(_0x14d63c(0xc6),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x251dcc;}async function buildAddPlan(_0x454f88,_0x1877bf){const _0x1806ef=a111_0x3e4ded,_0x1347c2=await fetchMutationSnapshot(_0x454f88,_0x1806ef(0x131)),_0x25c85a=parseParentId(_0x454f88,_0x1806ef(0x11c))??null;if(_0x25c85a!=null)requireFolder(_0x1347c2,_0x25c85a);const _0x49f8fb=validateSort(_0x454f88),_0x5aacb4=_0x49f8fb??nextSiblingSort(_0x1347c2,_0x25c85a,'menu'),_0x37d1cf=_0x454f88[_0x1806ef(0x117)](_0x1806ef(0xb9))['trim'](),_0x3c8188=resolveExternalMenuType(_0x454f88),_0x4ba44d=validateExternalMenuUrl(_0x454f88[_0x1806ef(0x117)](_0x1806ef(0xf6))),_0x1ee680=Object[_0x1806ef(0xfc)][_0x1806ef(0x123)]['call'](_0x454f88[_0x1806ef(0xeb)],_0x1806ef(0xae))?_0x454f88[_0x1806ef(0xaf)](_0x1806ef(0xae)):!![],_0x1eca42={'id':null,'parentId':_0x25c85a,'label':_0x37d1cf,'path':_0x1806ef(0x101),'url':_0x4ba44d,'type':_0x3c8188,'visible':_0x1ee680,'sort':_0x5aacb4},_0x35bd08=buildMenuLookupCommand(_0x454f88[_0x1806ef(0xb5)]),_0x359f4e=mutationResult({'operation':_0x1806ef(0xe6),'selector':{'parentId':_0x25c85a,'type':_0x3c8188,'label':_0x37d1cf,'url':_0x4ba44d},'before':null,'after':_0x1eca42,'dryRun':_0x1877bf,'backend':[{'method':_0x1806ef(0xb6),'path':_0x1806ef(0xf4)}],'plannedActions':[{'stage':_0x1806ef(0xda),'method':_0x1806ef(0xb6),'path':'/smartapi/menu/create','body':createBody(_0x1eca42)}],'snapshotHash':_0x1347c2[_0x1806ef(0xd1)],'warnings':[_0x1806ef(0x103)],'verification':{'lookupCommand':_0x35bd08}});return{'plan':_0x359f4e,'snapshot':_0x1347c2};}async function buildSafeAddPlan(_0x19a465,_0x4dce1a){try{return await buildAddPlan(_0x19a465,_0x4dce1a);}catch(_0x3b7365){throw safeMenuAddError(_0x3b7365);}}async function recheckAddSnapshot(_0x168f0a,_0x1e1c5e){const _0x33fc5a=a111_0x3e4ded;try{await recheckMutationSnapshot(_0x168f0a,_0x1e1c5e,_0x33fc5a(0x131));}catch(_0x48e0b8){const _0x137037=getFailureRecord(_0x48e0b8);throw externalLinkCreateFailure(_0x48e0b8,_0x1e1c5e,{'stage':'pre-write-recheck','failed':{..._0x137037?.[_0x33fc5a(0x12e)]?{'expectedSnapshotHash':_0x137037[_0x33fc5a(0x12e)]}:{},..._0x137037?.[_0x33fc5a(0xec)]?{'currentSnapshotHash':_0x137037[_0x33fc5a(0xec)]}:{}}});}}function createBody(_0x5650a0){const _0x10e328=a111_0x3e4ded;return{'parentId':toApiParentId(_0x5650a0[_0x10e328(0x134)]),'label':String(_0x5650a0[_0x10e328(0xb9)]),'type':String(_0x5650a0['type']),'url':String(_0x5650a0[_0x10e328(0xf6)]),'visible':Boolean(_0x5650a0[_0x10e328(0xae)]),'sort':Number(_0x5650a0[_0x10e328(0x125)]),'extend':{}};}function a111_0x5101(_0x3262b7,_0x32578e){_0x3262b7=_0x3262b7-0xa8;const _0x548463=a111_0x5484();let _0x510109=_0x548463[_0x3262b7];return _0x510109;}function buildMenuLookupCommand(_0x5c8ef5){const _0x4c9d0c=a111_0x3e4ded,_0x2a7ff4='\x27'+_0x5c8ef5[_0x4c9d0c(0x104)](/'/g,_0x4c9d0c(0xe7))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x2a7ff4+_0x4c9d0c(0xce);}async function recoverAfterResponseLoss(_0x399e3d,_0x1dbefb,_0x12d7f9){const _0x217920=a111_0x3e4ded,{plan:_0x5628b8,snapshot:_0x241960}=_0x1dbefb,_0xbac798=_0x5628b8[_0x217920(0xfd)];let _0x309ead;try{_0x309ead=await fetchMenuSnapshot(_0x399e3d[_0x217920(0xb5)],_0x399e3d[_0x217920(0x12d)]);}catch(_0x4875b3){throw recoveryRequiredFailure(_0x5628b8,_0x12d7f9,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1f6952=_0x309ead[_0x217920(0x12b)][_0x217920(0xf2)](_0x48897a=>_0x48897a[_0x217920(0x134)]===_0xbac798[_0x217920(0x134)]&&_0x48897a['type']===_0xbac798[_0x217920(0xd3)]&&_0x48897a[_0x217920(0xb9)]===_0xbac798[_0x217920(0xb9)]&&_0x48897a[_0x217920(0xf6)]===_0xbac798[_0x217920(0xf6)]),_0x28dd45=_0x1f6952['filter'](_0x5f09b7=>!_0x241960[_0x217920(0xf3)][_0x217920(0x11b)](_0x5f09b7['id'])),_0x2971da=_0x1f6952[_0x217920(0xf2)](_0x5cce96=>_0x241960[_0x217920(0xf3)][_0x217920(0x11b)](_0x5cce96['id']));if(_0x1f6952['length']!==0x1||_0x28dd45[_0x217920(0x122)]!==0x1)throw recoveryRequiredFailure(_0x5628b8,_0x12d7f9,{'matchCount':_0x1f6952[_0x217920(0x122)],'newMatchCount':_0x28dd45[_0x217920(0x122)],'preexistingMatchCount':_0x2971da[_0x217920(0x122)]});const _0x53f022=_0x28dd45[0x0];try{verifyCreatedFact(_0x53f022,_0x53f022['id'],_0xbac798,null);}catch(_0x11ee67){const _0x5f444e=_0x11ee67 instanceof Error&&_0x217920(0x102)in _0x11ee67?_0x11ee67:menuError(_0x217920(0xe5),'Recovered\x20menu\x20'+_0x53f022['id']+_0x217920(0xa8),_0x217920(0xdb)+_0x12d7f9+_0x217920(0xb0));throw externalLinkCreateFailure(_0x5f444e,_0x5628b8,{'stage':_0x217920(0xbc),'succeeded':[{'id':_0x53f022['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x53f022['id'],'finalFactsConfirmed':![]},'after':_0x53f022,'warnings':['Menu\x20'+_0x53f022['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x217920(0x11d),'targetId':_0x53f022['id'],'recovered':!![],'lookupCommand':_0x12d7f9}});}return creationSuccess(_0x5628b8,_0x309ead,_0x53f022,!![]);}function recoveryRequiredFailure(_0x33c74a,_0x162981,_0x5db0e4){const _0x583961=a111_0x3e4ded,_0x3f4374=menuError('menu_create_recovery_required',_0x583961(0x115),_0x583961(0xdb)+_0x162981+_0x583961(0xff));return externalLinkCreateFailure(_0x3f4374,_0x33c74a,{'stage':_0x583961(0xcf),'failed':_0x5db0e4,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x583961(0x11d),..._0x5db0e4,'lookupCommand':_0x162981}});}async function readAndVerifyCreatedMenu(_0xc37b20){const _0x330acc=a111_0x3e4ded;let _0x2ceac2;try{_0x2ceac2=await fetchMenuSnapshot(_0xc37b20[_0x330acc(0xb5)],_0xc37b20[_0x330acc(0x12d)]);}catch(_0x2bc9ae){const _0x56cff1=menuError(_0x330acc(0xe5),_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+_0x330acc(0xd8),'Run\x20'+_0xc37b20['lookupCommand']+_0x330acc(0xc8));throw externalLinkCreateFailure(_0x56cff1,_0xc37b20[_0x330acc(0xc2)],{'stage':'verification','succeeded':[{'id':_0xc37b20[_0x330acc(0xd5)],'created':!![]}],'failed':{'id':_0xc37b20[_0x330acc(0xd5)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0xc37b20['afterPlan'],'id':_0xc37b20[_0x330acc(0xd5)],'path':_0xc37b20['expectedPath']},'warnings':[_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+_0x330acc(0xb2)],'verification':{'status':_0x330acc(0x11d),'targetId':_0xc37b20['createdId'],'lookupCommand':_0xc37b20['lookupCommand']}});}const _0x23ad7e=_0x2ceac2[_0x330acc(0xf3)][_0x330acc(0xf8)](_0xc37b20[_0x330acc(0xd5)]);try{if(!_0x23ad7e)throw menuError('menu_verification_failed',_0x330acc(0xe0)+_0xc37b20[_0x330acc(0xd5)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x330acc(0xdb)+_0xc37b20['lookupCommand']+_0x330acc(0xc8));verifyCreatedFact(_0x23ad7e,_0xc37b20[_0x330acc(0xd5)],_0xc37b20[_0x330acc(0xe9)],_0xc37b20[_0x330acc(0xfa)]);}catch(_0x373621){const _0xda9c99=_0x373621 instanceof Error&&_0x330acc(0x102)in _0x373621?_0x373621:menuError(_0x330acc(0xe5),_0x330acc(0xe0)+_0xc37b20[_0x330acc(0xd5)]+'\x20failed\x20final\x20verification.',_0x330acc(0xdb)+_0xc37b20[_0x330acc(0x105)]+_0x330acc(0xc8));throw externalLinkCreateFailure(_0xda9c99,_0xc37b20[_0x330acc(0xc2)],{'stage':'verification','succeeded':[{'id':_0xc37b20[_0x330acc(0xd5)],'created':!![]}],'failed':{'id':_0xc37b20[_0x330acc(0xd5)],'finalFactsConfirmed':![]},'after':_0x23ad7e??{..._0xc37b20[_0x330acc(0xe9)],'id':_0xc37b20[_0x330acc(0xd5)],'path':_0xc37b20['expectedPath']},'warnings':[_0x330acc(0x120)+_0xc37b20[_0x330acc(0xd5)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x330acc(0x11d),'targetId':_0xc37b20[_0x330acc(0xd5)],'recovered':_0xc37b20[_0x330acc(0xb8)],'lookupCommand':_0xc37b20['lookupCommand']}});}return{'snapshot':_0x2ceac2,'fact':_0x23ad7e};}function verifyCreatedFact(_0x1a80c8,_0x38ed68,_0x2cff4c,_0x1899af){const _0x1a7b9d=a111_0x3e4ded;if(!Number[_0x1a7b9d(0xba)](_0x1a80c8['id'])||_0x1a80c8['id']<=0x0||_0x1a80c8['id']!==_0x38ed68)throw menuError(_0x1a7b9d(0xe5),_0x1a7b9d(0x129),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x628b60=[[_0x1a7b9d(0x121),_0x1a80c8['parentId'],_0x2cff4c['parentId']],[_0x1a7b9d(0xd3),_0x1a80c8[_0x1a7b9d(0xd3)],_0x2cff4c[_0x1a7b9d(0xd3)]],[_0x1a7b9d(0xb9),_0x1a80c8['label'],_0x2cff4c[_0x1a7b9d(0xb9)]],[_0x1a7b9d(0xad),_0x1a80c8['url'],_0x2cff4c['url']],[_0x1a7b9d(0xc4),_0x1a80c8[_0x1a7b9d(0xae)],_0x2cff4c[_0x1a7b9d(0xae)]],['sort',_0x1a80c8[_0x1a7b9d(0x125)],_0x2cff4c[_0x1a7b9d(0x125)]]];for(const [_0x2eaf43,_0x49f749,_0x393bef]of _0x628b60){if(_0x49f749!==_0x393bef)throw menuError('menu_verification_failed',_0x1a7b9d(0xe0)+_0x1a80c8['id']+_0x1a7b9d(0xa9)+_0x2eaf43+'.',_0x1a7b9d(0xde));}if(!_0x1a80c8['path'][_0x1a7b9d(0xb4)]()||_0x1899af!==null&&_0x1a80c8[_0x1a7b9d(0xf0)]!==_0x1899af)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x1a80c8['id']+_0x1a7b9d(0xed),_0x1a7b9d(0xde));}function creationSuccess(_0x8eb560,_0x3f00f8,_0x2c450b,_0x23f295){const _0x201867=a111_0x3e4ded,_0x10d0d7=mutationResult({..._0x8eb560,'after':_0x2c450b,'dryRun':![],'succeeded':[{'id':_0x2c450b['id'],'created':!![],'recovered':_0x23f295}],'verification':{'checkedBy':_0x201867(0x130),'snapshotHash':_0x3f00f8[_0x201867(0xd1)],'targetId':_0x2c450b['id'],'recovered':_0x23f295,'path':_0x2c450b['path']}});return{'ok':!![],'message':_0x23f295?_0x201867(0x109)+_0x2c450b['id']+_0x201867(0x118):'Created\x20external\x20menu\x20'+_0x2c450b['id']+'.','data':{..._0x10d0d7,'recovered':_0x23f295}};}function externalLinkCreateFailure(_0x25ce52,_0x282b01,_0x2248f8){const _0x1bcd6a=a111_0x3e4ded;return menuFailure(safeMenuAddError(_0x25ce52),redactFailurePlan(_0x282b01),{..._0x2248f8,'succeeded':_0x2248f8[_0x1bcd6a(0x10c)]?.[_0x1bcd6a(0xc0)](redactFailureRecord),'failed':_0x2248f8[_0x1bcd6a(0x11d)]?redactFailureRecord(_0x2248f8[_0x1bcd6a(0x11d)]):undefined,'verification':_0x2248f8['verification']?redactFailureRecord(_0x2248f8[_0x1bcd6a(0xbc)]):undefined,'after':_0x2248f8[_0x1bcd6a(0xfd)]===undefined?undefined:redactFailureValue(_0x2248f8[_0x1bcd6a(0xfd)])});}function redactFailurePlan(_0x52e7cf){const _0x2418ae=a111_0x3e4ded;return{..._0x52e7cf,'selector':redactFailureRecord(_0x52e7cf['selector']),'before':redactFailureValue(_0x52e7cf['before']),'after':redactFailureValue(_0x52e7cf[_0x2418ae(0xfd)]),'plannedActions':_0x52e7cf[_0x2418ae(0xdc)]?.[_0x2418ae(0xc0)](_0x3a8360=>({..._0x3a8360,'body':redactFailureRecord(_0x3a8360[_0x2418ae(0xe8)])})),'succeeded':_0x52e7cf['succeeded'][_0x2418ae(0xc0)](redactFailureRecord),'failed':_0x52e7cf[_0x2418ae(0x11d)][_0x2418ae(0xc0)](redactFailureRecord),'verification':_0x52e7cf[_0x2418ae(0xbc)]?redactFailureRecord(_0x52e7cf[_0x2418ae(0xbc)]):undefined};}function redactFailureRecord(_0x3d14cc){return redactFailureValue(_0x3d14cc);}function redactFailureValue(_0x490637,_0x3719b4=''){const _0x2a0b6b=a111_0x3e4ded,_0x22b053=_0x3719b4[_0x2a0b6b(0xc3)]()[_0x2a0b6b(0x104)](/[^a-z0-9]/g,'');if([_0x2a0b6b(0x100),_0x2a0b6b(0x11a),_0x2a0b6b(0x113),_0x2a0b6b(0x10d)][_0x2a0b6b(0x110)](_0x22b053))return'<redacted>';if(Array[_0x2a0b6b(0xcc)](_0x490637))return _0x490637['map'](_0x322927=>redactFailureValue(_0x322927));if(_0x490637&&typeof _0x490637===_0x2a0b6b(0xb1))return Object[_0x2a0b6b(0x119)](Object[_0x2a0b6b(0x108)](_0x490637)[_0x2a0b6b(0xc0)](([_0x4fe342,_0x3dd8a9])=>[_0x4fe342,redactFailureValue(_0x3dd8a9,_0x4fe342)]));return _0x490637;}function safeMenuAddError(_0xbd4209){const _0x18ca73=a111_0x3e4ded,_0x2fb657=_0xbd4209 instanceof CliError?_0xbd4209[_0x18ca73(0x102)]:_0x18ca73(0x111);switch(_0x2fb657){case _0x18ca73(0xd9):return menuError(_0x2fb657,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x18ca73(0x10e));case _0x18ca73(0xca):return menuError(_0x2fb657,_0x18ca73(0xbe),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x18ca73(0x127):return menuError(_0x2fb657,_0x18ca73(0x10a),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x18ca73(0xe5):return menuError(_0x2fb657,_0x18ca73(0xd4),_0x18ca73(0xaa));case _0x18ca73(0xfe):return menuError(_0x2fb657,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x18ca73(0xab));case _0x18ca73(0x111):case _0x18ca73(0x116):case _0x18ca73(0xd0):case _0x18ca73(0x112):case'menu_sort_overflow':return menuError(_0x2fb657,'External\x20menu\x20creation\x20failed.',_0x18ca73(0xc5));default:return menuError(_0x18ca73(0x111),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x17bcdc){const _0x1be9a7=a111_0x3e4ded;if(!(_0x17bcdc instanceof Error)||!(_0x1be9a7(0xd7)in _0x17bcdc))return undefined;const _0x4938ac=_0x17bcdc[_0x1be9a7(0xd7)];if(!_0x4938ac||typeof _0x4938ac!==_0x1be9a7(0xb1))return undefined;const _0x401187=_0x4938ac[_0x1be9a7(0x11d)];if(!Array[_0x1be9a7(0xcc)](_0x401187)||!_0x401187[0x0]||typeof _0x401187[0x0]!=='object')return undefined;return _0x401187[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a114_0x3f3d21=a114_0x2560;(function(_0x159154,_0x1db1d6){const _0x21de83=a114_0x2560,_0x4ed5a6=_0x159154();while(!![]){try{const _0x5c1503=parseInt(_0x21de83(0x20e))/0x1+parseInt(_0x21de83(0x21e))/0x2+parseInt(_0x21de83(0x21d))/0x3*(parseInt(_0x21de83(0x23d))/0x4)+parseInt(_0x21de83(0x219))/0x5*(-parseInt(_0x21de83(0x20b))/0x6)+parseInt(_0x21de83(0x1ff))/0x7*(-parseInt(_0x21de83(0x230))/0x8)+-parseInt(_0x21de83(0x206))/0x9*(parseInt(_0x21de83(0x200))/0xa)+parseInt(_0x21de83(0x23b))/0xb;if(_0x5c1503===_0x1db1d6)break;else _0x4ed5a6['push'](_0x4ed5a6['shift']());}catch(_0x56a25c){_0x4ed5a6['push'](_0x4ed5a6['shift']());}}}(a114_0x2e5e,0x2ffdc));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';function a114_0x2560(_0x2f0377,_0x1063a9){_0x2f0377=_0x2f0377-0x1f3;const _0x2e5e70=a114_0x2e5e();let _0x256093=_0x2e5e70[_0x2f0377];return _0x256093;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a114_0x3f3d21(0x232),'command':a114_0x3f3d21(0x1fd),'description':a114_0x3f3d21(0x229),'risk':a114_0x3f3d21(0x23e),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a114_0x3f3d21(0x212),'type':a114_0x3f3d21(0x225),'required':!![],'description':a114_0x3f3d21(0x208)},{'name':a114_0x3f3d21(0x1fb),'type':a114_0x3f3d21(0x225),'required':!![],'description':a114_0x3f3d21(0x236)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x179e8b){validateInput(_0x179e8b);},async 'dryRun'(_0x13de4e){const _0x166b87=a114_0x3f3d21;validateInput(_0x13de4e);const _0x1f27a4=await buildPlan(_0x13de4e,!![]);return menuDryRunResult(_0x1f27a4['plan'],{'method':_0x166b87(0x205),'url':_0x166b87(0x216),'body':_0x1f27a4['body'],'description':_0x166b87(0x235)+_0x1f27a4[_0x166b87(0x204)]['id']+'.'});},async 'execute'(_0x124932){const _0x1a7a35=a114_0x3f3d21;validateInput(_0x124932);const _0x1d8be3=await buildPlan(_0x124932,![]),{plan:_0x1f424b,body:_0x33ecb2,before:_0x266a01,noChanges:_0x17fc24}=_0x1d8be3,_0x3f094c=_0x33ecb2['id'];if(_0x17fc24)return updateSuccess(_0x1f424b,_0x1d8be3[_0x1a7a35(0x239)],_0x266a01,!![],![]);await recheckMutationSnapshot(_0x124932,_0x1f424b,_0x1a7a35(0x23c),_0x3f094c);try{await updateMenuEntity(_0x124932[_0x1a7a35(0x1fc)],_0x124932[_0x1a7a35(0x214)],{'id':_0x33ecb2['id'],'url':_0x33ecb2['url']});}catch(_0x14d169){const _0x225edf=mapMenuApiError(_0x14d169,'update\x20external\x20menu\x20URL',_0x3f094c);if(isMenuResponseLoss(_0x14d169)&&_0x225edf['code']!=='menu_permission_denied')return recoverAfterResponseLoss(_0x124932,_0x1d8be3);throw menuFailure(_0x225edf,_0x1f424b,{'stage':_0x1a7a35(0x1f4),'failed':{'id':_0x3f094c},'warnings':[_0x1a7a35(0x1fa)],'verification':{'status':_0x1a7a35(0x222),'targetId':_0x3f094c,'lookupCommand':buildLookupCommand(_0x124932[_0x1a7a35(0x1fc)])}});}let _0x2a9fa1,_0x1f56ad;try{_0x2a9fa1=await fetchMenuSnapshot(_0x124932[_0x1a7a35(0x1fc)],_0x124932[_0x1a7a35(0x214)]),_0x1f56ad=requireMenu(_0x2a9fa1,_0x3f094c),verifyUpdatedFact(_0x266a01,_0x1f56ad,_0x33ecb2[_0x1a7a35(0x212)]);}catch(_0x187784){const _0x5b8c23=describeMenuErrorCause(_0x187784,_0x1a7a35(0x21a),_0x3f094c),_0x515c7b=asVerificationError(_0x187784,_0x1a7a35(0x221)+_0x3f094c+_0x1a7a35(0x22d));throw menuFailure(_0x515c7b,_0x1f424b,{'stage':'verification','succeeded':[{'id':_0x3f094c,'updateRequested':!![]}],'failed':{'id':_0x3f094c,'requestedStateConfirmed':![],..._0x5b8c23},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x1a7a35(0x222),'targetId':_0x3f094c,'lookupCommand':buildLookupCommand(_0x124932[_0x1a7a35(0x1fc)])}});}return updateSuccess(_0x1f424b,_0x2a9fa1,_0x1f56ad,![],![]);}};function validateInput(_0x40c4ee){const _0x39bac4=a114_0x3f3d21;validateExactId(_0x40c4ee),requiredUrl(_0x40c4ee,_0x39bac4(0x212)),requiredExpectedUrl(_0x40c4ee),parseParentId(_0x40c4ee,_0x39bac4(0x215),{'required':!![]});}function requiredUrl(_0x3edfd4,_0x194811){const _0x383b45=a114_0x3f3d21;if(!hasFlag(_0x3edfd4,_0x194811)||!_0x3edfd4[_0x383b45(0x203)](_0x194811)[_0x383b45(0x207)]())throw CliErrors['flagMissing'](_0x194811);return validateExternalMenuUrl(_0x3edfd4['str'](_0x194811));}function a114_0x2e5e(){const _0x372cf6=['\x20has\x20an\x20empty\x20platform\x20path.','315JAQeyX','verify\x20external\x20menu\x20URL\x20update','menu_state_drift','\x20direct\x20child\x20menu(s).','6CUChTM','574012Wioruj','menu_update_recovery_required','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','Update\x20request\x20for\x20menu\x20','failed','\x20parent\x20changed:\x20expected\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','string','Run\x20','\x20changed\x20during\x20the\x20URL-only\x20update.','Response\x20was\x20lost\x20and\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','menu\x20list','link','parentId','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','requestedUrlObserved','menu_external_link_not_leaf','2342888WqAotG','label','menu','\x20URL\x20update\x20did\x20not\x20take\x20effect.','replace','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','visible','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','snapshot','\x20has\x20','240097rBhzQE','update\x20external\x20menu\x20URL','292244AfZJRh','write','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','byId','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','update','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','\x27\x5c\x27\x27','update-recovery','type','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','expect-url','appCode','external-link-update','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','7mylMTW','25320SCMKZr','childrenCount','\x20is\x20type\x20\x22','str','body','POST','909RvkmbT','trim','New\x20external\x20HTTPS\x20URL','sort','readbackFailed','4668bHYYsE','\x20--format\x20compress','Menu\x20','339224ddEYTY','rabetbase\x20menu\x20list\x20--appcode\x20','\x20already\x20matches\x20the\x20requested\x20URL.','iframe','url','path','cookie','expect-parent-id','/smartapi/menu/update','flagMissing'];a114_0x2e5e=function(){return _0x372cf6;};return a114_0x2e5e();}function requiredExpectedUrl(_0x369967){const _0x5c2889=a114_0x3f3d21;if(!hasFlag(_0x369967,'expect-url')||!_0x369967[_0x5c2889(0x203)](_0x5c2889(0x1fb))[_0x5c2889(0x207)]())throw CliErrors[_0x5c2889(0x217)](_0x5c2889(0x1fb));return _0x369967['str'](_0x5c2889(0x1fb))[_0x5c2889(0x207)]();}async function buildPlan(_0x22dbb0,_0x3ff6ff){const _0x5de181=a114_0x3f3d21,_0x2209f6=validateExactId(_0x22dbb0),_0x52a193=requiredUrl(_0x22dbb0,_0x5de181(0x212)),_0x3bd6af=requiredExpectedUrl(_0x22dbb0),_0x15ad5f=parseParentId(_0x22dbb0,_0x5de181(0x215),{'required':!![]}),_0x45bcd2=await fetchMutationSnapshot(_0x22dbb0,_0x5de181(0x23c),_0x2209f6),_0x5ab033=requireMenu(_0x45bcd2,_0x2209f6);assertExternalLinkLeaf(_0x5ab033);if(_0x5ab033[_0x5de181(0x22c)]!==_0x15ad5f)throw menuError(_0x5de181(0x21b),'Menu\x20'+_0x2209f6+_0x5de181(0x223)+formatParent(_0x15ad5f)+',\x20current\x20'+formatParent(_0x5ab033[_0x5de181(0x22c)])+'.',_0x5de181(0x224));const _0x518713=_0x5ab033[_0x5de181(0x212)]===_0x52a193;if(!_0x518713&&_0x5ab033[_0x5de181(0x212)]!==_0x3bd6af)throw menuError(_0x5de181(0x21b),_0x5de181(0x20d)+_0x2209f6+_0x5de181(0x1f5),_0x5de181(0x1f3));const _0x9b251a={'id':_0x2209f6,'appCode':_0x22dbb0[_0x5de181(0x1fc)],'url':_0x52a193},_0x4f8e08={..._0x5ab033,'url':_0x52a193};return{'body':_0x9b251a,'before':_0x5ab033,'noChanges':_0x518713,'snapshot':_0x45bcd2,'plan':mutationResult({'operation':_0x5de181(0x1fd),'selector':{'id':_0x2209f6},'before':_0x5ab033,'after':_0x4f8e08,'dryRun':_0x3ff6ff,'backend':[...BACKEND],'plannedActions':_0x518713?[]:[{'stage':'update-external-link-url','method':_0x5de181(0x205),'path':_0x5de181(0x216),'body':_0x9b251a}],'snapshotHash':_0x45bcd2['hash'],'warnings':_0x518713?[_0x5de181(0x23f)]:[]})};}function assertExternalLinkLeaf(_0x5b3ab4){const _0x1832a6=a114_0x3f3d21;if(_0x5b3ab4['type']!==_0x1832a6(0x211)&&_0x5b3ab4[_0x1832a6(0x1f8)]!==_0x1832a6(0x22b))throw menuError('menu_external_link_type_required','Menu\x20'+_0x5b3ab4['id']+_0x1832a6(0x202)+(_0x5b3ab4[_0x1832a6(0x1f8)]||'unknown')+'\x22,\x20not\x20iframe\x20or\x20link.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x5b3ab4[_0x1832a6(0x201)]!==0x0)throw menuError(_0x1832a6(0x22f),'Menu\x20'+_0x5b3ab4['id']+_0x1832a6(0x23a)+_0x5b3ab4[_0x1832a6(0x201)]+_0x1832a6(0x21c),_0x1832a6(0x1f9));if(!_0x5b3ab4[_0x1832a6(0x213)][_0x1832a6(0x207)]())throw menuError('menu_external_link_path_missing','Menu\x20'+_0x5b3ab4['id']+_0x1832a6(0x218),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x48bc85,_0x4afab3,_0x41dd79){const _0xcd074d=a114_0x3f3d21;assertExternalLinkLeaf(_0x4afab3);const _0x3f5493=[['id',_0x4afab3['id'],_0x48bc85['id']],[_0xcd074d(0x231),_0x4afab3['label'],_0x48bc85[_0xcd074d(0x231)]],[_0xcd074d(0x1f8),_0x4afab3[_0xcd074d(0x1f8)],_0x48bc85['type']],[_0xcd074d(0x213),_0x4afab3['path'],_0x48bc85['path']],[_0xcd074d(0x22c),_0x4afab3[_0xcd074d(0x22c)],_0x48bc85[_0xcd074d(0x22c)]],[_0xcd074d(0x209),_0x4afab3[_0xcd074d(0x209)],_0x48bc85['sort']],['visible',_0x4afab3[_0xcd074d(0x237)],_0x48bc85[_0xcd074d(0x237)]]];for(const [_0x5aee2b,_0x1ec125,_0x47302c]of _0x3f5493){assertVerified(_0x1ec125===_0x47302c,_0xcd074d(0x20d)+_0x48bc85['id']+'\x20'+_0x5aee2b+_0xcd074d(0x227));}assertVerified(_0x4afab3[_0xcd074d(0x212)]===_0x41dd79,_0xcd074d(0x20d)+_0x48bc85['id']+_0xcd074d(0x233));}function updateSuccess(_0x160c0b,_0x326102,_0x4422a7,_0x3d4d8d,_0x254afc){const _0x4e5a26=a114_0x3f3d21,_0x3cdf05=_0x4422a7['id'],_0x1a051f=mutationResult({..._0x160c0b,'after':_0x4422a7,'dryRun':![],'succeeded':[{'id':_0x3cdf05,'updated':!_0x3d4d8d,'skipped':_0x3d4d8d,'recovered':_0x254afc}],'verification':{'checkedBy':_0x4e5a26(0x22a),'snapshotHash':_0x326102['hash'],'targetId':_0x3cdf05,'matchesRequestedState':!![],'recovered':_0x254afc}});return{'ok':!![],'message':_0x254afc?_0x4e5a26(0x1fe)+_0x3cdf05+'.':_0x3d4d8d?_0x4e5a26(0x20d)+_0x3cdf05+_0x4e5a26(0x210):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x3cdf05+'.','data':{..._0x1a051f,'recovered':_0x254afc}};}async function recoverAfterResponseLoss(_0x2f1399,_0x3815ad){const _0x265bf5=a114_0x3f3d21,{plan:_0x2ba2aa,before:_0x3b9d83,body:_0x566f4d}=_0x3815ad;let _0x4197b8;try{_0x4197b8=await fetchMenuSnapshot(_0x2f1399[_0x265bf5(0x1fc)],_0x2f1399['cookie']);}catch{throw recoveryRequired(_0x2ba2aa,_0x2f1399[_0x265bf5(0x1fc)],{'id':_0x566f4d['id'],'readbackFailed':!![]});}const _0x1702b5=_0x4197b8[_0x265bf5(0x240)]['get'](_0x566f4d['id']);if(!_0x1702b5||_0x1702b5['url']!==_0x566f4d[_0x265bf5(0x212)])throw recoveryRequired(_0x2ba2aa,_0x2f1399[_0x265bf5(0x1fc)],{'id':_0x566f4d['id'],'requestedUrlObserved':![],'after':_0x1702b5??null});try{verifyUpdatedFact(_0x3b9d83,_0x1702b5,_0x566f4d[_0x265bf5(0x212)]);}catch(_0x186dee){const _0x51f8f0=asVerificationError(_0x186dee,_0x265bf5(0x228)+_0x566f4d['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x51f8f0,_0x2ba2aa,{'stage':'update-recovery','succeeded':[{'id':_0x566f4d['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x566f4d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x1702b5,'warnings':[_0x265bf5(0x220)],'verification':{'status':'failed','targetId':_0x566f4d['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x2f1399[_0x265bf5(0x1fc)])}});}return updateSuccess(_0x2ba2aa,_0x4197b8,_0x1702b5,![],!![]);}function recoveryRequired(_0x281f15,_0x322b31,_0x38359e){const _0x301fd3=a114_0x3f3d21,_0x532ab5=menuError(_0x301fd3(0x21f),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.',_0x301fd3(0x226)+buildLookupCommand(_0x322b31)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x532ab5,_0x281f15,{'stage':_0x301fd3(0x1f7),'failed':{'id':_0x38359e['id'],..._0x38359e[_0x301fd3(0x22e)]===undefined?{}:{'requestedUrlObserved':_0x38359e['requestedUrlObserved']},..._0x38359e['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x38359e['after'],'warnings':[_0x301fd3(0x238)],'verification':{'status':_0x301fd3(0x222),'targetId':_0x38359e['id'],..._0x38359e[_0x301fd3(0x22e)]===undefined?{}:{'requestedUrlObserved':_0x38359e[_0x301fd3(0x22e)]},..._0x38359e[_0x301fd3(0x20a)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x322b31)}});}function buildLookupCommand(_0x47e11){const _0x28de37=a114_0x3f3d21,_0x1b28e8='\x27'+_0x47e11[_0x28de37(0x234)](/'/g,_0x28de37(0x1f6))+'\x27';return _0x28de37(0x20f)+_0x1b28e8+_0x28de37(0x20c);}
|
|
1
|
+
const a112_0xd9f9f0=a112_0x1794;(function(_0x3877ca,_0x26368b){const _0x1554a6=a112_0x1794,_0x2cdfa2=_0x3877ca();while(!![]){try{const _0x565560=-parseInt(_0x1554a6(0xfc))/0x1*(parseInt(_0x1554a6(0xf3))/0x2)+-parseInt(_0x1554a6(0xf1))/0x3+parseInt(_0x1554a6(0x103))/0x4+parseInt(_0x1554a6(0xcd))/0x5+-parseInt(_0x1554a6(0xf7))/0x6*(parseInt(_0x1554a6(0xec))/0x7)+-parseInt(_0x1554a6(0xdf))/0x8*(-parseInt(_0x1554a6(0xd7))/0x9)+parseInt(_0x1554a6(0xcf))/0xa;if(_0x565560===_0x26368b)break;else _0x2cdfa2['push'](_0x2cdfa2['shift']());}catch(_0x2d44ad){_0x2cdfa2['push'](_0x2cdfa2['shift']());}}}(a112_0x3f8e,0x3ba7e));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';function a112_0x1794(_0x2eff9e,_0x2d5534){_0x2eff9e=_0x2eff9e-0xb4;const _0x3f8e09=a112_0x3f8e();let _0x179442=_0x3f8e09[_0x2eff9e];return _0x179442;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a112_0xd9f9f0(0xc6),'path':a112_0xd9f9f0(0xf2)}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a112_0xd9f9f0(0xd6),'risk':a112_0xd9f9f0(0xd8),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0xd9f9f0(0xcc),'type':a112_0xd9f9f0(0xea),'required':!![],'description':a112_0xd9f9f0(0x100)},{'name':a112_0xd9f9f0(0xc8),'type':a112_0xd9f9f0(0xea),'required':!![],'description':a112_0xd9f9f0(0xb8)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x43352b){validateInput(_0x43352b);},async 'dryRun'(_0x3bf8df){const _0x2b02e7=a112_0xd9f9f0;validateInput(_0x3bf8df);const _0x58ab05=await buildPlan(_0x3bf8df,!![]);return menuDryRunResult(_0x58ab05[_0x2b02e7(0x102)],{'method':'POST','url':'/smartapi/menu/update','body':_0x58ab05[_0x2b02e7(0xe6)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x58ab05[_0x2b02e7(0xe6)]['id']+'.'});},async 'execute'(_0x6bc6a9){const _0x7b473d=a112_0xd9f9f0;validateInput(_0x6bc6a9);const _0x40521b=await buildPlan(_0x6bc6a9,![]),{plan:_0x17b263,body:_0x3190a9,before:_0x5cbaec,noChanges:_0x36a1ba}=_0x40521b,_0x31678b=_0x3190a9['id'];if(_0x36a1ba)return updateSuccess(_0x17b263,_0x40521b[_0x7b473d(0xd2)],_0x5cbaec,!![],![]);await recheckMutationSnapshot(_0x6bc6a9,_0x17b263,_0x7b473d(0xb5),_0x31678b);try{await updateMenuEntity(_0x6bc6a9['appCode'],_0x6bc6a9[_0x7b473d(0xbe)],{'id':_0x3190a9['id'],'url':_0x3190a9[_0x7b473d(0xcc)]});}catch(_0x4024f4){const _0x1174d7=mapMenuApiError(_0x4024f4,_0x7b473d(0xb5),_0x31678b);if(isMenuResponseLoss(_0x4024f4)&&_0x1174d7[_0x7b473d(0xf9)]!==_0x7b473d(0xc2))return recoverAfterResponseLoss(_0x6bc6a9,_0x40521b);throw menuFailure(_0x1174d7,_0x17b263,{'stage':_0x7b473d(0xb7),'failed':{'id':_0x31678b},'warnings':[_0x7b473d(0x105)],'verification':{'status':'failed','targetId':_0x31678b,'lookupCommand':buildLookupCommand(_0x6bc6a9['appCode'])}});}let _0x34e48e,_0x136f96;try{_0x34e48e=await fetchMenuSnapshot(_0x6bc6a9[_0x7b473d(0xcb)],_0x6bc6a9[_0x7b473d(0xbe)]),_0x136f96=requireMenu(_0x34e48e,_0x31678b),verifyUpdatedFact(_0x5cbaec,_0x136f96,_0x3190a9[_0x7b473d(0xcc)]);}catch(_0x1bead2){const _0x2023e6=describeMenuErrorCause(_0x1bead2,_0x7b473d(0xf8),_0x31678b),_0x2d92ec=asVerificationError(_0x1bead2,_0x7b473d(0xe4)+_0x31678b+_0x7b473d(0xdd));throw menuFailure(_0x2d92ec,_0x17b263,{'stage':'verification','succeeded':[{'id':_0x31678b,'updateRequested':!![]}],'failed':{'id':_0x31678b,'requestedStateConfirmed':![],..._0x2023e6},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x7b473d(0xc9),'targetId':_0x31678b,'lookupCommand':buildLookupCommand(_0x6bc6a9[_0x7b473d(0xcb)])}});}return updateSuccess(_0x17b263,_0x34e48e,_0x136f96,![],![]);}};function validateInput(_0x2f8cb8){const _0x493ef4=a112_0xd9f9f0;validateExactId(_0x2f8cb8),requiredUrl(_0x2f8cb8,_0x493ef4(0xcc)),requiredExpectedUrl(_0x2f8cb8),parseParentId(_0x2f8cb8,_0x493ef4(0xb4),{'required':!![]});}function requiredUrl(_0x35b1fe,_0x5b94cc){const _0x554e5c=a112_0xd9f9f0;if(!hasFlag(_0x35b1fe,_0x5b94cc)||!_0x35b1fe[_0x554e5c(0xf0)](_0x5b94cc)[_0x554e5c(0xed)]())throw CliErrors[_0x554e5c(0xf4)](_0x5b94cc);return validateExternalMenuUrl(_0x35b1fe[_0x554e5c(0xf0)](_0x5b94cc));}function requiredExpectedUrl(_0x44d8f){const _0x29c4b0=a112_0xd9f9f0;if(!hasFlag(_0x44d8f,'expect-url')||!_0x44d8f[_0x29c4b0(0xf0)](_0x29c4b0(0xc8))['trim']())throw CliErrors['flagMissing']('expect-url');return _0x44d8f[_0x29c4b0(0xf0)](_0x29c4b0(0xc8))[_0x29c4b0(0xed)]();}function a112_0x3f8e(){const _0x5017eb=['954nULAHr','flagMissing','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','update-recovery','209766guGGkW','verify\x20external\x20menu\x20URL\x20update','code','visible','childrenCount','417Titgqj','sort','menu_external_link_type_required','hash','New\x20external\x20HTTPS\x20URL','iframe','plan','1146588YsiwtJ','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_update_recovery_required','unknown','after','\x27\x5c\x27\x27','expect-parent-id','update\x20external\x20menu\x20URL','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','update','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','type','readbackFailed','path','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','cookie','\x20could\x20not\x20be\x20verified\x20safely','\x20already\x20matches\x20the\x20requested\x20URL.','menu_external_link_path_missing','menu_permission_denied','menu\x20list','\x20has\x20','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','POST','menu_external_link_not_leaf','expect-url','failed','link','appCode','url','934010odiQzD','Menu\x20','201440ayljxZ','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','external-link-update','snapshot','Response\x20was\x20lost\x20and\x20menu\x20','parentId','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','25785Oatuuu','write','requestedUrlObserved','\x20parent\x20changed:\x20expected\x20','rabetbase\x20menu\x20list\x20--appcode\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Run\x20','936VXTYgY','\x20is\x20type\x20\x22','Updated\x20external\x20URL\x20for\x20menu\x20','label','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','Update\x20request\x20for\x20menu\x20','menu_state_drift','body','\x20has\x20an\x20empty\x20platform\x20path.',',\x20current\x20','update-external-link-url','string','replace','49yqJHVo','trim','\x20URL\x20update\x20did\x20not\x20take\x20effect.','get','str','422436ReyTrW','/smartapi/menu/update'];a112_0x3f8e=function(){return _0x5017eb;};return a112_0x3f8e();}async function buildPlan(_0x44fa81,_0x5333bb){const _0x297e72=a112_0xd9f9f0,_0x2c2772=validateExactId(_0x44fa81),_0x504a0f=requiredUrl(_0x44fa81,_0x297e72(0xcc)),_0x1a6933=requiredExpectedUrl(_0x44fa81),_0x42cc9b=parseParentId(_0x44fa81,_0x297e72(0xb4),{'required':!![]}),_0x252b23=await fetchMutationSnapshot(_0x44fa81,_0x297e72(0xb5),_0x2c2772),_0x2aeb6e=requireMenu(_0x252b23,_0x2c2772);assertExternalLinkLeaf(_0x2aeb6e);if(_0x2aeb6e[_0x297e72(0xd4)]!==_0x42cc9b)throw menuError('menu_state_drift','Menu\x20'+_0x2c2772+_0x297e72(0xda)+formatParent(_0x42cc9b)+_0x297e72(0xe8)+formatParent(_0x2aeb6e[_0x297e72(0xd4)])+'.',_0x297e72(0xdc));const _0x42a499=_0x2aeb6e[_0x297e72(0xcc)]===_0x504a0f;if(!_0x42a499&&_0x2aeb6e[_0x297e72(0xcc)]!==_0x1a6933)throw menuError(_0x297e72(0xe5),_0x297e72(0xce)+_0x2c2772+_0x297e72(0xb6),_0x297e72(0xbd));const _0x1e92a5={'id':_0x2c2772,'appCode':_0x44fa81[_0x297e72(0xcb)],'url':_0x504a0f},_0xee5c35={..._0x2aeb6e,'url':_0x504a0f};return{'body':_0x1e92a5,'before':_0x2aeb6e,'noChanges':_0x42a499,'snapshot':_0x252b23,'plan':mutationResult({'operation':_0x297e72(0xd1),'selector':{'id':_0x2c2772},'before':_0x2aeb6e,'after':_0xee5c35,'dryRun':_0x5333bb,'backend':[...BACKEND],'plannedActions':_0x42a499?[]:[{'stage':_0x297e72(0xe9),'method':_0x297e72(0xc6),'path':_0x297e72(0xf2),'body':_0x1e92a5}],'snapshotHash':_0x252b23[_0x297e72(0xff)],'warnings':_0x42a499?[_0x297e72(0xf5)]:[]})};}function assertExternalLinkLeaf(_0x48eeae){const _0x48cbdb=a112_0xd9f9f0;if(_0x48eeae[_0x48cbdb(0xb9)]!==_0x48cbdb(0x101)&&_0x48eeae[_0x48cbdb(0xb9)]!==_0x48cbdb(0xca))throw menuError(_0x48cbdb(0xfe),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xe0)+(_0x48eeae[_0x48cbdb(0xb9)]||_0x48cbdb(0x107))+'\x22,\x20not\x20iframe\x20or\x20link.',_0x48cbdb(0xbc));if(_0x48eeae['childrenCount']!==0x0)throw menuError(_0x48cbdb(0xc7),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xc4)+_0x48eeae[_0x48cbdb(0xfb)]+'\x20direct\x20child\x20menu(s).',_0x48cbdb(0xd0));if(!_0x48eeae[_0x48cbdb(0xbb)][_0x48cbdb(0xed)]())throw menuError(_0x48cbdb(0xc1),_0x48cbdb(0xce)+_0x48eeae['id']+_0x48cbdb(0xe7),_0x48cbdb(0x104));}function verifyUpdatedFact(_0x56d2ca,_0x1c9152,_0x2dbd16){const _0x39155e=a112_0xd9f9f0;assertExternalLinkLeaf(_0x1c9152);const _0x174b8e=[['id',_0x1c9152['id'],_0x56d2ca['id']],['label',_0x1c9152['label'],_0x56d2ca[_0x39155e(0xe2)]],[_0x39155e(0xb9),_0x1c9152['type'],_0x56d2ca['type']],[_0x39155e(0xbb),_0x1c9152[_0x39155e(0xbb)],_0x56d2ca[_0x39155e(0xbb)]],[_0x39155e(0xd4),_0x1c9152[_0x39155e(0xd4)],_0x56d2ca[_0x39155e(0xd4)]],[_0x39155e(0xfd),_0x1c9152[_0x39155e(0xfd)],_0x56d2ca[_0x39155e(0xfd)]],[_0x39155e(0xfa),_0x1c9152[_0x39155e(0xfa)],_0x56d2ca['visible']]];for(const [_0x19ac72,_0x43c566,_0x368810]of _0x174b8e){assertVerified(_0x43c566===_0x368810,_0x39155e(0xce)+_0x56d2ca['id']+'\x20'+_0x19ac72+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x1c9152['url']===_0x2dbd16,'Menu\x20'+_0x56d2ca['id']+_0x39155e(0xee));}function updateSuccess(_0x15d982,_0x1357db,_0x14dc6b,_0x104525,_0xffbc46){const _0xea7d29=a112_0xd9f9f0,_0x4e3b89=_0x14dc6b['id'],_0x5b3fe9=mutationResult({..._0x15d982,'after':_0x14dc6b,'dryRun':![],'succeeded':[{'id':_0x4e3b89,'updated':!_0x104525,'skipped':_0x104525,'recovered':_0xffbc46}],'verification':{'checkedBy':_0xea7d29(0xc3),'snapshotHash':_0x1357db[_0xea7d29(0xff)],'targetId':_0x4e3b89,'matchesRequestedState':!![],'recovered':_0xffbc46}});return{'ok':!![],'message':_0xffbc46?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x4e3b89+'.':_0x104525?_0xea7d29(0xce)+_0x4e3b89+_0xea7d29(0xc0):_0xea7d29(0xe1)+_0x4e3b89+'.','data':{..._0x5b3fe9,'recovered':_0xffbc46}};}async function recoverAfterResponseLoss(_0x3eba08,_0x4a39df){const _0xadfb2c=a112_0xd9f9f0,{plan:_0xed2c44,before:_0x33ac75,body:_0x112a64}=_0x4a39df;let _0x40ea31;try{_0x40ea31=await fetchMenuSnapshot(_0x3eba08[_0xadfb2c(0xcb)],_0x3eba08[_0xadfb2c(0xbe)]);}catch{throw recoveryRequired(_0xed2c44,_0x3eba08[_0xadfb2c(0xcb)],{'id':_0x112a64['id'],'readbackFailed':!![]});}const _0x5b0bd6=_0x40ea31['byId'][_0xadfb2c(0xef)](_0x112a64['id']);if(!_0x5b0bd6||_0x5b0bd6[_0xadfb2c(0xcc)]!==_0x112a64[_0xadfb2c(0xcc)])throw recoveryRequired(_0xed2c44,_0x3eba08['appCode'],{'id':_0x112a64['id'],'requestedUrlObserved':![],'after':_0x5b0bd6??null});try{verifyUpdatedFact(_0x33ac75,_0x5b0bd6,_0x112a64['url']);}catch(_0x595300){const _0x5a53dd=asVerificationError(_0x595300,_0xadfb2c(0xd3)+_0x112a64['id']+_0xadfb2c(0xbf));throw menuFailure(_0x5a53dd,_0xed2c44,{'stage':_0xadfb2c(0xf6),'succeeded':[{'id':_0x112a64['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x112a64['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5b0bd6,'warnings':[_0xadfb2c(0xe3)],'verification':{'status':_0xadfb2c(0xc9),'targetId':_0x112a64['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x3eba08[_0xadfb2c(0xcb)])}});}return updateSuccess(_0xed2c44,_0x40ea31,_0x5b0bd6,![],!![]);}function recoveryRequired(_0x22a3fc,_0x3c3f67,_0x57437c){const _0x5cda7b=a112_0xd9f9f0,_0x5cb5f0=menuError(_0x5cda7b(0x106),_0x5cda7b(0xd5),_0x5cda7b(0xde)+buildLookupCommand(_0x3c3f67)+'\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.');return menuFailure(_0x5cb5f0,_0x22a3fc,{'stage':_0x5cda7b(0xf6),'failed':{'id':_0x57437c['id'],..._0x57437c[_0x5cda7b(0xd9)]===undefined?{}:{'requestedUrlObserved':_0x57437c['requestedUrlObserved']},..._0x57437c[_0x5cda7b(0xba)]?{'readbackFailed':!![]}:{}},'after':_0x57437c[_0x5cda7b(0x108)],'warnings':[_0x5cda7b(0xc5)],'verification':{'status':_0x5cda7b(0xc9),'targetId':_0x57437c['id'],..._0x57437c[_0x5cda7b(0xd9)]===undefined?{}:{'requestedUrlObserved':_0x57437c[_0x5cda7b(0xd9)]},..._0x57437c['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3c3f67)}});}function buildLookupCommand(_0x4af91e){const _0x377b7a=a112_0xd9f9f0,_0x204b97='\x27'+_0x4af91e[_0x377b7a(0xeb)](/'/g,_0x377b7a(0x109))+'\x27';return _0x377b7a(0xdb)+_0x204b97+'\x20--format\x20compress';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a115_0x1e8e95=a115_0x1924;(function(_0x5162c7,_0x199f12){const _0x4300f1=a115_0x1924,_0x5be2dd=_0x5162c7();while(!![]){try{const _0x7740d=-parseInt(_0x4300f1(0x173))/0x1*(parseInt(_0x4300f1(0x16e))/0x2)+-parseInt(_0x4300f1(0x193))/0x3+-parseInt(_0x4300f1(0x186))/0x4*(parseInt(_0x4300f1(0x199))/0x5)+parseInt(_0x4300f1(0x196))/0x6+parseInt(_0x4300f1(0x19a))/0x7+-parseInt(_0x4300f1(0x194))/0x8+parseInt(_0x4300f1(0x198))/0x9;if(_0x7740d===_0x199f12)break;else _0x5be2dd['push'](_0x5be2dd['shift']());}catch(_0x41a837){_0x5be2dd['push'](_0x5be2dd['shift']());}}}(a115_0x1779,0xdfb5e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a115_0x1779(){const _0x434b6f=['trim','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20may\x20exist\x20online\x20at\x20path\x20','childrenCount','\x20is\x20not\x20visible.','\x20unexpectedly\x20owns\x20a\x20page.','verification','sort','resources','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','create-folder','failed','Folder\x20','create\x20folder','cookie','Menu\x20create\x20response\x20for\x20folder\x20','1738586hGvjxa','\x20has\x20an\x20unexpected\x20sort.',';\x20verify\x20it\x20before\x20retrying.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','parentId','1EqeaTp','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','/smartapi/menu/create','pageId','length','Would\x20create\x20empty\x20folder\x20\x22','Folder\x20label','\x20is\x20not\x20empty.','group-create','create-response-validation','\x22\x20with\x20a\x20platform-generated\x20path.','folder','rabetbase\x20menu\x20list\x20--format\x20json','string','menu','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20is\x20not\x20type\x20folder.','576060hEzzrb','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20missing\x20from\x20menu\x20list.','depth','\x20has\x20resources.','parent-id','str','get','Created\x20folder\x20','byId','hash','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','stringify','2947539RoezIV','1035224mLJFQz','menu_create_response_invalid','3221460jCsfBx','type','22803165sCanLc','15LvmeSL','1812839RxfGQA','root','label','verify\x20folder\x20creation','Created\x20menu\x20','appCode','Created\x20menu\x20folder\x20','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','isSafeInteger','path'];a115_0x1779=function(){return _0x434b6f;};return a115_0x1779();}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':a115_0x1e8e95(0x183),'path':a115_0x1e8e95(0x175)}];export const menuGroupCreate={'service':a115_0x1e8e95(0x181),'command':'group-create','description':a115_0x1e8e95(0x1a1),'risk':'write','structuredErrors':!![],'flags':[{'name':a115_0x1e8e95(0x19c),'type':a115_0x1e8e95(0x180),'required':!![],'description':a115_0x1e8e95(0x179)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x58680b){validateCreateInput(_0x58680b);},async 'dryRun'(_0x34d5e2){const _0x1aec2e=a115_0x1e8e95,_0xa40a66=await buildCreatePlan(_0x34d5e2,!![]),_0x389e2a=_0xa40a66['after'];return menuDryRunResult(_0xa40a66,{'method':_0x1aec2e(0x183),'url':_0x1aec2e(0x175),'body':{'parentId':toApiParentId(_0x389e2a['parentId']),'label':_0x389e2a[_0x1aec2e(0x19c)],'type':_0x1aec2e(0x17e),'visible':!![],'sort':_0x389e2a[_0x1aec2e(0x164)],'extend':{}},'description':_0x1aec2e(0x178)+String(_0x389e2a[_0x1aec2e(0x19c)])+_0x1aec2e(0x17d)});},async 'execute'(_0x235e45){const _0x48c861=a115_0x1e8e95;validateCreateInput(_0x235e45);const _0x5353c1=await buildCreatePlan(_0x235e45,![]),_0x2b8d01=_0x5353c1['after'];await recheckMutationSnapshot(_0x235e45,_0x5353c1,_0x48c861(0x16b));let _0x24cf7f;try{_0x24cf7f=await createMenuEntity(_0x235e45[_0x48c861(0x19f)],_0x235e45[_0x48c861(0x16c)],{'parentId':toApiParentId(_0x2b8d01[_0x48c861(0x172)]),'label':String(_0x2b8d01[_0x48c861(0x19c)]),'type':'folder','visible':!![],'sort':Number(_0x2b8d01[_0x48c861(0x164)]),'extend':{}});}catch(_0x1aafdf){const _0x3d9f3d=mapMenuApiError(_0x1aafdf,_0x48c861(0x16b));throw menuFailure(_0x3d9f3d,_0x5353c1,{'stage':'create','failed':{}});}const _0x4ffd7f=Number(_0x24cf7f['id']);if(!Number[_0x48c861(0x15b)](_0x4ffd7f)||_0x4ffd7f<=0x0){const _0x30b118=menuError(_0x48c861(0x195),_0x48c861(0x174),_0x48c861(0x187));throw menuFailure(_0x30b118,_0x5353c1,{'stage':_0x48c861(0x17c),'failed':{'createdId':_0x24cf7f['id']??null},'warnings':[_0x48c861(0x171)],'verification':{'status':_0x48c861(0x169),'lookupCommand':_0x48c861(0x17f)}});}const _0x4c48f1=typeof _0x24cf7f[_0x48c861(0x15c)]===_0x48c861(0x180)?_0x24cf7f[_0x48c861(0x15c)]:'';if(!_0x4c48f1[_0x48c861(0x15d)]()){const _0x5e1909=menuError('menu_create_response_invalid',_0x48c861(0x16d)+_0x4ffd7f+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x48c861(0x182));throw menuFailure(_0x5e1909,_0x5353c1,{'stage':'create-response-validation','succeeded':[{'id':_0x4ffd7f,'created':!![]}],'failed':{'id':_0x4ffd7f,'generatedPathConfirmed':![]},'warnings':[_0x48c861(0x16a)+_0x4ffd7f+_0x48c861(0x167)],'after':{..._0x2b8d01,'id':_0x4ffd7f,'path':_0x4c48f1},'verification':{'status':_0x48c861(0x169),'lookupCommand':_0x48c861(0x17f),'targetId':_0x4ffd7f}});}let _0x20a729;try{_0x20a729=await fetchMenuSnapshot(_0x235e45['appCode'],_0x235e45[_0x48c861(0x16c)]);}catch(_0x3dd6e4){const _0x34473f=describeMenuErrorCause(_0x3dd6e4,_0x48c861(0x19d),_0x4ffd7f),_0x3d7733=asVerificationError(_0x3dd6e4,_0x48c861(0x16a)+_0x4ffd7f+_0x48c861(0x15e));throw menuFailure(_0x3d7733,_0x5353c1,{'stage':_0x48c861(0x163),'succeeded':[{'id':_0x4ffd7f,'created':!![],'path':_0x4c48f1}],'failed':{'id':_0x4ffd7f,'finalFactsConfirmed':![],..._0x34473f},'warnings':['Folder\x20'+_0x4ffd7f+_0x48c861(0x15f)+JSON[_0x48c861(0x192)](_0x4c48f1)+_0x48c861(0x170)],'after':{..._0x2b8d01,'id':_0x4ffd7f,'path':_0x4c48f1},'verification':{'status':_0x48c861(0x169),'lookupCommand':_0x48c861(0x17f),'targetId':_0x4ffd7f}});}const _0x4b986a=_0x20a729[_0x48c861(0x18f)][_0x48c861(0x18d)](_0x4ffd7f);let _0x2e49aa;try{assertVerified(Boolean(_0x4b986a),_0x48c861(0x18e)+_0x4ffd7f+_0x48c861(0x188)),_0x2e49aa=_0x4b986a,assertVerified(_0x2e49aa[_0x48c861(0x197)]===_0x48c861(0x17e),_0x48c861(0x19e)+_0x4ffd7f+_0x48c861(0x185)),assertVerified(_0x2e49aa[_0x48c861(0x19c)]===_0x2b8d01[_0x48c861(0x19c)],_0x48c861(0x18e)+_0x4ffd7f+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x2e49aa['path']===_0x4c48f1&&Boolean(_0x2e49aa['path'][_0x48c861(0x15d)]()),'Created\x20folder\x20'+_0x4ffd7f+_0x48c861(0x184)),assertVerified(_0x2e49aa['visible']===!![],'Created\x20folder\x20'+_0x4ffd7f+_0x48c861(0x161)),assertVerified(_0x2e49aa[_0x48c861(0x165)][_0x48c861(0x177)]===0x0,_0x48c861(0x18e)+_0x4ffd7f+_0x48c861(0x18a)),assertVerified(_0x2e49aa[_0x48c861(0x160)]===0x0,_0x48c861(0x18e)+_0x4ffd7f+_0x48c861(0x17a)),assertVerified(_0x2e49aa[_0x48c861(0x164)]===_0x2b8d01[_0x48c861(0x164)],_0x48c861(0x18e)+_0x4ffd7f+_0x48c861(0x16f)),assertVerified(_0x2e49aa['parentId']===_0x2b8d01[_0x48c861(0x172)],_0x48c861(0x18e)+_0x4ffd7f+'\x20has\x20unexpected\x20parent\x20'+(_0x2e49aa[_0x48c861(0x172)]??_0x48c861(0x19b))+'.'),assertVerified(_0x2e49aa[_0x48c861(0x176)]==null,_0x48c861(0x18e)+_0x4ffd7f+_0x48c861(0x162));const _0x38bd0d=_0x2e49aa[_0x48c861(0x172)]==null?undefined:requireFolder(_0x20a729,_0x2e49aa[_0x48c861(0x172)]);assertVerified(_0x2e49aa[_0x48c861(0x189)]===(_0x38bd0d?_0x38bd0d['depth']+0x1:0x0),_0x48c861(0x18e)+_0x4ffd7f+'\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.');}catch(_0x24cc1f){const _0x8e4344=describeMenuErrorCause(_0x24cc1f,_0x48c861(0x19d),_0x4ffd7f),_0x491b2b=asVerificationError(_0x24cc1f,_0x48c861(0x16a)+_0x4ffd7f+_0x48c861(0x166));throw menuFailure(_0x491b2b,_0x5353c1,{'stage':_0x48c861(0x163),'succeeded':[{'id':_0x4ffd7f,'created':!![],'path':_0x4c48f1}],'failed':{'id':_0x4ffd7f,'finalFactsConfirmed':![],..._0x8e4344},'warnings':[_0x48c861(0x16a)+_0x4ffd7f+_0x48c861(0x191)],'after':_0x4b986a??{..._0x2b8d01,'id':_0x4ffd7f,'path':_0x4c48f1},'verification':{'status':_0x48c861(0x169),'lookupCommand':_0x48c861(0x17f),'targetId':_0x4ffd7f}});}const _0x3e95a9=mutationResult({..._0x5353c1,'after':_0x2e49aa,'dryRun':![],'succeeded':[{'id':_0x4ffd7f,'type':'folder','path':_0x4c48f1}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x20a729['hash'],'folder':!![],'path':_0x4c48f1,'emptyResources':!![]}});return{'ok':!![],'data':_0x3e95a9,'message':_0x48c861(0x1a0)+_0x4ffd7f+'.'};}};function a115_0x1924(_0x48b504,_0x2da9d2){_0x48b504=_0x48b504-0x15b;const _0x177956=a115_0x1779();let _0x19249b=_0x177956[_0x48b504];return _0x19249b;}function validateCreateInput(_0x1dd150){const _0x4e905c=a115_0x1e8e95,_0x4d68c1=_0x1dd150[_0x4e905c(0x18c)]('label')['trim']();if(!_0x4d68c1)throw CliErrors['flagMissing'](_0x4e905c(0x19c));parseParentId(_0x1dd150,_0x4e905c(0x18b)),validateSort(_0x1dd150);}async function buildCreatePlan(_0x3a406a,_0x57267e){const _0x4a173a=a115_0x1e8e95,_0x75ac7c=await fetchMutationSnapshot(_0x3a406a,_0x4a173a(0x16b)),_0x43cbc2=parseParentId(_0x3a406a,'parent-id')??null;if(_0x43cbc2!=null)requireFolder(_0x75ac7c,_0x43cbc2);const _0x3d168f=validateSort(_0x3a406a),_0x4ac060=_0x3d168f??nextSiblingSort(_0x75ac7c,_0x43cbc2,'folder'),_0x55ab8b=_0x3a406a['str'](_0x4a173a(0x19c))[_0x4a173a(0x15d)]();return mutationResult({'operation':_0x4a173a(0x17b),'selector':{'label':_0x55ab8b,'parentId':_0x43cbc2},'before':null,'after':{'id':null,'parentId':_0x43cbc2,'label':_0x55ab8b,'path':'<platform-generated>','type':_0x4a173a(0x17e),'visible':!![],'sort':_0x4ac060,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x57267e,'backend':[...BACKEND],'plannedActions':[{'stage':_0x4a173a(0x168),'method':'POST','path':_0x4a173a(0x175),'body':{'parentId':toApiParentId(_0x43cbc2),'label':_0x55ab8b,'type':_0x4a173a(0x17e),'visible':!![],'sort':_0x4ac060,'extend':{}}}],'snapshotHash':_0x75ac7c[_0x4a173a(0x190)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
function a113_0x57d9(){const _0x53396a=['menu_create_response_invalid','cookie','menu\x20list','Created\x20folder\x20','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20has\x20an\x20unexpected\x20sort.','label','POST',';\x20verify\x20it\x20before\x20retrying.','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','\x20has\x20resources.','<platform-generated>','Would\x20create\x20empty\x20folder\x20\x22','write','group-create','sort','parentId','trim','isSafeInteger','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','\x20has\x20an\x20unexpected\x20label.','flagMissing','31224sgJBXW','childrenCount','3436pewKkv','hash','26265967NWwpiZ','1281WvhrhI','get','\x20is\x20missing\x20from\x20menu\x20list.','12OmhyZN','menu','after','byId','Created\x20menu\x20folder\x20','appCode','create\x20folder','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','Created\x20menu\x20','rabetbase\x20menu\x20list\x20--format\x20json','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','visible','root','verify\x20folder\x20creation','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','resources','type','3108879DDuGVe','\x20is\x20not\x20empty.','391795TZAPSI','verification','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','path','27246WOIrxm','string','387FqvqvP','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20has\x20unexpected\x20parent\x20','parent-id','Menu\x20create\x20response\x20for\x20folder\x20','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','failed','create','/smartapi/menu/create','\x20is\x20not\x20type\x20folder.','depth','Folder\x20label','folder','\x20may\x20exist\x20online\x20at\x20path\x20','2497biqEQp','20DpCImq','Folder\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','create-response-validation','80ymeAYu','45048bbtQTr','str'];a113_0x57d9=function(){return _0x53396a;};return a113_0x57d9();}const a113_0x2be8a4=a113_0x2cb3;(function(_0xa826ec,_0x27e810){const _0x523c9b=a113_0x2cb3,_0xeffcbf=_0xa826ec();while(!![]){try{const _0x385aa6=parseInt(_0x523c9b(0x18c))/0x1*(parseInt(_0x523c9b(0x177))/0x2)+-parseInt(_0x523c9b(0x179))/0x3*(-parseInt(_0x523c9b(0x159))/0x4)+parseInt(_0x523c9b(0x172))/0x5*(-parseInt(_0x523c9b(0x15f))/0x6)+parseInt(_0x523c9b(0x15c))/0x7*(-parseInt(_0x523c9b(0x1a5))/0x8)+-parseInt(_0x523c9b(0x170))/0x9*(parseInt(_0x523c9b(0x188))/0xa)+parseInt(_0x523c9b(0x187))/0xb*(-parseInt(_0x523c9b(0x18d))/0xc)+parseInt(_0x523c9b(0x15b))/0xd;if(_0x385aa6===_0x27e810)break;else _0xeffcbf['push'](_0xeffcbf['shift']());}catch(_0x3134ce){_0xeffcbf['push'](_0xeffcbf['shift']());}}}(a113_0x57d9,0xc50d3));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a113_0x2cb3(_0x151401,_0x1fafb8){_0x151401=_0x151401-0x158;const _0x57d97f=a113_0x57d9();let _0x2cb379=_0x57d97f[_0x151401];return _0x2cb379;}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':'POST','path':a113_0x2be8a4(0x181)}];export const menuGroupCreate={'service':a113_0x2be8a4(0x160),'command':a113_0x2be8a4(0x19d),'description':a113_0x2be8a4(0x166),'risk':a113_0x2be8a4(0x19c),'structuredErrors':!![],'flags':[{'name':a113_0x2be8a4(0x195),'type':a113_0x2be8a4(0x178),'required':!![],'description':a113_0x2be8a4(0x184)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x9b6773){validateCreateInput(_0x9b6773);},async 'dryRun'(_0x30d933){const _0x129ebb=a113_0x2be8a4,_0xee5a95=await buildCreatePlan(_0x30d933,!![]),_0x58a2ee=_0xee5a95[_0x129ebb(0x161)];return menuDryRunResult(_0xee5a95,{'method':_0x129ebb(0x196),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x58a2ee[_0x129ebb(0x19f)]),'label':_0x58a2ee[_0x129ebb(0x195)],'type':'folder','visible':!![],'sort':_0x58a2ee[_0x129ebb(0x19e)],'extend':{}},'description':_0x129ebb(0x19b)+String(_0x58a2ee[_0x129ebb(0x195)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x3d16c0){const _0x3e8ec0=a113_0x2be8a4;validateCreateInput(_0x3d16c0);const _0x452e6f=await buildCreatePlan(_0x3d16c0,![]),_0x37ae49=_0x452e6f[_0x3e8ec0(0x161)];await recheckMutationSnapshot(_0x3d16c0,_0x452e6f,_0x3e8ec0(0x165));let _0x2a4216;try{_0x2a4216=await createMenuEntity(_0x3d16c0[_0x3e8ec0(0x164)],_0x3d16c0[_0x3e8ec0(0x190)],{'parentId':toApiParentId(_0x37ae49['parentId']),'label':String(_0x37ae49['label']),'type':_0x3e8ec0(0x185),'visible':!![],'sort':Number(_0x37ae49[_0x3e8ec0(0x19e)]),'extend':{}});}catch(_0x117794){const _0xa4316=mapMenuApiError(_0x117794,_0x3e8ec0(0x165));throw menuFailure(_0xa4316,_0x452e6f,{'stage':_0x3e8ec0(0x180),'failed':{}});}const _0x5461fa=Number(_0x2a4216['id']);if(!Number[_0x3e8ec0(0x1a1)](_0x5461fa)||_0x5461fa<=0x0){const _0x22e8ec=menuError('menu_create_response_invalid',_0x3e8ec0(0x17a),_0x3e8ec0(0x18a));throw menuFailure(_0x22e8ec,_0x452e6f,{'stage':_0x3e8ec0(0x18b),'failed':{'createdId':_0x2a4216['id']??null},'warnings':[_0x3e8ec0(0x16d)],'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168)}});}const _0x12641a=typeof _0x2a4216['path']===_0x3e8ec0(0x178)?_0x2a4216[_0x3e8ec0(0x176)]:'';if(!_0x12641a[_0x3e8ec0(0x1a0)]()){const _0x589714=menuError(_0x3e8ec0(0x18f),_0x3e8ec0(0x17d)+_0x5461fa+_0x3e8ec0(0x198),_0x3e8ec0(0x175));throw menuFailure(_0x589714,_0x452e6f,{'stage':_0x3e8ec0(0x18b),'succeeded':[{'id':_0x5461fa,'created':!![]}],'failed':{'id':_0x5461fa,'generatedPathConfirmed':![]},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x1a2)],'after':{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}let _0x20d0da;try{_0x20d0da=await fetchMenuSnapshot(_0x3d16c0[_0x3e8ec0(0x164)],_0x3d16c0[_0x3e8ec0(0x190)]);}catch(_0x40dfbe){const _0x27d0fb=describeMenuErrorCause(_0x40dfbe,_0x3e8ec0(0x16c),_0x5461fa),_0x4c1e9e=asVerificationError(_0x40dfbe,_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x17e));throw menuFailure(_0x4c1e9e,_0x452e6f,{'stage':_0x3e8ec0(0x173),'succeeded':[{'id':_0x5461fa,'created':!![],'path':_0x12641a}],'failed':{'id':_0x5461fa,'finalFactsConfirmed':![],..._0x27d0fb},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+_0x3e8ec0(0x186)+JSON['stringify'](_0x12641a)+_0x3e8ec0(0x197)],'after':{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':'failed','lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}const _0x4c9af7=_0x20d0da[_0x3e8ec0(0x162)][_0x3e8ec0(0x15d)](_0x5461fa);let _0x20abf5;try{assertVerified(Boolean(_0x4c9af7),_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x15e)),_0x20abf5=_0x4c9af7,assertVerified(_0x20abf5[_0x3e8ec0(0x16f)]==='folder',_0x3e8ec0(0x167)+_0x5461fa+_0x3e8ec0(0x182)),assertVerified(_0x20abf5[_0x3e8ec0(0x195)]===_0x37ae49['label'],_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x1a3)),assertVerified(_0x20abf5[_0x3e8ec0(0x176)]===_0x12641a&&Boolean(_0x20abf5['path'][_0x3e8ec0(0x1a0)]()),_0x3e8ec0(0x192)+_0x5461fa+'\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.'),assertVerified(_0x20abf5[_0x3e8ec0(0x16a)]===!![],'Created\x20folder\x20'+_0x5461fa+'\x20is\x20not\x20visible.'),assertVerified(_0x20abf5[_0x3e8ec0(0x16e)]['length']===0x0,_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x199)),assertVerified(_0x20abf5[_0x3e8ec0(0x158)]===0x0,_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x171)),assertVerified(_0x20abf5['sort']===_0x37ae49['sort'],_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x194)),assertVerified(_0x20abf5[_0x3e8ec0(0x19f)]===_0x37ae49['parentId'],'Created\x20folder\x20'+_0x5461fa+_0x3e8ec0(0x17b)+(_0x20abf5[_0x3e8ec0(0x19f)]??_0x3e8ec0(0x16b))+'.'),assertVerified(_0x20abf5['pageId']==null,'Created\x20folder\x20'+_0x5461fa+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x4b3d27=_0x20abf5[_0x3e8ec0(0x19f)]==null?undefined:requireFolder(_0x20d0da,_0x20abf5['parentId']);assertVerified(_0x20abf5[_0x3e8ec0(0x183)]===(_0x4b3d27?_0x4b3d27[_0x3e8ec0(0x183)]+0x1:0x0),_0x3e8ec0(0x192)+_0x5461fa+_0x3e8ec0(0x174));}catch(_0x238d2e){const _0x519124=describeMenuErrorCause(_0x238d2e,_0x3e8ec0(0x16c),_0x5461fa),_0x2c9233=asVerificationError(_0x238d2e,'Folder\x20'+_0x5461fa+_0x3e8ec0(0x193));throw menuFailure(_0x2c9233,_0x452e6f,{'stage':_0x3e8ec0(0x173),'succeeded':[{'id':_0x5461fa,'created':!![],'path':_0x12641a}],'failed':{'id':_0x5461fa,'finalFactsConfirmed':![],..._0x519124},'warnings':[_0x3e8ec0(0x189)+_0x5461fa+'\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.'],'after':_0x4c9af7??{..._0x37ae49,'id':_0x5461fa,'path':_0x12641a},'verification':{'status':_0x3e8ec0(0x17f),'lookupCommand':_0x3e8ec0(0x168),'targetId':_0x5461fa}});}const _0x1ceefb=mutationResult({..._0x452e6f,'after':_0x20abf5,'dryRun':![],'succeeded':[{'id':_0x5461fa,'type':_0x3e8ec0(0x185),'path':_0x12641a}],'verification':{'checkedBy':_0x3e8ec0(0x191),'snapshotHash':_0x20d0da[_0x3e8ec0(0x15a)],'folder':!![],'path':_0x12641a,'emptyResources':!![]}});return{'ok':!![],'data':_0x1ceefb,'message':_0x3e8ec0(0x163)+_0x5461fa+'.'};}};function validateCreateInput(_0x17ca43){const _0xef069c=a113_0x2be8a4,_0x509a73=_0x17ca43[_0xef069c(0x18e)](_0xef069c(0x195))[_0xef069c(0x1a0)]();if(!_0x509a73)throw CliErrors[_0xef069c(0x1a4)](_0xef069c(0x195));parseParentId(_0x17ca43,_0xef069c(0x17c)),validateSort(_0x17ca43);}async function buildCreatePlan(_0x5d52af,_0x4109cc){const _0x4c45dd=a113_0x2be8a4,_0x331c4f=await fetchMutationSnapshot(_0x5d52af,_0x4c45dd(0x165)),_0x1abf63=parseParentId(_0x5d52af,_0x4c45dd(0x17c))??null;if(_0x1abf63!=null)requireFolder(_0x331c4f,_0x1abf63);const _0x3eb14f=validateSort(_0x5d52af),_0x3724f2=_0x3eb14f??nextSiblingSort(_0x331c4f,_0x1abf63,_0x4c45dd(0x185)),_0x2f9c62=_0x5d52af[_0x4c45dd(0x18e)]('label')[_0x4c45dd(0x1a0)]();return mutationResult({'operation':_0x4c45dd(0x19d),'selector':{'label':_0x2f9c62,'parentId':_0x1abf63},'before':null,'after':{'id':null,'parentId':_0x1abf63,'label':_0x2f9c62,'path':_0x4c45dd(0x19a),'type':_0x4c45dd(0x185),'visible':!![],'sort':_0x3724f2,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x4109cc,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x4c45dd(0x196),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x1abf63),'label':_0x2f9c62,'type':'folder','visible':!![],'sort':_0x3724f2,'extend':{}}}],'snapshotHash':_0x331c4f[_0x4c45dd(0x15a)],'warnings':[_0x4c45dd(0x169)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a114_0x2439e2=a114_0x4529;(function(_0x5988f2,_0x285bfb){const _0x4b127a=a114_0x4529,_0x3a508f=_0x5988f2();while(!![]){try{const _0x440904=parseInt(_0x4b127a(0x16a))/0x1*(-parseInt(_0x4b127a(0x197))/0x2)+parseInt(_0x4b127a(0x170))/0x3+-parseInt(_0x4b127a(0x190))/0x4+-parseInt(_0x4b127a(0x16e))/0x5+-parseInt(_0x4b127a(0x172))/0x6*(-parseInt(_0x4b127a(0x188))/0x7)+-parseInt(_0x4b127a(0x169))/0x8*(-parseInt(_0x4b127a(0x18f))/0x9)+-parseInt(_0x4b127a(0x175))/0xa;if(_0x440904===_0x285bfb)break;else _0x3a508f['push'](_0x3a508f['shift']());}catch(_0x561e11){_0x3a508f['push'](_0x3a508f['shift']());}}}(a114_0x5814,0xa9d81));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertExpectedState,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireFolder,requireMenu,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a114_0x4529(_0x3e8584,_0x486fc5){_0x3e8584=_0x3e8584-0x167;const _0x581472=a114_0x5814();let _0x4529ea=_0x581472[_0x3e8584];return _0x4529ea;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x2439e2(0x185),'path':a114_0x2439e2(0x179)}];function a114_0x5814(){const _0x5e1a37=['appCode','\x20already\x20matches\x20the\x20requested\x20state.','86EqYGgS','str','hash','3854736dilGyj','10587bwUvBE','Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','trim','\x22,\x20not\x20folder.','3024545AQzwaE','parentId','3075270zXGpUX','\x20sort\x20update\x20did\x20not\x20take\x20effect.','2667084ZMqVNI','label','validation','7371650pzbRLE','type','verification','selector','/smartapi/menu/update','menu','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','Menu\x20','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','update\x20folder','menu\x20list','cookie','write','verify\x20folder\x20update','parent-id','POST','sort','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','21Pqnuhc','update','Update\x20request\x20for\x20folder\x20','rabetbase\x20menu\x20list\x20--format\x20json','string','folder','Folder\x20','9akbcUe','1389912FPLdow','No\x20online\x20fields\x20would\x20change.','group-update','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','--label\x20cannot\x20be\x20empty.'];a114_0x5814=function(){return _0x5e1a37;};return a114_0x5814();}export const menuGroupUpdate={'service':a114_0x2439e2(0x17a),'command':a114_0x2439e2(0x192),'description':a114_0x2439e2(0x16b),'risk':a114_0x2439e2(0x182),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a114_0x2439e2(0x17d),'hint':a114_0x2439e2(0x17b)}],'flags':[MENU_ID_FLAG,{'name':a114_0x2439e2(0x173),'type':a114_0x2439e2(0x18c),'description':'New\x20folder\x20label'},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3d1e55){validateUpdateInput(_0x3d1e55);},async 'dryRun'(_0x3ad41f){const _0x3c4238=a114_0x2439e2;validateUpdateInput(_0x3ad41f);const {plan:_0x443f34,patch:_0xda3e29}=await buildUpdatePlan(_0x3ad41f,!![]);return menuDryRunResult(_0x443f34,{'method':_0x3c4238(0x185),'url':_0x3c4238(0x179),'body':_0xda3e29,'description':'Would\x20update\x20folder\x20'+_0x443f34[_0x3c4238(0x178)]['id']+'.'});},async 'execute'(_0x4d2a79){const _0x49d9ed=a114_0x2439e2;validateUpdateInput(_0x4d2a79);const {plan:_0x535bcb,patch:_0x1426f3,noChanges:_0x3b2a84}=await buildUpdatePlan(_0x4d2a79,![]),_0x4186b3=Number(_0x535bcb[_0x49d9ed(0x178)]['id']),_0x4e9961=await recheckMutationSnapshot(_0x4d2a79,_0x535bcb,_0x49d9ed(0x17f),_0x4186b3);if(!_0x3b2a84)try{await updateMenuEntity(_0x4d2a79[_0x49d9ed(0x195)],_0x4d2a79[_0x49d9ed(0x181)],_0x1426f3);}catch(_0x1e6c73){const _0x3902f2=mapMenuApiError(_0x1e6c73,'update\x20folder',_0x4186b3);throw menuFailure(_0x3902f2,_0x535bcb,{'stage':_0x49d9ed(0x189),'failed':{'id':_0x4186b3}});}let _0x5c0d10=_0x4e9961,_0x5156b4;try{!_0x3b2a84&&(_0x5c0d10=await fetchMenuSnapshot(_0x4d2a79['appCode'],_0x4d2a79[_0x49d9ed(0x181)])),_0x5156b4=requireMenu(_0x5c0d10,_0x4186b3),verifyPatch(_0x5156b4,_0x1426f3),_0x5156b4[_0x49d9ed(0x16f)]!=null&&requireFolder(_0x5c0d10,_0x5156b4[_0x49d9ed(0x16f)]);}catch(_0x285959){const _0x15068c=describeMenuErrorCause(_0x285959,_0x49d9ed(0x183),_0x4186b3),_0x165015=asVerificationError(_0x285959,_0x49d9ed(0x18a)+_0x4186b3+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x165015,_0x535bcb,{'stage':_0x49d9ed(0x177),'succeeded':[{'id':_0x4186b3,'updateRequested':!_0x3b2a84,'skipped':_0x3b2a84}],'failed':{'id':_0x4186b3,'requestedStateConfirmed':![],..._0x15068c},'warnings':[_0x49d9ed(0x17e)],'verification':{'status':'failed','lookupCommand':_0x49d9ed(0x18b),'targetId':_0x4186b3}});}const _0x38d525=mutationResult({..._0x535bcb,'after':_0x5156b4,'dryRun':![],'succeeded':[{'id':_0x4186b3,'updated':!_0x3b2a84,'skipped':_0x3b2a84}],'verification':{'checkedBy':_0x49d9ed(0x180),'snapshotHash':_0x5c0d10[_0x49d9ed(0x168)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x38d525,'message':_0x3b2a84?_0x49d9ed(0x18e)+_0x4186b3+_0x49d9ed(0x196):'Updated\x20folder\x20'+_0x4186b3+'.'};}};function validateUpdateInput(_0x102f92){const _0x22a097=a114_0x2439e2;validateExactId(_0x102f92);if(hasFlag(_0x102f92,_0x22a097(0x184)))throw CliErrors[_0x22a097(0x174)]('Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.',_0x22a097(0x17b));if(!hasFlag(_0x102f92,'label')&&!hasFlag(_0x102f92,_0x22a097(0x186)))throw CliErrors[_0x22a097(0x174)](_0x22a097(0x187));if(hasFlag(_0x102f92,_0x22a097(0x173))&&!_0x102f92['str'](_0x22a097(0x173))[_0x22a097(0x16c)]())throw CliErrors['validation'](_0x22a097(0x194));validateSort(_0x102f92);}async function buildUpdatePlan(_0x36a263,_0x213e9e){const _0x1ba47f=a114_0x2439e2,_0x31a527=validateExactId(_0x36a263),_0x548611=await fetchMutationSnapshot(_0x36a263,_0x1ba47f(0x17f),_0x31a527),_0x55d6a8=requireMenu(_0x548611,_0x31a527);if(_0x55d6a8['type']!==_0x1ba47f(0x18d))throw menuError('menu_not_folder',_0x1ba47f(0x17c)+_0x31a527+'\x20is\x20type\x20\x22'+(_0x55d6a8[_0x1ba47f(0x176)]||'unknown')+_0x1ba47f(0x16d),_0x1ba47f(0x193));assertExpectedState(_0x36a263,_0x55d6a8);const _0x3e0373={'id':_0x31a527},_0x237d5b={..._0x55d6a8};if(hasFlag(_0x36a263,_0x1ba47f(0x173))){const _0x486c70=_0x36a263[_0x1ba47f(0x167)](_0x1ba47f(0x173))[_0x1ba47f(0x16c)]();_0x3e0373['label']=_0x486c70,_0x237d5b[_0x1ba47f(0x173)]=_0x486c70;}if(hasFlag(_0x36a263,_0x1ba47f(0x186))){const _0x2862af=validateSort(_0x36a263);_0x3e0373['sort']=_0x2862af,_0x237d5b['sort']=_0x2862af;}const _0x20bbe7=sameRequestedState(_0x55d6a8,_0x237d5b),_0x37fcf5=_0x20bbe7?[_0x1ba47f(0x191)]:[];return{'patch':_0x3e0373,'noChanges':_0x20bbe7,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x31a527},'before':_0x55d6a8,'after':_0x237d5b,'dryRun':_0x213e9e,'backend':[...BACKEND],'snapshotHash':_0x548611[_0x1ba47f(0x168)],'warnings':_0x37fcf5})};}function sameRequestedState(_0x141384,_0x589eff){const _0x5c8ec2=a114_0x2439e2;return _0x141384[_0x5c8ec2(0x173)]===_0x589eff[_0x5c8ec2(0x173)]&&_0x141384[_0x5c8ec2(0x186)]===_0x589eff[_0x5c8ec2(0x186)];}function verifyPatch(_0x550bdc,_0x157343){const _0x145555=a114_0x2439e2;assertVerified(_0x550bdc['type']===_0x145555(0x18d),'Menu\x20'+_0x550bdc['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x157343[_0x145555(0x173)]!==undefined&&assertVerified(_0x550bdc[_0x145555(0x173)]===_0x157343[_0x145555(0x173)],_0x145555(0x18e)+_0x550bdc['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x157343['sort']!==undefined&&assertVerified(_0x550bdc[_0x145555(0x186)]===_0x157343['sort'],_0x145555(0x18e)+_0x550bdc['id']+_0x145555(0x171));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a115_0x5c35(){const _0x26158d=['365656GEBpMZ','27TqmugL','497780XnZqoR','30BMFAGE','33riBqDf','29355547ksScqW','3312BmOiWQ','586sizxyI','1037463JURUjZ','12CYuOuO','782996fbBrWt','60nCQvWt','3799989LLeUYG'];a115_0x5c35=function(){return _0x26158d;};return a115_0x5c35();}function a115_0x2f43(_0x24cd5d,_0x563e35){_0x24cd5d=_0x24cd5d-0x1ca;const _0x5c357c=a115_0x5c35();let _0x2f4369=_0x5c357c[_0x24cd5d];return _0x2f4369;}(function(_0x5ab2fb,_0xf71a9c){const _0x16fd67=a115_0x2f43,_0x1521ce=_0x5ab2fb();while(!![]){try{const _0x513db8=-parseInt(_0x16fd67(0x1d6))/0x1*(parseInt(_0x16fd67(0x1d5))/0x2)+parseInt(_0x16fd67(0x1ce))/0x3+-parseInt(_0x16fd67(0x1cc))/0x4*(-parseInt(_0x16fd67(0x1d2))/0x5)+parseInt(_0x16fd67(0x1cd))/0x6*(parseInt(_0x16fd67(0x1ca))/0x7)+parseInt(_0x16fd67(0x1cf))/0x8*(parseInt(_0x16fd67(0x1d0))/0x9)+-parseInt(_0x16fd67(0x1d1))/0xa*(-parseInt(_0x16fd67(0x1d3))/0xb)+parseInt(_0x16fd67(0x1cb))/0xc*(-parseInt(_0x16fd67(0x1d4))/0xd);if(_0x513db8===_0xf71a9c)break;else _0x1521ce['push'](_0x1521ce['shift']());}catch(_0x23817b){_0x1521ce['push'](_0x1521ce['shift']());}}}(a115_0x5c35,0xef8af));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';import{menuRegroupStart}from'../../commands/menu/regroup-start.js';import{menuExternalLinkCreate}from'../../commands/menu/external-link-create.js';import{menuExternalLinkUpdate}from'../../commands/menu/external-link-update.js';import{menuRename}from'../../commands/menu/rename.js';import{menuVisibilityUpdate}from'../../commands/menu/visibility-update.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuVisibilityUpdate,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a116_0x282d56=a116_0x13b0;(function(_0x5312ed,_0x39f1d5){const _0x2efa5a=a116_0x13b0,_0x342f93=_0x5312ed();while(!![]){try{const _0x5efcb6=-parseInt(_0x2efa5a(0x1c6))/0x1+parseInt(_0x2efa5a(0x1d1))/0x2*(parseInt(_0x2efa5a(0x1d2))/0x3)+-parseInt(_0x2efa5a(0x1c2))/0x4*(parseInt(_0x2efa5a(0x1c5))/0x5)+-parseInt(_0x2efa5a(0x1cf))/0x6*(parseInt(_0x2efa5a(0x1ce))/0x7)+parseInt(_0x2efa5a(0x1c4))/0x8*(-parseInt(_0x2efa5a(0x1d0))/0x9)+-parseInt(_0x2efa5a(0x1c7))/0xa+-parseInt(_0x2efa5a(0x1d5))/0xb*(-parseInt(_0x2efa5a(0x1cc))/0xc);if(_0x5efcb6===_0x39f1d5)break;else _0x342f93['push'](_0x342f93['shift']());}catch(_0x49b24c){_0x342f93['push'](_0x342f93['shift']());}}}(a116_0x4a37,0x8822d));function a116_0x13b0(_0x39b5b0,_0x196d00){_0x39b5b0=_0x39b5b0-0x1c1;const _0x4a37eb=a116_0x4a37();let _0x13b0a4=_0x4a37eb[_0x39b5b0];return _0x13b0a4;}function a116_0x4a37(){const _0x200f4e=['Found\x20','hash','114196ljurKa','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','2702176rKdBHQ','50QcRTKu','1059175CTEtEp','294980yjWQNR','list','total','menus','No\x20menus\x20found.','7104ADMODW','\x20menu(s)','802949iSuSam','6ELWDAI','9UhilfG','217390gjwBCk','27WJpjCL','bool','boolean','26125KdBbut','read','verbose'];a116_0x4a37=function(){return _0x200f4e;};return a116_0x4a37();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';export const menuList={'service':'menu','command':a116_0x282d56(0x1c8),'description':a116_0x282d56(0x1c3),'risk':a116_0x282d56(0x1d6),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a116_0x282d56(0x1d7),'type':a116_0x282d56(0x1d4),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x1441f5){const _0x1e45f0=a116_0x282d56,_0x5d556a=_0x1441f5[_0x1e45f0(0x1d3)](_0x1e45f0(0x1d7)),_0x103567=await fetchMenuSnapshot(_0x1441f5['appCode'],_0x1441f5['cookie'],{'verbose':_0x5d556a});return{'ok':!![],'data':{'total':_0x103567['total'],'snapshotHash':_0x103567[_0x1e45f0(0x1c1)],'menus':_0x103567[_0x1e45f0(0x1ca)]['map'](toMenuListItem)},'message':_0x103567[_0x1e45f0(0x1c9)]===0x0?_0x1e45f0(0x1cb):_0x1e45f0(0x1d8)+_0x103567[_0x1e45f0(0x1c9)]+_0x1e45f0(0x1cd)};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a117_0x3dc500=a117_0x51d0;(function(_0x32c697,_0x440893){const _0xd1a028=a117_0x51d0,_0x1376d4=_0x32c697();while(!![]){try{const _0x4e9d1e=parseInt(_0xd1a028(0x133))/0x1+parseInt(_0xd1a028(0x149))/0x2*(parseInt(_0xd1a028(0x13a))/0x3)+parseInt(_0xd1a028(0x13b))/0x4*(-parseInt(_0xd1a028(0x148))/0x5)+parseInt(_0xd1a028(0x139))/0x6+-parseInt(_0xd1a028(0x14b))/0x7*(parseInt(_0xd1a028(0x13d))/0x8)+-parseInt(_0xd1a028(0x150))/0x9+-parseInt(_0xd1a028(0x135))/0xa;if(_0x4e9d1e===_0x440893)break;else _0x1376d4['push'](_0x1376d4['shift']());}catch(_0x3d55c0){_0x1376d4['push'](_0x1376d4['shift']());}}}(a117_0x9035,0x77462));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';function a117_0x51d0(_0x114219,_0x3592ec){_0x114219=_0x114219-0x12c;const _0x903555=a117_0x9035();let _0x51d0b3=_0x903555[_0x114219];return _0x51d0b3;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':'POST','path':a117_0x3dc500(0x14e)}];function a117_0x9035(){const _0x18b5d7=['menu_state_drift','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','/smartapi/menu/update','verification','1416852lIytGp','move\x20menu','Would\x20move\x20menu\x20','after','parent-id','type','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','childrenCount','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','sort','move','hash',',\x20current\x20','parentId','menu','folder','menu_move_source_not_leaf','893388RyFMZb','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','11164670wvNPjD','expect-parent-id','rabetbase\x20menu\x20list\x20--format\x20compress','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','1635138yKtzoC','2126532OEVNJY','12AeOIjg','write','3024fFcCsV','POST','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','failed','\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','cookie','appCode','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','Moved\x20menu\x20','menu\x20list','Menu\x20','169550KyQNax','2IknQta','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','196pKrZGW'];a117_0x9035=function(){return _0x18b5d7;};return a117_0x9035();}export const menuMove={'service':a117_0x3dc500(0x130),'command':a117_0x3dc500(0x12c),'description':a117_0x3dc500(0x13f),'risk':a117_0x3dc500(0x13c),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x36fd3e){validateMoveInput(_0x36fd3e);},async 'dryRun'(_0xd77d01){const _0x48627d=a117_0x3dc500,{plan:_0x486f7b,patch:_0x5ea7dd}=await buildMovePlan(_0xd77d01,!![]);return menuDryRunResult(_0x486f7b,{'method':_0x48627d(0x13e),'url':_0x48627d(0x14e),'body':{..._0x5ea7dd,'appCode':_0xd77d01[_0x48627d(0x143)]},'description':_0x48627d(0x152)+_0x5ea7dd['id']+'.'});},async 'execute'(_0x47f3da){const _0x53eb6a=a117_0x3dc500;validateMoveInput(_0x47f3da);const {plan:_0x3acd94,patch:_0x858f00,noChanges:_0x4f4c1d,snapshot:_0x10019b}=await buildMovePlan(_0x47f3da,![]),_0x4fe03d=_0x858f00['id'];if(!_0x4f4c1d)try{await updateMenuEntity(_0x47f3da[_0x53eb6a(0x143)],_0x47f3da[_0x53eb6a(0x142)],_0x858f00);}catch(_0x2a132c){const _0x187259=mapMenuApiError(_0x2a132c,'move',_0x4fe03d);throw menuFailure(_0x187259,_0x3acd94,{'stage':'update','failed':{'id':_0x4fe03d},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x53eb6a(0x140),'targetId':_0x4fe03d,'lookupCommand':_0x53eb6a(0x137)}});}let _0x3c8e29,_0x19ad87;try{_0x3c8e29=_0x4f4c1d?_0x10019b:await fetchMenuSnapshot(_0x47f3da['appCode'],_0x47f3da[_0x53eb6a(0x142)]),_0x19ad87=requireMenu(_0x3c8e29,_0x4fe03d),verifyMove(_0x19ad87,_0x3acd94[_0x53eb6a(0x153)]),_0x19ad87[_0x53eb6a(0x12f)]!==null&&requireFolder(_0x3c8e29,_0x19ad87[_0x53eb6a(0x12f)]);}catch(_0xc218e9){const _0x440281=describeMenuErrorCause(_0xc218e9,'verify\x20menu\x20move',_0x4fe03d),_0x56ac17=asVerificationError(_0xc218e9,'Move\x20request\x20for\x20menu\x20'+_0x4fe03d+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x56ac17,_0x3acd94,{'stage':_0x53eb6a(0x14f),'succeeded':[{'id':_0x4fe03d,'updateRequested':!_0x4f4c1d,'skipped':_0x4f4c1d}],'failed':{'id':_0x4fe03d,'requestedStateConfirmed':![],..._0x440281},'warnings':[_0x53eb6a(0x158)],'verification':{'status':'failed','targetId':_0x4fe03d,'lookupCommand':_0x53eb6a(0x137)}});}const _0xf9e4e6=mutationResult({..._0x3acd94,'after':_0x19ad87,'dryRun':![],'succeeded':[{'id':_0x4fe03d,'updated':!_0x4f4c1d,'skipped':_0x4f4c1d}],'verification':{'checkedBy':_0x53eb6a(0x146),'snapshotHash':_0x3c8e29[_0x53eb6a(0x12d)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0xf9e4e6,'message':_0x4f4c1d?_0x53eb6a(0x147)+_0x4fe03d+_0x53eb6a(0x141):_0x53eb6a(0x145)+_0x4fe03d+'.'};}};function validateMoveInput(_0x35ec85){const _0x5b3230=a117_0x3dc500;validateExactId(_0x35ec85),parseParentId(_0x35ec85,_0x5b3230(0x154),{'required':!![]}),parseParentId(_0x35ec85,'expect-parent-id',{'required':!![]}),validateSort(_0x35ec85);}async function buildMovePlan(_0x41ab1f,_0x4080bc){const _0xcb0a35=a117_0x3dc500,_0x4e8101=validateExactId(_0x41ab1f),_0x294c54=parseParentId(_0x41ab1f,_0xcb0a35(0x154),{'required':!![]}),_0x60ea79=parseParentId(_0x41ab1f,_0xcb0a35(0x136),{'required':!![]}),_0x25fa43=validateSort(_0x41ab1f),_0x258306=await fetchMutationSnapshot(_0x41ab1f,_0xcb0a35(0x151),_0x4e8101),_0x40e445=requireMenu(_0x258306,_0x4e8101);if(_0x40e445[_0xcb0a35(0x155)]===_0xcb0a35(0x131)||_0x40e445[_0xcb0a35(0x157)]!==0x0)throw menuError(_0xcb0a35(0x132),_0xcb0a35(0x147)+_0x4e8101+_0xcb0a35(0x138),_0xcb0a35(0x144));if(_0x40e445[_0xcb0a35(0x12f)]!==_0x60ea79)throw menuError(_0xcb0a35(0x14c),'Menu\x20'+_0x4e8101+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x60ea79)+_0xcb0a35(0x12e)+formatParent(_0x40e445[_0xcb0a35(0x12f)])+'.',_0xcb0a35(0x14d));_0x294c54!==null&&requireFolder(_0x258306,_0x294c54);const _0x246b03=_0x25fa43??(_0x40e445[_0xcb0a35(0x12f)]===_0x294c54?_0x40e445[_0xcb0a35(0x159)]??0x0:nextSiblingSort(_0x258306,_0x294c54,_0xcb0a35(0x130))),_0x50c2a8={..._0x40e445,'parentId':_0x294c54,'sort':_0x246b03},_0x29ec84={'id':_0x4e8101,'parentId':toApiParentId(_0x294c54),'sort':_0x246b03},_0x586d24=_0x40e445[_0xcb0a35(0x12f)]===_0x294c54&&_0x40e445[_0xcb0a35(0x159)]===_0x246b03;return{'patch':_0x29ec84,'noChanges':_0x586d24,'snapshot':_0x258306,'plan':mutationResult({'operation':_0xcb0a35(0x12c),'selector':{'id':_0x4e8101,'parentId':_0x294c54},'before':_0x40e445,'after':_0x50c2a8,'dryRun':_0x4080bc,'backend':[...BACKEND],'plannedActions':[{'stage':'move-menu','method':'POST','path':_0xcb0a35(0x14e),'body':{..._0x29ec84,'appCode':_0x41ab1f[_0xcb0a35(0x143)]}}],'snapshotHash':_0x258306[_0xcb0a35(0x12d)],'warnings':_0x586d24?[_0xcb0a35(0x156)]:[]})};}function verifyMove(_0x2cb110,_0x40b870){const _0x5692be=a117_0x3dc500;assertVerified(_0x2cb110[_0x5692be(0x155)]!==_0x5692be(0x131),_0x5692be(0x147)+_0x2cb110['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x2cb110['childrenCount']===0x0,_0x5692be(0x147)+_0x2cb110['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x2cb110[_0x5692be(0x12f)]===_0x40b870[_0x5692be(0x12f)],'Menu\x20'+_0x2cb110['id']+_0x5692be(0x14a)),assertVerified(_0x2cb110[_0x5692be(0x159)]===_0x40b870[_0x5692be(0x159)],'Menu\x20'+_0x2cb110['id']+_0x5692be(0x134));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a120_0xe34305=a120_0x3665;(function(_0x2b3425,_0xb2ceb9){const _0x5bf201=a120_0x3665,_0x417eaa=_0x2b3425();while(!![]){try{const _0x5dc900=-parseInt(_0x5bf201(0x1d5))/0x1*(-parseInt(_0x5bf201(0x1ed))/0x2)+parseInt(_0x5bf201(0x1ca))/0x3+-parseInt(_0x5bf201(0x1a1))/0x4+parseInt(_0x5bf201(0x1ee))/0x5+parseInt(_0x5bf201(0x1be))/0x6+parseInt(_0x5bf201(0x1b3))/0x7+-parseInt(_0x5bf201(0x1a3))/0x8;if(_0x5dc900===_0xb2ceb9)break;else _0x417eaa['push'](_0x417eaa['shift']());}catch(_0xd41fd5){_0x417eaa['push'](_0x417eaa['shift']());}}}(a120_0x263f,0xba3c6));function a120_0x263f(){const _0x7f965a=['6132834cUyEbu','taskId','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','cookie','toLowerCase','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','flagMissing','menu-ids','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','menuIds','knownStatus','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','2566437gTkhxM','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','<platform-generated>','get','stringify','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','some','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','readbackError','\x20menu\x20list\x20--appcode\x20','1282205JMhycY','applied','start\x20regroup','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','label','Regroup\x20task\x20','sort','childrenIds','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','isSafeInteger','\x20--format\x20compress','group','byId','plan','appCode','message','Regroup\x20task\x20accepted.\x20','menu_regroup_target_not_leaf','replace','write','string','input','SUCCESS','split','2ugFdgl','4567085yoHaXJ','plan\x20regroup','status','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu_regroup_already_applied','join','/smartapi/menu/regroup','length','test','390728ERIOYS','failed','33401448huCuAM','parentId','folder','validation','map','unconfirmed','POST','warnings','type','start\x20menu\x20regroup','size','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','str','menu',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','regroup-start','6737115RvRagn','Menu\x20','hash','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','Regroup\x20readback\x20failed:\x20','\x20menus\x20per\x20regroup\x20request.','filter','\x20and\x20regroup\x20menu\x20ids\x20','trim','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','menu_regroup_target_label_missing'];a120_0x263f=function(){return _0x7f965a;};return a120_0x263f();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a120_0xe34305(0x1a9),'path':a120_0xe34305(0x19e)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a120_0xe34305(0x1b0),'command':a120_0xe34305(0x1b2),'description':a120_0xe34305(0x1d8),'risk':a120_0xe34305(0x1e8),'structuredErrors':!![],'flags':[{'name':a120_0xe34305(0x1d9),'type':a120_0xe34305(0x1e9),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a120_0xe34305(0x1c5),'type':a120_0xe34305(0x1e9),'required':!![],'description':a120_0xe34305(0x1cb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53da00){validateRegroupInput(_0x53da00);},async 'dryRun'(_0xa8c3){const _0x422d9d=a120_0xe34305;validateRegroupInput(_0xa8c3);const _0x3279d3=await buildRegroupPlan(_0xa8c3,!![]);return menuDryRunResult(_0x3279d3[_0x422d9d(0x1e2)],{'method':_0x422d9d(0x1a9),'url':_0x422d9d(0x19e),'body':_0x3279d3[_0x422d9d(0x1ea)],'description':_0x422d9d(0x1ae)+JSON[_0x422d9d(0x1cf)](_0x3279d3[_0x422d9d(0x1d9)])+_0x422d9d(0x1ba)+_0x3279d3[_0x422d9d(0x1c7)][_0x422d9d(0x19d)](',\x20')+_0x422d9d(0x1b1)});},async 'execute'(_0x32c5bb){const _0x556675=a120_0xe34305;validateRegroupInput(_0x32c5bb);const _0x450967=await buildRegroupPlan(_0x32c5bb,![]);await recheckMutationSnapshot(_0x32c5bb,_0x450967[_0x556675(0x1e2)],_0x556675(0x1d7));const _0x24bb32=buildMenuLookupCommand(_0x32c5bb[_0x556675(0x1e3)]);let _0x42e5d6,_0x3d452b;try{_0x42e5d6=await startMenuRegroup(_0x32c5bb[_0x556675(0x1c1)],_0x450967[_0x556675(0x1ea)]),_0x3d452b=normalizeAsyncTask(_0x42e5d6);}catch(_0x2a8cea){const _0x2ba301=await inspectRegroupAfterFailure(_0x32c5bb[_0x556675(0x1e3)],_0x32c5bb[_0x556675(0x1c1)],_0x450967[_0x556675(0x1d9)],_0x450967[_0x556675(0x1c7)]),_0x493205=typeof _0x42e5d6?.[_0x556675(0x1bf)]===_0x556675(0x1e9)&&_0x42e5d6[_0x556675(0x1bf)][_0x556675(0x1bb)]()?_0x42e5d6[_0x556675(0x1bf)][_0x556675(0x1bb)]():null,_0x513ea3=_0x493205?{'command':buildAsyncTaskStatusCommand(_0x493205,_0x32c5bb['appCode'])}:null,_0x45c647=mapMenuApiError(_0x2a8cea,_0x556675(0x1ac));throw menuFailure(_0x45c647,_0x450967[_0x556675(0x1e2)],{'stage':'regroup-submit','failed':{'menuIds':_0x450967[_0x556675(0x1c7)],'taskId':_0x493205,'groupingApplied':_0x2ba301[_0x556675(0x1d6)]?!![]:_0x556675(0x1a8)},'after':_0x2ba301[_0x556675(0x1d6)]??null,'warnings':[_0x556675(0x1c9),..._0x2ba301[_0x556675(0x1d3)]?['Regroup\x20readback\x20also\x20failed:\x20'+_0x2ba301[_0x556675(0x1d3)]]:[],..._0x493205?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':_0x556675(0x1a2),'groupingApplied':_0x2ba301[_0x556675(0x1d6)]?!![]:_0x556675(0x1a8),'taskId':_0x493205,'query':_0x513ea3,'lookupCommand':_0x24bb32}});}const _0x5558be=buildAsyncTaskStatusCommand(_0x3d452b[_0x556675(0x1bf)],_0x32c5bb[_0x556675(0x1e3)]);let _0x19aee7=null,_0x4322b3=null,_0x1c0d0a=null;try{_0x19aee7=await fetchMenuSnapshot(_0x32c5bb['appCode'],_0x32c5bb[_0x556675(0x1c1)]),_0x4322b3=findAppliedRegroup(_0x19aee7,_0x450967[_0x556675(0x1d9)],_0x450967['menuIds']);}catch(_0x274ebb){_0x1c0d0a=_0x274ebb instanceof Error?_0x274ebb[_0x556675(0x1e4)]:String(_0x274ebb);}const _0x1969ac=mutationResult({..._0x450967[_0x556675(0x1e2)],'after':_0x4322b3??null,'dryRun':![],'succeeded':[{'groupId':_0x4322b3?.[_0x556675(0x1e0)]['id']??null,'menuIds':_0x450967[_0x556675(0x1c7)],'taskId':_0x3d452b['taskId'],'status':_0x3d452b['status'],'groupingApplied':_0x4322b3?!![]:_0x556675(0x1a8)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x19aee7?.['hash']??null,'groupId':_0x4322b3?.['group']['id']??null,'groupingApplied':_0x4322b3?!![]:_0x556675(0x1a8),'readbackError':_0x1c0d0a,'lookupCommand':_0x24bb32},'warnings':[..._0x450967[_0x556675(0x1e2)][_0x556675(0x1aa)],...!_0x4322b3?[unconfirmedRegroupWarning(_0x3d452b)]:[],..._0x1c0d0a?[_0x556675(0x1b7)+_0x1c0d0a]:[]]}),_0x530023=_0x3d452b[_0x556675(0x19a)]==='SUCCESS'&&!_0x4322b3?_0x556675(0x1da)+_0x3d452b[_0x556675(0x1bf)]+_0x556675(0x1dd):_0x556675(0x1e5)+asyncTaskMessage(_0x3d452b);return{'ok':!![],'message':_0x530023,'data':{..._0x1969ac,'task':_0x3d452b,'query':_0x3d452b['isTerminal']?null:{'command':_0x5558be}}};}};function validateRegroupInput(_0x2cdbbf){const _0x166536=a120_0xe34305;if(!_0x2cdbbf[_0x166536(0x1af)](_0x166536(0x1d9))[_0x166536(0x1bb)]())throw CliErrors[_0x166536(0x1c4)](_0x166536(0x1d9));parseMenuIds(_0x2cdbbf['str'](_0x166536(0x1c5)));}function parseMenuIds(_0x25bf2d){const _0x5282c8=a120_0xe34305,_0x2b2abc=_0x25bf2d[_0x5282c8(0x1ec)](',')[_0x5282c8(0x1a7)](_0x5d14d4=>_0x5d14d4['trim']());if(_0x2b2abc['length']===0x0||_0x2b2abc[_0x5282c8(0x1d1)](_0x197072=>!_0x197072))throw CliErrors['validation']('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x1515c7=_0x2b2abc[_0x5282c8(0x1a7)](_0x407e63=>{const _0x34c036=_0x5282c8;if(!/^\d+$/[_0x34c036(0x1a0)](_0x407e63))throw CliErrors[_0x34c036(0x1a6)](_0x34c036(0x19b));const _0x45a429=Number(_0x407e63);if(!Number[_0x34c036(0x1de)](_0x45a429)||_0x45a429<=0x0)throw CliErrors[_0x34c036(0x1a6)](_0x34c036(0x19b));return _0x45a429;});if(new Set(_0x1515c7)[_0x5282c8(0x1ad)]!==_0x1515c7[_0x5282c8(0x19f)])throw CliErrors[_0x5282c8(0x1a6)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x1515c7['length']>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5282c8(0x1a6)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+_0x5282c8(0x1b8));return _0x1515c7;}function a120_0x3665(_0x370780,_0x3da60e){_0x370780=_0x370780-0x19a;const _0x263f65=a120_0x263f();let _0x3665c6=_0x263f65[_0x370780];return _0x3665c6;}function buildMenuLookupCommand(_0x126ab0){const _0x521ad1=a120_0xe34305,_0x1b148b='\x27'+_0x126ab0[_0x521ad1(0x1e7)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+_0x521ad1(0x1d4)+_0x1b148b+_0x521ad1(0x1df);}function unconfirmedRegroupWarning(_0x112d3f){const _0x43ccc5=a120_0xe34305;if(_0x112d3f['status']===_0x43ccc5(0x1eb))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x112d3f[_0x43ccc5(0x19a)]==='FAILED')return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x112d3f[_0x43ccc5(0x1c8)])return _0x43ccc5(0x1c3);return'The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';}async function buildRegroupPlan(_0x57228e,_0x555bbd){const _0x1a02f7=a120_0xe34305,_0x1fcf9a=_0x57228e[_0x1a02f7(0x1af)](_0x1a02f7(0x1d9))[_0x1a02f7(0x1bb)](),_0x24955f=parseMenuIds(_0x57228e[_0x1a02f7(0x1af)]('menu-ids')),_0x1348b1=await fetchMutationSnapshot(_0x57228e,_0x1a02f7(0x1ef)),_0x215702=_0x24955f['map'](_0x2be73f=>requireMenu(_0x1348b1,_0x2be73f));for(const _0x20f977 of _0x215702){if(_0x20f977['type'][_0x1a02f7(0x1bb)]()[_0x1a02f7(0x1c2)]()===_0x1a02f7(0x1a5)||_0x20f977['childrenCount']>0x0)throw menuError(_0x1a02f7(0x1e6),_0x1a02f7(0x1b4)+_0x20f977['id']+_0x1a02f7(0x1b6),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x20f977[_0x1a02f7(0x1d9)]['trim']())throw menuError(_0x1a02f7(0x1bd),_0x1a02f7(0x1b4)+_0x20f977['id']+'\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.',_0x1a02f7(0x1d0));}const _0x2df38c=findAppliedRegroup(_0x1348b1,_0x1fcf9a,_0x24955f);if(_0x2df38c)throw menuError(_0x1a02f7(0x19c),'Menus\x20'+_0x24955f[_0x1a02f7(0x19d)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x2df38c[_0x1a02f7(0x1e0)]['id']+'\x20('+JSON[_0x1a02f7(0x1cf)](_0x1fcf9a)+').',_0x1a02f7(0x1cc));const _0x1011ea=_0x1348b1['menus'][_0x1a02f7(0x1b9)](_0xc3e688=>_0xc3e688[_0x1a02f7(0x1a4)]==null&&_0xc3e688[_0x1a02f7(0x1ab)]['trim']()[_0x1a02f7(0x1c2)]()==='folder'&&_0xc3e688[_0x1a02f7(0x1d9)]===_0x1fcf9a);if(_0x1011ea[_0x1a02f7(0x19f)]>0x0)throw menuError('menu_regroup_label_conflict','Root\x20folder\x20label\x20'+JSON[_0x1a02f7(0x1cf)](_0x1fcf9a)+_0x1a02f7(0x1bc)+_0x1011ea['map'](_0x1b8fae=>_0x1b8fae['id'])[_0x1a02f7(0x19d)](',\x20')+'.',_0x1a02f7(0x1c0));const _0xb6c1af={'appCode':_0x57228e[_0x1a02f7(0x1e3)],'menuGroups':[{'label':_0x1fcf9a,'type':'folder','children':_0x215702[_0x1a02f7(0x1a7)](_0x164fbe=>({'id':_0x164fbe['id'],'label':_0x164fbe[_0x1a02f7(0x1d9)]}))}]},_0x1f3c7d=mutationResult({'operation':_0x1a02f7(0x1b2),'selector':{'label':_0x1fcf9a,'menuIds':_0x24955f},'before':{'menus':_0x215702},'after':{'group':{'id':null,'parentId':null,'label':_0x1fcf9a,'path':_0x1a02f7(0x1cd),'type':_0x1a02f7(0x1a5),'childrenIds':_0x24955f},'children':_0x215702[_0x1a02f7(0x1a7)](_0x5dd3c3=>({'id':_0x5dd3c3['id'],'label':_0x5dd3c3['label'],'beforeParentId':_0x5dd3c3[_0x1a02f7(0x1a4)],'afterParentId':'<new-group-id>'}))},'dryRun':_0x555bbd,'backend':[...BACKEND],'plannedActions':[{'stage':'submit-regroup-task','method':_0x1a02f7(0x1a9),'path':'/smartapi/menu/regroup','body':_0xb6c1af}],'snapshotHash':_0x1348b1[_0x1a02f7(0x1b5)],'warnings':[_0x1a02f7(0x1c6),_0x1a02f7(0x1d2)]});return{'label':_0x1fcf9a,'menuIds':_0x24955f,'input':_0xb6c1af,'plan':_0x1f3c7d};}function findAppliedRegroup(_0x21ae7a,_0x4ad45f,_0x398834){const _0x451156=a120_0xe34305,_0x21f537=_0x398834['map'](_0x62ceb7=>_0x21ae7a[_0x451156(0x1e1)][_0x451156(0x1ce)](_0x62ceb7))['filter'](_0xaaf861=>Boolean(_0xaaf861));if(_0x21f537[_0x451156(0x19f)]!==_0x398834[_0x451156(0x19f)])return null;const _0x19cddd=_0x21f537[0x0]?.[_0x451156(0x1a4)];if(_0x19cddd==null||_0x21f537[_0x451156(0x1d1)](_0x2e699f=>_0x2e699f[_0x451156(0x1a4)]!==_0x19cddd))return null;const _0x270fc2=_0x21ae7a['byId'][_0x451156(0x1ce)](_0x19cddd);if(!_0x270fc2||_0x270fc2[_0x451156(0x1a4)]!=null||_0x270fc2[_0x451156(0x1ab)][_0x451156(0x1bb)]()[_0x451156(0x1c2)]()!==_0x451156(0x1a5)||_0x270fc2[_0x451156(0x1d9)]!==_0x4ad45f)return null;const _0x40607b=[..._0x398834][_0x451156(0x1db)]((_0x26cc21,_0x4217ec)=>_0x26cc21-_0x4217ec),_0x11b5b3=[..._0x270fc2[_0x451156(0x1dc)]]['sort']((_0x3f1e38,_0x3c002c)=>_0x3f1e38-_0x3c002c);if(JSON[_0x451156(0x1cf)](_0x11b5b3)!==JSON[_0x451156(0x1cf)](_0x40607b))return null;return{'group':_0x270fc2,'children':_0x21f537};}async function inspectRegroupAfterFailure(_0xfaa8a5,_0x5d0370,_0x39465f,_0x449e8a){const _0x3b9223=a120_0xe34305;try{const _0x5498b5=await fetchMenuSnapshot(_0xfaa8a5,_0x5d0370);return{'applied':findAppliedRegroup(_0x5498b5,_0x39465f,_0x449e8a),'readbackError':null};}catch(_0x6aa5ee){return{'applied':null,'readbackError':_0x6aa5ee instanceof Error?_0x6aa5ee[_0x3b9223(0x1e4)]:String(_0x6aa5ee)};}}
|
|
1
|
+
const a118_0x2437e2=a118_0x3d2e;(function(_0x1dca58,_0x319949){const _0x14b6ec=a118_0x3d2e,_0x510bba=_0x1dca58();while(!![]){try{const _0xc6745e=-parseInt(_0x14b6ec(0x13f))/0x1*(parseInt(_0x14b6ec(0x17c))/0x2)+-parseInt(_0x14b6ec(0x126))/0x3*(parseInt(_0x14b6ec(0x146))/0x4)+-parseInt(_0x14b6ec(0x180))/0x5+parseInt(_0x14b6ec(0x15c))/0x6*(-parseInt(_0x14b6ec(0x154))/0x7)+-parseInt(_0x14b6ec(0x176))/0x8*(-parseInt(_0x14b6ec(0x16d))/0x9)+-parseInt(_0x14b6ec(0x14f))/0xa*(-parseInt(_0x14b6ec(0x15d))/0xb)+-parseInt(_0x14b6ec(0x13c))/0xc*(-parseInt(_0x14b6ec(0x159))/0xd);if(_0xc6745e===_0x319949)break;else _0x510bba['push'](_0x510bba['shift']());}catch(_0x43a591){_0x510bba['push'](_0x510bba['shift']());}}}(a118_0x33c5,0xde47e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu}from'../../commands/menu/shared/mutations.js';import{startMenuRegroup}from'../../commands/menu/shared/service.js';import{CLI_BIN_NAME}from'../../constant/cli.js';function a118_0x3d2e(_0x692393,_0x5d13b4){_0x692393=_0x692393-0x123;const _0x33c51c=a118_0x33c5();let _0x3d2e29=_0x33c51c[_0x692393];return _0x3d2e29;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a118_0x2437e2(0x130),'path':a118_0x2437e2(0x12a)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a118_0x2437e2(0x13a),'command':'regroup-start','description':a118_0x2437e2(0x13b),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a118_0x2437e2(0x128),'required':!![],'description':a118_0x2437e2(0x152)},{'name':a118_0x2437e2(0x162),'type':a118_0x2437e2(0x128),'required':!![],'description':a118_0x2437e2(0x134)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3d1f93){validateRegroupInput(_0x3d1f93);},async 'dryRun'(_0x4264ed){const _0x57ee47=a118_0x2437e2;validateRegroupInput(_0x4264ed);const _0x28d742=await buildRegroupPlan(_0x4264ed,!![]);return menuDryRunResult(_0x28d742[_0x57ee47(0x181)],{'method':_0x57ee47(0x130),'url':_0x57ee47(0x12a),'body':_0x28d742['input'],'description':_0x57ee47(0x15b)+JSON[_0x57ee47(0x17d)](_0x28d742['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x28d742[_0x57ee47(0x16c)][_0x57ee47(0x17b)](',\x20')+_0x57ee47(0x15a)});},async 'execute'(_0x1a7ff3){const _0xc96bb=a118_0x2437e2;validateRegroupInput(_0x1a7ff3);const _0x7c003c=await buildRegroupPlan(_0x1a7ff3,![]);await recheckMutationSnapshot(_0x1a7ff3,_0x7c003c[_0xc96bb(0x181)],_0xc96bb(0x170));const _0x8559a=buildMenuLookupCommand(_0x1a7ff3[_0xc96bb(0x172)]);let _0x4c82a0,_0x36dcbe;try{_0x4c82a0=await startMenuRegroup(_0x1a7ff3[_0xc96bb(0x165)],_0x7c003c[_0xc96bb(0x163)]),_0x36dcbe=normalizeAsyncTask(_0x4c82a0);}catch(_0x153590){const _0x3bd127=await inspectRegroupAfterFailure(_0x1a7ff3[_0xc96bb(0x172)],_0x1a7ff3[_0xc96bb(0x165)],_0x7c003c['label'],_0x7c003c[_0xc96bb(0x16c)]),_0x4cb328=typeof _0x4c82a0?.['taskId']===_0xc96bb(0x128)&&_0x4c82a0['taskId']['trim']()?_0x4c82a0[_0xc96bb(0x150)]['trim']():null,_0x1c3d89=_0x4cb328?{'command':buildAsyncTaskStatusCommand(_0x4cb328,_0x1a7ff3[_0xc96bb(0x172)])}:null,_0x1f7e0b=mapMenuApiError(_0x153590,_0xc96bb(0x13d));throw menuFailure(_0x1f7e0b,_0x7c003c['plan'],{'stage':_0xc96bb(0x12e),'failed':{'menuIds':_0x7c003c['menuIds'],'taskId':_0x4cb328,'groupingApplied':_0x3bd127['applied']?!![]:'unconfirmed'},'after':_0x3bd127[_0xc96bb(0x144)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x3bd127[_0xc96bb(0x149)]?[_0xc96bb(0x171)+_0x3bd127['readbackError']]:[],..._0x4cb328?[_0xc96bb(0x136)]:[]],'verification':{'status':_0xc96bb(0x133),'groupingApplied':_0x3bd127['applied']?!![]:_0xc96bb(0x161),'taskId':_0x4cb328,'query':_0x1c3d89,'lookupCommand':_0x8559a}});}const _0x2eb6b7=buildAsyncTaskStatusCommand(_0x36dcbe[_0xc96bb(0x150)],_0x1a7ff3['appCode']);let _0x2066ca=null,_0x5e016d=null,_0xb1ebed=null;try{_0x2066ca=await fetchMenuSnapshot(_0x1a7ff3['appCode'],_0x1a7ff3[_0xc96bb(0x165)]),_0x5e016d=findAppliedRegroup(_0x2066ca,_0x7c003c[_0xc96bb(0x139)],_0x7c003c[_0xc96bb(0x16c)]);}catch(_0x40f0de){_0xb1ebed=_0x40f0de instanceof Error?_0x40f0de[_0xc96bb(0x123)]:String(_0x40f0de);}const _0xd1fbde=mutationResult({..._0x7c003c[_0xc96bb(0x181)],'after':_0x5e016d??null,'dryRun':![],'succeeded':[{'groupId':_0x5e016d?.[_0xc96bb(0x158)]['id']??null,'menuIds':_0x7c003c['menuIds'],'taskId':_0x36dcbe['taskId'],'status':_0x36dcbe[_0xc96bb(0x145)],'groupingApplied':_0x5e016d?!![]:'unconfirmed'}],'verification':{'checkedBy':_0xc96bb(0x131),'snapshotHash':_0x2066ca?.[_0xc96bb(0x15f)]??null,'groupId':_0x5e016d?.[_0xc96bb(0x158)]['id']??null,'groupingApplied':_0x5e016d?!![]:_0xc96bb(0x161),'readbackError':_0xb1ebed,'lookupCommand':_0x8559a},'warnings':[..._0x7c003c[_0xc96bb(0x181)][_0xc96bb(0x156)],...!_0x5e016d?[unconfirmedRegroupWarning(_0x36dcbe)]:[],..._0xb1ebed?['Regroup\x20readback\x20failed:\x20'+_0xb1ebed]:[]]}),_0x51b4e3=_0x36dcbe[_0xc96bb(0x145)]===_0xc96bb(0x132)&&!_0x5e016d?'Regroup\x20task\x20'+_0x36dcbe['taskId']+_0xc96bb(0x124):_0xc96bb(0x178)+asyncTaskMessage(_0x36dcbe);return{'ok':!![],'message':_0x51b4e3,'data':{..._0xd1fbde,'task':_0x36dcbe,'query':_0x36dcbe['isTerminal']?null:{'command':_0x2eb6b7}}};}};function validateRegroupInput(_0x4aa80c){const _0x145f4f=a118_0x2437e2;if(!_0x4aa80c[_0x145f4f(0x14e)](_0x145f4f(0x139))[_0x145f4f(0x14a)]())throw CliErrors[_0x145f4f(0x135)](_0x145f4f(0x139));parseMenuIds(_0x4aa80c['str'](_0x145f4f(0x162)));}function parseMenuIds(_0x3de8ff){const _0x5f1fcd=a118_0x2437e2,_0x45b7bc=_0x3de8ff[_0x5f1fcd(0x151)](',')[_0x5f1fcd(0x14b)](_0x734859=>_0x734859[_0x5f1fcd(0x14a)]());if(_0x45b7bc[_0x5f1fcd(0x179)]===0x0||_0x45b7bc['some'](_0x70236=>!_0x70236))throw CliErrors[_0x5f1fcd(0x16a)](_0x5f1fcd(0x168));const _0x2ec2c4=_0x45b7bc[_0x5f1fcd(0x14b)](_0x2af77c=>{const _0x842586=_0x5f1fcd;if(!/^\d+$/[_0x842586(0x147)](_0x2af77c))throw CliErrors['validation'](_0x842586(0x168));const _0x1cd9ad=Number(_0x2af77c);if(!Number[_0x842586(0x16e)](_0x1cd9ad)||_0x1cd9ad<=0x0)throw CliErrors[_0x842586(0x16a)](_0x842586(0x168));return _0x1cd9ad;});if(new Set(_0x2ec2c4)['size']!==_0x2ec2c4[_0x5f1fcd(0x179)])throw CliErrors[_0x5f1fcd(0x16a)]('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x2ec2c4[_0x5f1fcd(0x179)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x5f1fcd(0x16a)](_0x5f1fcd(0x173)+MAX_REGROUP_MENU_COUNT+'\x20menus\x20per\x20regroup\x20request.');return _0x2ec2c4;}function buildMenuLookupCommand(_0x19d8ce){const _0x221eba=a118_0x2437e2,_0x3b6638='\x27'+_0x19d8ce[_0x221eba(0x142)](/'/g,_0x221eba(0x14d))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x3b6638+_0x221eba(0x175);}function unconfirmedRegroupWarning(_0x6546d0){const _0x27ca56=a118_0x2437e2;if(_0x6546d0[_0x27ca56(0x145)]===_0x27ca56(0x132))return _0x27ca56(0x125);if(_0x6546d0[_0x27ca56(0x145)]==='FAILED')return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x6546d0[_0x27ca56(0x153)])return _0x27ca56(0x143);return _0x27ca56(0x12d);}async function buildRegroupPlan(_0xb39605,_0x5c958c){const _0x5122eb=a118_0x2437e2,_0x169350=_0xb39605[_0x5122eb(0x14e)]('label')['trim'](),_0x2d8094=parseMenuIds(_0xb39605[_0x5122eb(0x14e)](_0x5122eb(0x162))),_0x28e42d=await fetchMutationSnapshot(_0xb39605,'plan\x20regroup'),_0x511431=_0x2d8094[_0x5122eb(0x14b)](_0x5dc91b=>requireMenu(_0x28e42d,_0x5dc91b));for(const _0x5032d3 of _0x511431){if(_0x5032d3['type'][_0x5122eb(0x14a)]()[_0x5122eb(0x138)]()===_0x5122eb(0x13e)||_0x5032d3[_0x5122eb(0x16b)]>0x0)throw menuError(_0x5122eb(0x17e),'Menu\x20'+_0x5032d3['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x5122eb(0x148));if(!_0x5032d3['label'][_0x5122eb(0x14a)]())throw menuError(_0x5122eb(0x141),_0x5122eb(0x15e)+_0x5032d3['id']+_0x5122eb(0x129),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0x4227bf=findAppliedRegroup(_0x28e42d,_0x169350,_0x2d8094);if(_0x4227bf)throw menuError(_0x5122eb(0x137),'Menus\x20'+_0x2d8094['join'](',\x20')+_0x5122eb(0x127)+_0x4227bf[_0x5122eb(0x158)]['id']+'\x20('+JSON[_0x5122eb(0x17d)](_0x169350)+').',_0x5122eb(0x167));const _0xd7f193=_0x28e42d[_0x5122eb(0x12c)]['filter'](_0x4c8e46=>_0x4c8e46[_0x5122eb(0x16f)]==null&&_0x4c8e46['type'][_0x5122eb(0x14a)]()[_0x5122eb(0x138)]()===_0x5122eb(0x13e)&&_0x4c8e46['label']===_0x169350);if(_0xd7f193[_0x5122eb(0x179)]>0x0)throw menuError(_0x5122eb(0x169),_0x5122eb(0x174)+JSON[_0x5122eb(0x17d)](_0x169350)+_0x5122eb(0x17a)+_0xd7f193[_0x5122eb(0x14b)](_0xdc250c=>_0xdc250c['id'])[_0x5122eb(0x17b)](',\x20')+'.',_0x5122eb(0x164));const _0x1badd6={'appCode':_0xb39605[_0x5122eb(0x172)],'menuGroups':[{'label':_0x169350,'type':_0x5122eb(0x13e),'children':_0x511431['map'](_0x461407=>({'id':_0x461407['id'],'label':_0x461407['label']}))}]},_0xc23822=mutationResult({'operation':'regroup-start','selector':{'label':_0x169350,'menuIds':_0x2d8094},'before':{'menus':_0x511431},'after':{'group':{'id':null,'parentId':null,'label':_0x169350,'path':_0x5122eb(0x157),'type':'folder','childrenIds':_0x2d8094},'children':_0x511431[_0x5122eb(0x14b)](_0x23520d=>({'id':_0x23520d['id'],'label':_0x23520d[_0x5122eb(0x139)],'beforeParentId':_0x23520d[_0x5122eb(0x16f)],'afterParentId':'<new-group-id>'}))},'dryRun':_0x5c958c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5122eb(0x160),'method':_0x5122eb(0x130),'path':'/smartapi/menu/regroup','body':_0x1badd6}],'snapshotHash':_0x28e42d[_0x5122eb(0x15f)],'warnings':[_0x5122eb(0x155),_0x5122eb(0x140)]});return{'label':_0x169350,'menuIds':_0x2d8094,'input':_0x1badd6,'plan':_0xc23822};}function a118_0x33c5(){const _0x4b38f8=['/smartapi/menu/regroup','type','menus','The\x20regroup\x20task\x20returned\x20an\x20unknown\x20status\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Review\x20the\x20task\x20manually\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','regroup-submit','byId','POST','menu\x20list','SUCCESS','failed','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','flagMissing','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','menu_regroup_already_applied','toLowerCase','label','menu','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','24TGlqUY','start\x20menu\x20regroup','folder','924791PVswBD','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','menu_regroup_target_label_missing','replace','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','applied','status','4DEMTdx','test','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','readbackError','trim','map','some','\x27\x5c\x27\x27','str','298730yoJSZP','taskId','split','Label\x20of\x20the\x20new\x20root\x20folder','knownStatus','1008MczwAE','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','warnings','<platform-generated>','group','8326903APckzU',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','25920tugboP','473cTpruM','Menu\x20','hash','submit-regroup-task','unconfirmed','menu-ids','input','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','cookie','childrenIds','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu_regroup_label_conflict','validation','childrenCount','menuIds','1719cKXnRH','isSafeInteger','parentId','start\x20regroup','Regroup\x20readback\x20also\x20failed:\x20','appCode','--menu-ids\x20supports\x20at\x20most\x20','Root\x20folder\x20label\x20','\x20--format\x20compress','49048nfUtFL','sort','Regroup\x20task\x20accepted.\x20','length','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','join','2CHecoh','stringify','menu_regroup_target_not_leaf','get','3260975MfdSPe','plan','message','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','1881282EysYst','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','string','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.'];a118_0x33c5=function(){return _0x4b38f8;};return a118_0x33c5();}function findAppliedRegroup(_0xa73eb3,_0x3c9433,_0x175b6c){const _0x2f8998=a118_0x2437e2,_0x4fe489=_0x175b6c['map'](_0x19833d=>_0xa73eb3[_0x2f8998(0x12f)][_0x2f8998(0x17f)](_0x19833d))['filter'](_0x2448f6=>Boolean(_0x2448f6));if(_0x4fe489['length']!==_0x175b6c[_0x2f8998(0x179)])return null;const _0x426d15=_0x4fe489[0x0]?.[_0x2f8998(0x16f)];if(_0x426d15==null||_0x4fe489[_0x2f8998(0x14c)](_0x156a55=>_0x156a55['parentId']!==_0x426d15))return null;const _0xdb50a6=_0xa73eb3[_0x2f8998(0x12f)][_0x2f8998(0x17f)](_0x426d15);if(!_0xdb50a6||_0xdb50a6[_0x2f8998(0x16f)]!=null||_0xdb50a6[_0x2f8998(0x12b)][_0x2f8998(0x14a)]()[_0x2f8998(0x138)]()!==_0x2f8998(0x13e)||_0xdb50a6[_0x2f8998(0x139)]!==_0x3c9433)return null;const _0x1346ba=[..._0x175b6c][_0x2f8998(0x177)]((_0x27cc9f,_0x22fbf9)=>_0x27cc9f-_0x22fbf9),_0x5c615f=[..._0xdb50a6[_0x2f8998(0x166)]][_0x2f8998(0x177)]((_0x477d21,_0x2af959)=>_0x477d21-_0x2af959);if(JSON['stringify'](_0x5c615f)!==JSON[_0x2f8998(0x17d)](_0x1346ba))return null;return{'group':_0xdb50a6,'children':_0x4fe489};}async function inspectRegroupAfterFailure(_0x19c0b6,_0x151d3e,_0x2f0e7e,_0x4ca2c0){try{const _0x5965b7=await fetchMenuSnapshot(_0x19c0b6,_0x151d3e);return{'applied':findAppliedRegroup(_0x5965b7,_0x2f0e7e,_0x4ca2c0),'readbackError':null};}catch(_0x23348e){return{'applied':null,'readbackError':_0x23348e instanceof Error?_0x23348e['message']:String(_0x23348e)};}}
|