@lovrabet/rabetbase-cli 2.4.7-beta.1 → 2.4.7
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/README.md +4 -4
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.d.ts +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/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/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/init/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.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/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/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/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.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.d.ts +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.d.ts +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.d.ts +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.d.ts +2 -2
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/types.d.ts +1 -1
- package/lib/core/bff/utils.d.ts +2 -2
- 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.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/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/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/rules-cdn.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 +2 -2
- package/sidecar/flags.json +1 -1
- package/skills/rabetbase/SKILL.md +28 -28
- package/skills/rabetbase/guides/backend-function.md +30 -30
- package/skills/rabetbase/guides/best-practices.md +8 -8
- package/skills/rabetbase/guides/bff-creation-workflow.md +16 -16
- package/skills/rabetbase/guides/conflict-detection.md +3 -3
- package/skills/rabetbase/guides/custom-page-workflow.md +8 -8
- package/skills/rabetbase/guides/data-api-guidelines.md +6 -6
- package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +8 -8
- package/skills/rabetbase/guides/sql-creation-workflow.md +2 -2
- package/skills/rabetbase/guides/troubleshooting.md +6 -6
- package/skills/rabetbase/guides/typescript-sdk.md +10 -10
- package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +1 -1
- package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +10 -10
- package/skills/rabetbase/references/rabetbase-app-config.md +2 -2
- package/skills/rabetbase/references/rabetbase-bff-create.md +3 -3
- package/skills/rabetbase/references/rabetbase-bff-delete.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-detail.md +4 -4
- package/skills/rabetbase/references/rabetbase-bff-list.md +8 -8
- package/skills/rabetbase/references/rabetbase-bff-pull.md +1 -1
- package/skills/rabetbase/references/rabetbase-bff-push.md +3 -3
- package/skills/rabetbase/references/rabetbase-bff-status.md +1 -1
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +3 -3
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +3 -3
- package/skills/rabetbase.manifest.json +3 -3
- package/templates/rules/lovrabet_rules.mdc.tpl +7 -7
- package/templates/skill/SKILL.md.tpl +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x373abf=a113_0x56f7;function a113_0x56f7(_0x27fe22,_0x11076d){_0x27fe22=_0x27fe22-0xe6;const _0x5af359=a113_0x5af3();let _0x56f7f2=_0x5af359[_0x27fe22];return _0x56f7f2;}(function(_0x284e00,_0x5c5c77){const _0x28f6bd=a113_0x56f7,_0x351d89=_0x284e00();while(!![]){try{const _0xb7e4c2=parseInt(_0x28f6bd(0x106))/0x1+parseInt(_0x28f6bd(0x12b))/0x2*(-parseInt(_0x28f6bd(0x156))/0x3)+parseInt(_0x28f6bd(0x16b))/0x4*(-parseInt(_0x28f6bd(0x134))/0x5)+-parseInt(_0x28f6bd(0xfa))/0x6*(-parseInt(_0x28f6bd(0x141))/0x7)+parseInt(_0x28f6bd(0xfe))/0x8*(-parseInt(_0x28f6bd(0xfb))/0x9)+parseInt(_0x28f6bd(0xf7))/0xa+parseInt(_0x28f6bd(0x169))/0xb;if(_0xb7e4c2===_0x5c5c77)break;else _0x351d89['push'](_0x351d89['shift']());}catch(_0x4bf146){_0x351d89['push'](_0x351d89['shift']());}}}(a113_0x5af3,0xdb640));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';function a113_0x5af3(){const _0x3c0855=['selector','succeeded','isSafeInteger','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','plannedActions','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','POST','create-menu','byId','label','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','code','menu\x20list','length','menu_not_found','13077097xXFDVW','menu','8HcoTKm','expectedPath','flagMissing','menu_create_response_invalid','rawerror','\x20could\x20not\x20be\x20verified.','visibility','add','iframe','menu_sort_invalid','expectedSnapshotHash','create\x20external\x20menu','bool','parentId','/smartapi/menu/create','causemessage','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','Menu\x20','hash','prototype','menu_permission_denied','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','1814980GToLEH','Menu\x20label','<redacted>','105306tgizue','90450zYEHQY','rawFlags','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','40VtfQGr','\x20--format\x20compress','\x20has\x20an\x20unexpected\x20','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','get','username','verification','cookie','838172PqNlej','body','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','entries','parent-id','string','menu_mutation_failed','after','path','currentSnapshotHash','lookupCommand','has','str','readbackerror','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','trim','replace','https:','plan','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','link','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','failed','sort','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','createdId','menu_verification_failed','pre-write-recheck','create','stringify','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','External\x20HTTPS\x20URL','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','\x20with\x20','How\x20to\x20open\x20the\x20external\x20website','filter','123082uksgGP','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','external-link-create','open-mode','afterPlan','Create\x20an\x20external\x20website\x20link\x20menu','visible','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','menu_create_recovery_required','2990705YsgmhJ','snapshot','isArray','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','embedded','menu_url_https_required','Whether\x20the\x20menu\x20is\x20visible','fact','hasOwnProperty','data','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','includes','type','392tEWRlu','Created\x20menu\x20','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create-response-validation','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','menu_url_credentials_forbidden','appCode','boolean','parent','\x27\x5c\x27\x27','menu_open_mode_invalid','Run\x20','URL','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','toLowerCase','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Would\x20create\x20external\x20website\x20link\x20menu\x20','recovered','object','51MqgGZX','map','url'];a113_0x5af3=function(){return _0x3c0855;};return a113_0x5af3();}import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a113_0x373abf(0xe8),'new-window':a113_0x373abf(0x11a)};export function validateExternalMenuUrl(_0x419e55){const _0xdc4dc9=a113_0x373abf,_0x427df1=_0x419e55[_0xdc4dc9(0x115)]();let _0xdc69a7;try{_0xdc69a7=new URL(_0x427df1);}catch{throw menuError('menu_url_invalid',_0xdc4dc9(0x127),_0xdc4dc9(0x12c));}if(_0xdc69a7['protocol']!==_0xdc4dc9(0x117))throw menuError(_0xdc4dc9(0x139),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0xdc69a7[_0xdc4dc9(0x103)]||_0xdc69a7['password'])throw menuError(_0xdc4dc9(0x147),_0xdc4dc9(0x150),_0xdc4dc9(0x146));return _0x427df1;}export const menuExternalLinkCreate={'service':'menu','command':a113_0x373abf(0x12d),'description':a113_0x373abf(0x130),'risk':'write','structuredErrors':!![],'flags':[{'name':a113_0x373abf(0x163),'type':a113_0x373abf(0x10b),'required':!![],'description':a113_0x373abf(0xf8)},{'name':a113_0x373abf(0x12e),'type':a113_0x373abf(0x10b),'required':!![],'enum':[a113_0x373abf(0x138),'new-window'],'description':a113_0x373abf(0x129)},{'name':'url','type':'string','required':!![],'description':a113_0x373abf(0x126)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a113_0x373abf(0x131),'type':a113_0x373abf(0x149),'default':!![],'description':a113_0x373abf(0x13a)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26344a){validateAddInput(_0x26344a);},async 'dryRun'(_0x550b55){const _0x16be9c=a113_0x373abf;validateAddInput(_0x550b55);const {plan:_0x484d37}=await buildSafeAddPlan(_0x550b55,!![]),_0x29c892=_0x484d37[_0x16be9c(0x10d)],_0x56cbbc=createBody(_0x29c892);return menuDryRunResult(_0x484d37,{'method':'POST','url':_0x16be9c(0xee),'body':_0x56cbbc,'description':_0x16be9c(0x153)+JSON[_0x16be9c(0x124)](_0x29c892[_0x16be9c(0x163)])+_0x16be9c(0x128)+_0x550b55[_0x16be9c(0x112)](_0x16be9c(0x12e))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x1e21d9){const _0x13b922=a113_0x373abf;validateAddInput(_0x1e21d9);const _0x4a16e5=await buildSafeAddPlan(_0x1e21d9,![]),{plan:_0x4873c8,snapshot:_0x50c8a8}=_0x4a16e5,_0x2027e9=_0x4873c8[_0x13b922(0x10d)],_0x191554=buildMenuLookupCommand(_0x1e21d9[_0x13b922(0x148)]);await recheckAddSnapshot(_0x1e21d9,_0x4873c8);let _0x18d747;try{_0x18d747=await createMenuEntity(_0x1e21d9[_0x13b922(0x148)],_0x1e21d9[_0x13b922(0x105)],createBody(_0x2027e9));}catch(_0x3a63b2){const _0x128892=mapMenuApiError(_0x3a63b2,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x3a63b2)||_0x128892[_0x13b922(0x165)]===_0x13b922(0xf4))throw externalLinkCreateFailure(_0x128892,_0x4873c8,{'stage':_0x13b922(0x123),'failed':{},'verification':{'status':_0x13b922(0x11d),'lookupCommand':_0x191554}});return recoverAfterResponseLoss(_0x1e21d9,_0x4a16e5,_0x191554);}const _0x12d84c=Number(_0x18d747?.['id']),_0x4c8f1a=typeof _0x18d747?.[_0x13b922(0x10e)]==='string'?_0x18d747['path']:'';if(!Number['isSafeInteger'](_0x12d84c)||_0x12d84c<=0x0||!_0x4c8f1a['trim']()){const _0x1b019f=menuError(_0x13b922(0x16e),_0x13b922(0x11b),'Run\x20'+_0x191554+_0x13b922(0x137));throw externalLinkCreateFailure(_0x1b019f,_0x4873c8,{'stage':_0x13b922(0x144),'succeeded':Number[_0x13b922(0x15b)](_0x12d84c)&&_0x12d84c>0x0?[{'id':_0x12d84c,'created':!![]}]:[],'failed':{'createdId':Number['isSafeInteger'](_0x12d84c)?_0x12d84c:null,'generatedPathConfirmed':Boolean(_0x4c8f1a['trim']())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0x13b922(0x15b)](_0x12d84c)&&_0x12d84c>0x0?{..._0x2027e9,'id':_0x12d84c,'path':_0x4c8f1a}:_0x2027e9,'verification':{'status':_0x13b922(0x11d),'lookupCommand':_0x191554,...Number[_0x13b922(0x15b)](_0x12d84c)&&_0x12d84c>0x0?{'targetId':_0x12d84c}:{}}});}const _0x142c62=await readAndVerifyCreatedMenu({'appCode':_0x1e21d9[_0x13b922(0x148)],'cookie':_0x1e21d9['cookie'],'plan':_0x4873c8,'afterPlan':_0x2027e9,'createdId':_0x12d84c,'expectedPath':_0x4c8f1a,'lookupCommand':_0x191554,'recovered':![]});return creationSuccess(_0x4873c8,_0x142c62[_0x13b922(0x135)],_0x142c62[_0x13b922(0x13b)],![]);}};function validateAddInput(_0x136853){const _0x52f591=a113_0x373abf;if(!_0x136853['str']('label')[_0x52f591(0x115)]())throw CliErrors[_0x52f591(0x16d)](_0x52f591(0x163));resolveExternalMenuType(_0x136853),validateExternalMenuUrl(_0x136853[_0x52f591(0x112)](_0x52f591(0x158))),parseParentId(_0x136853,_0x52f591(0x10a)),validateSort(_0x136853);}function resolveExternalMenuType(_0x5b4f91){const _0x320ec3=a113_0x373abf,_0x3b304e=_0x5b4f91[_0x320ec3(0x112)](_0x320ec3(0x12e))[_0x320ec3(0x115)]();if(!_0x3b304e)throw CliErrors[_0x320ec3(0x16d)](_0x320ec3(0x12e));const _0x1f77a8=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x3b304e];if(!_0x1f77a8)throw menuError(_0x320ec3(0x14c),_0x320ec3(0x11f),_0x320ec3(0xf0));return _0x1f77a8;}async function buildAddPlan(_0x1bb592,_0xe4d360){const _0x44b2ff=a113_0x373abf,_0x529b7a=await fetchMutationSnapshot(_0x1bb592,_0x44b2ff(0xeb)),_0x7aed16=parseParentId(_0x1bb592,'parent-id')??null;if(_0x7aed16!=null)requireFolder(_0x529b7a,_0x7aed16);const _0x290986=validateSort(_0x1bb592),_0x4d7047=_0x290986??nextSiblingSort(_0x529b7a,_0x7aed16,_0x44b2ff(0x16a)),_0x333f21=_0x1bb592['str'](_0x44b2ff(0x163))[_0x44b2ff(0x115)](),_0x57e029=resolveExternalMenuType(_0x1bb592),_0x58b6ff=validateExternalMenuUrl(_0x1bb592['str']('url')),_0x592b1e=Object[_0x44b2ff(0xf3)][_0x44b2ff(0x13c)]['call'](_0x1bb592[_0x44b2ff(0xfc)],_0x44b2ff(0x131))?_0x1bb592[_0x44b2ff(0xec)](_0x44b2ff(0x131)):!![],_0x448d03={'id':null,'parentId':_0x7aed16,'label':_0x333f21,'path':'<platform-generated>','url':_0x58b6ff,'type':_0x57e029,'visible':_0x592b1e,'sort':_0x4d7047},_0x47f129=buildMenuLookupCommand(_0x1bb592['appCode']),_0x27740a=mutationResult({'operation':_0x44b2ff(0xe7),'selector':{'parentId':_0x7aed16,'type':_0x57e029,'label':_0x333f21,'url':_0x58b6ff},'before':null,'after':_0x448d03,'dryRun':_0xe4d360,'backend':[{'method':_0x44b2ff(0x160),'path':_0x44b2ff(0xee)}],'plannedActions':[{'stage':_0x44b2ff(0x161),'method':_0x44b2ff(0x160),'path':_0x44b2ff(0xee),'body':createBody(_0x448d03)}],'snapshotHash':_0x529b7a[_0x44b2ff(0xf2)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x47f129}});return{'plan':_0x27740a,'snapshot':_0x529b7a};}async function buildSafeAddPlan(_0x1aaefe,_0x781416){try{return await buildAddPlan(_0x1aaefe,_0x781416);}catch(_0x419771){throw safeMenuAddError(_0x419771);}}async function recheckAddSnapshot(_0x10b9b7,_0x747bfc){const _0x45530a=a113_0x373abf;try{await recheckMutationSnapshot(_0x10b9b7,_0x747bfc,_0x45530a(0xeb));}catch(_0x33de9b){const _0x263894=getFailureRecord(_0x33de9b);throw externalLinkCreateFailure(_0x33de9b,_0x747bfc,{'stage':_0x45530a(0x122),'failed':{..._0x263894?.[_0x45530a(0xea)]?{'expectedSnapshotHash':_0x263894[_0x45530a(0xea)]}:{},..._0x263894?.[_0x45530a(0x10f)]?{'currentSnapshotHash':_0x263894[_0x45530a(0x10f)]}:{}}});}}function createBody(_0x4eab29){const _0x368918=a113_0x373abf;return{'parentId':toApiParentId(_0x4eab29[_0x368918(0xed)]),'label':String(_0x4eab29[_0x368918(0x163)]),'type':String(_0x4eab29[_0x368918(0x140)]),'url':String(_0x4eab29[_0x368918(0x158)]),'visible':Boolean(_0x4eab29[_0x368918(0x131)]),'sort':Number(_0x4eab29[_0x368918(0x11e)]),'extend':{}};}function buildMenuLookupCommand(_0x55eae9){const _0x1a5a6a=a113_0x373abf,_0x4a2fcc='\x27'+_0x55eae9[_0x1a5a6a(0x116)](/'/g,_0x1a5a6a(0x14b))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x4a2fcc+_0x1a5a6a(0xff);}async function recoverAfterResponseLoss(_0x53e6ee,_0x231460,_0x99563){const _0x5c22b3=a113_0x373abf,{plan:_0x7fe9db,snapshot:_0x55ec45}=_0x231460,_0xf42bc7=_0x7fe9db[_0x5c22b3(0x10d)];let _0x31a1e5;try{_0x31a1e5=await fetchMenuSnapshot(_0x53e6ee[_0x5c22b3(0x148)],_0x53e6ee[_0x5c22b3(0x105)]);}catch(_0x4f5acb){throw recoveryRequiredFailure(_0x7fe9db,_0x99563,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x42ffda=_0x31a1e5['menus'][_0x5c22b3(0x12a)](_0x4b71f5=>_0x4b71f5['parentId']===_0xf42bc7[_0x5c22b3(0xed)]&&_0x4b71f5['type']===_0xf42bc7['type']&&_0x4b71f5[_0x5c22b3(0x163)]===_0xf42bc7[_0x5c22b3(0x163)]&&_0x4b71f5[_0x5c22b3(0x158)]===_0xf42bc7[_0x5c22b3(0x158)]),_0x11f182=_0x42ffda[_0x5c22b3(0x12a)](_0x2189a3=>!_0x55ec45[_0x5c22b3(0x162)][_0x5c22b3(0x111)](_0x2189a3['id'])),_0x20804d=_0x42ffda['filter'](_0x5a1377=>_0x55ec45[_0x5c22b3(0x162)]['has'](_0x5a1377['id']));if(_0x42ffda['length']!==0x1||_0x11f182[_0x5c22b3(0x167)]!==0x1)throw recoveryRequiredFailure(_0x7fe9db,_0x99563,{'matchCount':_0x42ffda[_0x5c22b3(0x167)],'newMatchCount':_0x11f182[_0x5c22b3(0x167)],'preexistingMatchCount':_0x20804d[_0x5c22b3(0x167)]});const _0x48eded=_0x11f182[0x0];try{verifyCreatedFact(_0x48eded,_0x48eded['id'],_0xf42bc7,null);}catch(_0x3a64c7){const _0x403181=_0x3a64c7 instanceof Error&&'code'in _0x3a64c7?_0x3a64c7:menuError(_0x5c22b3(0x121),'Recovered\x20menu\x20'+_0x48eded['id']+_0x5c22b3(0x170),_0x5c22b3(0x14d)+_0x99563+_0x5c22b3(0xf6));throw externalLinkCreateFailure(_0x403181,_0x7fe9db,{'stage':_0x5c22b3(0x104),'succeeded':[{'id':_0x48eded['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x48eded['id'],'finalFactsConfirmed':![]},'after':_0x48eded,'warnings':[_0x5c22b3(0xf1)+_0x48eded['id']+_0x5c22b3(0x125)],'verification':{'status':_0x5c22b3(0x11d),'targetId':_0x48eded['id'],'recovered':!![],'lookupCommand':_0x99563}});}return creationSuccess(_0x7fe9db,_0x31a1e5,_0x48eded,!![]);}function recoveryRequiredFailure(_0x8d4b15,_0x4d4f8f,_0x3ec6da){const _0x32f4b2=a113_0x373abf,_0x29bf3b=menuError(_0x32f4b2(0x133),_0x32f4b2(0x114),_0x32f4b2(0x14d)+_0x4d4f8f+_0x32f4b2(0x14f));return externalLinkCreateFailure(_0x29bf3b,_0x8d4b15,{'stage':'create-recovery','failed':_0x3ec6da,'warnings':[_0x32f4b2(0x143)],'verification':{'status':'failed',..._0x3ec6da,'lookupCommand':_0x4d4f8f}});}async function readAndVerifyCreatedMenu(_0x55fc1a){const _0x3eb0aa=a113_0x373abf;let _0x9b925d;try{_0x9b925d=await fetchMenuSnapshot(_0x55fc1a[_0x3eb0aa(0x148)],_0x55fc1a['cookie']);}catch(_0x1ca9c5){const _0x188462=menuError(_0x3eb0aa(0x121),_0x3eb0aa(0xf1)+_0x55fc1a[_0x3eb0aa(0x120)]+_0x3eb0aa(0x11c),'Run\x20'+_0x55fc1a['lookupCommand']+_0x3eb0aa(0x15c));throw externalLinkCreateFailure(_0x188462,_0x55fc1a[_0x3eb0aa(0x118)],{'stage':_0x3eb0aa(0x104),'succeeded':[{'id':_0x55fc1a[_0x3eb0aa(0x120)],'created':!![]}],'failed':{'id':_0x55fc1a['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x55fc1a[_0x3eb0aa(0x12f)],'id':_0x55fc1a[_0x3eb0aa(0x120)],'path':_0x55fc1a[_0x3eb0aa(0x16c)]},'warnings':[_0x3eb0aa(0xf1)+_0x55fc1a[_0x3eb0aa(0x120)]+_0x3eb0aa(0x13e)],'verification':{'status':_0x3eb0aa(0x11d),'targetId':_0x55fc1a[_0x3eb0aa(0x120)],'lookupCommand':_0x55fc1a[_0x3eb0aa(0x110)]}});}const _0xb06fd0=_0x9b925d[_0x3eb0aa(0x162)][_0x3eb0aa(0x102)](_0x55fc1a[_0x3eb0aa(0x120)]);try{if(!_0xb06fd0)throw menuError(_0x3eb0aa(0x121),'Created\x20menu\x20'+_0x55fc1a['createdId']+_0x3eb0aa(0x132),'Run\x20'+_0x55fc1a[_0x3eb0aa(0x110)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xb06fd0,_0x55fc1a['createdId'],_0x55fc1a['afterPlan'],_0x55fc1a[_0x3eb0aa(0x16c)]);}catch(_0x3d69ad){const _0x503f73=_0x3d69ad instanceof Error&&_0x3eb0aa(0x165)in _0x3d69ad?_0x3d69ad:menuError(_0x3eb0aa(0x121),'Created\x20menu\x20'+_0x55fc1a['createdId']+'\x20failed\x20final\x20verification.',_0x3eb0aa(0x14d)+_0x55fc1a['lookupCommand']+_0x3eb0aa(0x15c));throw externalLinkCreateFailure(_0x503f73,_0x55fc1a[_0x3eb0aa(0x118)],{'stage':'verification','succeeded':[{'id':_0x55fc1a[_0x3eb0aa(0x120)],'created':!![]}],'failed':{'id':_0x55fc1a['createdId'],'finalFactsConfirmed':![]},'after':_0xb06fd0??{..._0x55fc1a[_0x3eb0aa(0x12f)],'id':_0x55fc1a[_0x3eb0aa(0x120)],'path':_0x55fc1a[_0x3eb0aa(0x16c)]},'warnings':['Menu\x20'+_0x55fc1a['createdId']+_0x3eb0aa(0x101)],'verification':{'status':_0x3eb0aa(0x11d),'targetId':_0x55fc1a[_0x3eb0aa(0x120)],'recovered':_0x55fc1a[_0x3eb0aa(0x154)],'lookupCommand':_0x55fc1a[_0x3eb0aa(0x110)]}});}return{'snapshot':_0x9b925d,'fact':_0xb06fd0};}function verifyCreatedFact(_0x510a7d,_0x2bfcf,_0x4a110e,_0x295753){const _0x740194=a113_0x373abf;if(!Number[_0x740194(0x15b)](_0x510a7d['id'])||_0x510a7d['id']<=0x0||_0x510a7d['id']!==_0x2bfcf)throw menuError(_0x740194(0x121),_0x740194(0x152),_0x740194(0x108));const _0x120b02=[[_0x740194(0x14a),_0x510a7d[_0x740194(0xed)],_0x4a110e[_0x740194(0xed)]],[_0x740194(0x140),_0x510a7d['type'],_0x4a110e[_0x740194(0x140)]],[_0x740194(0x163),_0x510a7d[_0x740194(0x163)],_0x4a110e[_0x740194(0x163)]],[_0x740194(0x14e),_0x510a7d[_0x740194(0x158)],_0x4a110e[_0x740194(0x158)]],[_0x740194(0xe6),_0x510a7d[_0x740194(0x131)],_0x4a110e[_0x740194(0x131)]],[_0x740194(0x11e),_0x510a7d['sort'],_0x4a110e[_0x740194(0x11e)]]];for(const [_0x30a9bf,_0x40bdb7,_0x5040cb]of _0x120b02){if(_0x40bdb7!==_0x5040cb)throw menuError(_0x740194(0x121),_0x740194(0x142)+_0x510a7d['id']+_0x740194(0x100)+_0x30a9bf+'.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}if(!_0x510a7d[_0x740194(0x10e)][_0x740194(0x115)]()||_0x295753!==null&&_0x510a7d['path']!==_0x295753)throw menuError(_0x740194(0x121),_0x740194(0x142)+_0x510a7d['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x740194(0x15d));}function creationSuccess(_0x15bd58,_0x5522c2,_0x283138,_0x27df9f){const _0x2b5809=a113_0x373abf,_0x12a3cb=mutationResult({..._0x15bd58,'after':_0x283138,'dryRun':![],'succeeded':[{'id':_0x283138['id'],'created':!![],'recovered':_0x27df9f}],'verification':{'checkedBy':_0x2b5809(0x166),'snapshotHash':_0x5522c2[_0x2b5809(0xf2)],'targetId':_0x283138['id'],'recovered':_0x27df9f,'path':_0x283138[_0x2b5809(0x10e)]}});return{'ok':!![],'message':_0x27df9f?'Recovered\x20created\x20external\x20menu\x20'+_0x283138['id']+'\x20after\x20response\x20loss.':'Created\x20external\x20menu\x20'+_0x283138['id']+'.','data':{..._0x12a3cb,'recovered':_0x27df9f}};}function externalLinkCreateFailure(_0xd1ae64,_0x24d5c1,_0x31f1bc){const _0x474db3=a113_0x373abf;return menuFailure(safeMenuAddError(_0xd1ae64),redactFailurePlan(_0x24d5c1),{..._0x31f1bc,'succeeded':_0x31f1bc[_0x474db3(0x15a)]?.[_0x474db3(0x157)](redactFailureRecord),'failed':_0x31f1bc[_0x474db3(0x11d)]?redactFailureRecord(_0x31f1bc[_0x474db3(0x11d)]):undefined,'verification':_0x31f1bc['verification']?redactFailureRecord(_0x31f1bc[_0x474db3(0x104)]):undefined,'after':_0x31f1bc[_0x474db3(0x10d)]===undefined?undefined:redactFailureValue(_0x31f1bc[_0x474db3(0x10d)])});}function redactFailurePlan(_0x19c74f){const _0x1a31aa=a113_0x373abf;return{..._0x19c74f,'selector':redactFailureRecord(_0x19c74f[_0x1a31aa(0x159)]),'before':redactFailureValue(_0x19c74f['before']),'after':redactFailureValue(_0x19c74f[_0x1a31aa(0x10d)]),'plannedActions':_0x19c74f[_0x1a31aa(0x15e)]?.[_0x1a31aa(0x157)](_0x199b9f=>({..._0x199b9f,'body':redactFailureRecord(_0x199b9f[_0x1a31aa(0x107)])})),'succeeded':_0x19c74f['succeeded'][_0x1a31aa(0x157)](redactFailureRecord),'failed':_0x19c74f['failed'][_0x1a31aa(0x157)](redactFailureRecord),'verification':_0x19c74f[_0x1a31aa(0x104)]?redactFailureRecord(_0x19c74f[_0x1a31aa(0x104)]):undefined};}function redactFailureRecord(_0x63c076){return redactFailureValue(_0x63c076);}function redactFailureValue(_0x483849,_0x3ecfb8=''){const _0x42afde=a113_0x373abf,_0x505fa3=_0x3ecfb8[_0x42afde(0x151)]()[_0x42afde(0x116)](/[^a-z0-9]/g,'');if(['cause',_0x42afde(0xef),_0x42afde(0x113),_0x42afde(0x16f)][_0x42afde(0x13f)](_0x505fa3))return _0x42afde(0xf9);if(Array[_0x42afde(0x136)](_0x483849))return _0x483849[_0x42afde(0x157)](_0x45cfef=>redactFailureValue(_0x45cfef));if(_0x483849&&typeof _0x483849===_0x42afde(0x155))return Object['fromEntries'](Object[_0x42afde(0x109)](_0x483849)[_0x42afde(0x157)](([_0x78f744,_0x298036])=>[_0x78f744,redactFailureValue(_0x298036,_0x78f744)]));return _0x483849;}function safeMenuAddError(_0x388d65){const _0x23ca12=a113_0x373abf,_0x23eb24=_0x388d65 instanceof CliError?_0x388d65[_0x23ca12(0x165)]:_0x23ca12(0x10c);switch(_0x23eb24){case'menu_state_drift':return menuError(_0x23eb24,_0x23ca12(0xfd),_0x23ca12(0x15f));case _0x23ca12(0xf4):return menuError(_0x23eb24,_0x23ca12(0x119),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x23ca12(0x16e):return menuError(_0x23eb24,_0x23ca12(0x145),_0x23ca12(0xf5));case _0x23ca12(0x121):return menuError(_0x23eb24,_0x23ca12(0x164),_0x23ca12(0xf5));case _0x23ca12(0x133):return menuError(_0x23eb24,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x23ca12(0x10c):case _0x23ca12(0x168):case'menu_parent_not_folder':case _0x23ca12(0xe9):case'menu_sort_overflow':return menuError(_0x23eb24,'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x23ca12(0x10c),'External\x20menu\x20creation\x20failed.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x3a5623){const _0x1e7b63=a113_0x373abf;if(!(_0x3a5623 instanceof Error)||!('data'in _0x3a5623))return undefined;const _0x20eabc=_0x3a5623[_0x1e7b63(0x13d)];if(!_0x20eabc||typeof _0x20eabc!==_0x1e7b63(0x155))return undefined;const _0x395ec3=_0x20eabc[_0x1e7b63(0x11d)];if(!Array[_0x1e7b63(0x136)](_0x395ec3)||!_0x395ec3[0x0]||typeof _0x395ec3[0x0]!==_0x1e7b63(0x155))return undefined;return _0x395ec3[0x0];}
|
|
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 +1 @@
|
|
|
1
|
-
const a114_0x59c925=a114_0x54a1;(function(_0x4f66fe,_0x575556){const _0x324064=a114_0x54a1,_0x3b9078=_0x4f66fe();while(!![]){try{const _0x3b3607=parseInt(_0x324064(0x1e0))/0x1*(parseInt(_0x324064(0x1bb))/0x2)+parseInt(_0x324064(0x1c0))/0x3+parseInt(_0x324064(0x1d6))/0x4*(-parseInt(_0x324064(0x1ce))/0x5)+-parseInt(_0x324064(0x1b7))/0x6+-parseInt(_0x324064(0x1e3))/0x7*(parseInt(_0x324064(0x1c7))/0x8)+-parseInt(_0x324064(0x1f2))/0x9+-parseInt(_0x324064(0x1c4))/0xa*(-parseInt(_0x324064(0x1b4))/0xb);if(_0x3b3607===_0x575556)break;else _0x3b9078['push'](_0x3b9078['shift']());}catch(_0x20956a){_0x3b9078['push'](_0x3b9078['shift']());}}}(a114_0x2039,0x34cc3));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a114_0x59c925(0x1f8)}];function a114_0x2039(){const _0x56cf7b=['External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20parent\x20changed:\x20expected\x20','/smartapi/menu/update','menu','rabetbase\x20menu\x20list\x20--appcode\x20','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','cookie','menu\x20list','Response\x20was\x20lost\x20and\x20menu\x20','menu_external_link_type_required','\x20changed\x20during\x20the\x20URL-only\x20update.','plan','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','11LqmrPn','\x20--format\x20compress','code','2343960YoguMl','\x20has\x20','\x20could\x20not\x20be\x20verified\x20safely','parentId','194018LoBPew','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','failed','expect-parent-id','\x27\x5c\x27\x27','1103499OwpZNJ','replace','readbackFailed','menu_state_drift','8615530mNiusN','New\x20external\x20HTTPS\x20URL','\x20already\x20matches\x20the\x20requested\x20URL.','6968cQhezX','body','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','url','expect-url','childrenCount','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','5595HJEYbS','update-external-link-url','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','link','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','appCode','type','update-recovery','1420MnjIoy','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','update\x20external\x20menu\x20URL','verification','unknown','verify\x20external\x20menu\x20URL\x20update','write','\x22,\x20not\x20iframe\x20or\x20link.','hash','requestedUrlObserved','1zBVtiX','string','update','2268zPCpCM','Menu\x20','trim','sort','snapshot','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','Updated\x20external\x20URL\x20for\x20menu\x20','after','visible','label','menu_external_link_not_leaf','\x20direct\x20child\x20menu(s).','\x20is\x20type\x20\x22','str','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','360243JLxSbg','flagMissing','external-link-update','path'];a114_0x2039=function(){return _0x56cf7b;};return a114_0x2039();}export const menuExternalLinkUpdate={'service':a114_0x59c925(0x1f9),'command':a114_0x59c925(0x1f4),'description':a114_0x59c925(0x1d0),'risk':a114_0x59c925(0x1dc),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a114_0x59c925(0x1ca),'type':a114_0x59c925(0x1e1),'required':!![],'description':a114_0x59c925(0x1c5)},{'name':a114_0x59c925(0x1cb),'type':'string','required':!![],'description':a114_0x59c925(0x1d7)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xe8144){validateInput(_0xe8144);},async 'dryRun'(_0x2769a3){const _0x51be30=a114_0x59c925;validateInput(_0x2769a3);const _0x58a247=await buildPlan(_0x2769a3,!![]);return menuDryRunResult(_0x58a247[_0x51be30(0x1b1)],{'method':'POST','url':_0x51be30(0x1f8),'body':_0x58a247['body'],'description':_0x51be30(0x1e8)+_0x58a247[_0x51be30(0x1c8)]['id']+'.'});},async 'execute'(_0x30520c){const _0x4874bc=a114_0x59c925;validateInput(_0x30520c);const _0xb36e76=await buildPlan(_0x30520c,![]),{plan:_0x43acb0,body:_0x216f7e,before:_0x286318,noChanges:_0x475d5a}=_0xb36e76,_0xdcf0a8=_0x216f7e['id'];if(_0x475d5a)return updateSuccess(_0x43acb0,_0xb36e76[_0x4874bc(0x1e7)],_0x286318,!![],![]);await recheckMutationSnapshot(_0x30520c,_0x43acb0,_0x4874bc(0x1d8),_0xdcf0a8);try{await updateMenuEntity(_0x30520c['appCode'],_0x30520c[_0x4874bc(0x1fd)],{'id':_0x216f7e['id'],'url':_0x216f7e[_0x4874bc(0x1ca)]});}catch(_0x798910){const _0x1e6e84=mapMenuApiError(_0x798910,_0x4874bc(0x1d8),_0xdcf0a8);if(isMenuResponseLoss(_0x798910)&&_0x1e6e84[_0x4874bc(0x1b6)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x30520c,_0xb36e76);throw menuFailure(_0x1e6e84,_0x43acb0,{'stage':_0x4874bc(0x1e2),'failed':{'id':_0xdcf0a8},'warnings':[_0x4874bc(0x1fb)],'verification':{'status':_0x4874bc(0x1bd),'targetId':_0xdcf0a8,'lookupCommand':buildLookupCommand(_0x30520c[_0x4874bc(0x1d3)])}});}let _0x49d045,_0x5f037f;try{_0x49d045=await fetchMenuSnapshot(_0x30520c[_0x4874bc(0x1d3)],_0x30520c['cookie']),_0x5f037f=requireMenu(_0x49d045,_0xdcf0a8),verifyUpdatedFact(_0x286318,_0x5f037f,_0x216f7e[_0x4874bc(0x1ca)]);}catch(_0x51169f){const _0x30f890=describeMenuErrorCause(_0x51169f,_0x4874bc(0x1db),_0xdcf0a8),_0x3547ca=asVerificationError(_0x51169f,'Update\x20request\x20for\x20menu\x20'+_0xdcf0a8+_0x4874bc(0x1b3));throw menuFailure(_0x3547ca,_0x43acb0,{'stage':_0x4874bc(0x1d9),'succeeded':[{'id':_0xdcf0a8,'updateRequested':!![]}],'failed':{'id':_0xdcf0a8,'requestedStateConfirmed':![],..._0x30f890},'warnings':[_0x4874bc(0x1bc)],'verification':{'status':_0x4874bc(0x1bd),'targetId':_0xdcf0a8,'lookupCommand':buildLookupCommand(_0x30520c[_0x4874bc(0x1d3)])}});}return updateSuccess(_0x43acb0,_0x49d045,_0x5f037f,![],![]);}};function a114_0x54a1(_0x37fcdd,_0x312086){_0x37fcdd=_0x37fcdd-0x1ad;const _0x203989=a114_0x2039();let _0x54a14e=_0x203989[_0x37fcdd];return _0x54a14e;}function validateInput(_0x5feb0e){const _0xfe214f=a114_0x59c925;validateExactId(_0x5feb0e),requiredUrl(_0x5feb0e,'url'),requiredExpectedUrl(_0x5feb0e),parseParentId(_0x5feb0e,_0xfe214f(0x1be),{'required':!![]});}function requiredUrl(_0xb1586b,_0x5cc7b6){const _0x5c502c=a114_0x59c925;if(!hasFlag(_0xb1586b,_0x5cc7b6)||!_0xb1586b[_0x5c502c(0x1f0)](_0x5cc7b6)[_0x5c502c(0x1e5)]())throw CliErrors[_0x5c502c(0x1f3)](_0x5cc7b6);return validateExternalMenuUrl(_0xb1586b[_0x5c502c(0x1f0)](_0x5cc7b6));}function requiredExpectedUrl(_0x540f12){const _0x200492=a114_0x59c925;if(!hasFlag(_0x540f12,_0x200492(0x1cb))||!_0x540f12[_0x200492(0x1f0)]('expect-url')[_0x200492(0x1e5)]())throw CliErrors[_0x200492(0x1f3)](_0x200492(0x1cb));return _0x540f12[_0x200492(0x1f0)]('expect-url')[_0x200492(0x1e5)]();}async function buildPlan(_0x26f722,_0x3bf6d0){const _0x222186=a114_0x59c925,_0x29e6d5=validateExactId(_0x26f722),_0x24d2f5=requiredUrl(_0x26f722,_0x222186(0x1ca)),_0x31d6c9=requiredExpectedUrl(_0x26f722),_0x1fc681=parseParentId(_0x26f722,_0x222186(0x1be),{'required':!![]}),_0x42f76e=await fetchMutationSnapshot(_0x26f722,_0x222186(0x1d8),_0x29e6d5),_0x5a1549=requireMenu(_0x42f76e,_0x29e6d5);assertExternalLinkLeaf(_0x5a1549);if(_0x5a1549['parentId']!==_0x1fc681)throw menuError(_0x222186(0x1c3),'Menu\x20'+_0x29e6d5+_0x222186(0x1f7)+formatParent(_0x1fc681)+',\x20current\x20'+formatParent(_0x5a1549['parentId'])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x537a9b=_0x5a1549[_0x222186(0x1ca)]===_0x24d2f5;if(!_0x537a9b&&_0x5a1549[_0x222186(0x1ca)]!==_0x31d6c9)throw menuError('menu_state_drift',_0x222186(0x1e4)+_0x29e6d5+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x4fd7e2={'id':_0x29e6d5,'appCode':_0x26f722[_0x222186(0x1d3)],'url':_0x24d2f5},_0x2e049c={..._0x5a1549,'url':_0x24d2f5};return{'body':_0x4fd7e2,'before':_0x5a1549,'noChanges':_0x537a9b,'snapshot':_0x42f76e,'plan':mutationResult({'operation':_0x222186(0x1f4),'selector':{'id':_0x29e6d5},'before':_0x5a1549,'after':_0x2e049c,'dryRun':_0x3bf6d0,'backend':[...BACKEND],'plannedActions':_0x537a9b?[]:[{'stage':_0x222186(0x1cf),'method':'POST','path':_0x222186(0x1f8),'body':_0x4fd7e2}],'snapshotHash':_0x42f76e[_0x222186(0x1de)],'warnings':_0x537a9b?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x5a4ca7){const _0x330e13=a114_0x59c925;if(_0x5a4ca7[_0x330e13(0x1d4)]!=='iframe'&&_0x5a4ca7['type']!==_0x330e13(0x1d1))throw menuError(_0x330e13(0x1af),_0x330e13(0x1e4)+_0x5a4ca7['id']+_0x330e13(0x1ef)+(_0x5a4ca7[_0x330e13(0x1d4)]||_0x330e13(0x1da))+_0x330e13(0x1dd),_0x330e13(0x1b2));if(_0x5a4ca7[_0x330e13(0x1cc)]!==0x0)throw menuError(_0x330e13(0x1ed),_0x330e13(0x1e4)+_0x5a4ca7['id']+_0x330e13(0x1b8)+_0x5a4ca7[_0x330e13(0x1cc)]+_0x330e13(0x1ee),_0x330e13(0x1f6));if(!_0x5a4ca7['path'][_0x330e13(0x1e5)]())throw menuError('menu_external_link_path_missing','Menu\x20'+_0x5a4ca7['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x330e13(0x1f1));}function verifyUpdatedFact(_0x508ca4,_0x378633,_0x315836){const _0x1d50c6=a114_0x59c925;assertExternalLinkLeaf(_0x378633);const _0x2a8031=[['id',_0x378633['id'],_0x508ca4['id']],[_0x1d50c6(0x1ec),_0x378633[_0x1d50c6(0x1ec)],_0x508ca4['label']],[_0x1d50c6(0x1d4),_0x378633[_0x1d50c6(0x1d4)],_0x508ca4['type']],[_0x1d50c6(0x1f5),_0x378633['path'],_0x508ca4[_0x1d50c6(0x1f5)]],[_0x1d50c6(0x1ba),_0x378633[_0x1d50c6(0x1ba)],_0x508ca4['parentId']],['sort',_0x378633[_0x1d50c6(0x1e6)],_0x508ca4[_0x1d50c6(0x1e6)]],[_0x1d50c6(0x1eb),_0x378633['visible'],_0x508ca4[_0x1d50c6(0x1eb)]]];for(const [_0x56f131,_0xed60f5,_0x7fa8cb]of _0x2a8031){assertVerified(_0xed60f5===_0x7fa8cb,'Menu\x20'+_0x508ca4['id']+'\x20'+_0x56f131+_0x1d50c6(0x1b0));}assertVerified(_0x378633[_0x1d50c6(0x1ca)]===_0x315836,_0x1d50c6(0x1e4)+_0x508ca4['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x47017b,_0x373325,_0x15f27b,_0x4c3a47,_0x9873f6){const _0x1d9803=a114_0x59c925,_0x31f2d0=_0x15f27b['id'],_0x418fe7=mutationResult({..._0x47017b,'after':_0x15f27b,'dryRun':![],'succeeded':[{'id':_0x31f2d0,'updated':!_0x4c3a47,'skipped':_0x4c3a47,'recovered':_0x9873f6}],'verification':{'checkedBy':_0x1d9803(0x1ad),'snapshotHash':_0x373325[_0x1d9803(0x1de)],'targetId':_0x31f2d0,'matchesRequestedState':!![],'recovered':_0x9873f6}});return{'ok':!![],'message':_0x9873f6?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x31f2d0+'.':_0x4c3a47?'Menu\x20'+_0x31f2d0+_0x1d9803(0x1c6):_0x1d9803(0x1e9)+_0x31f2d0+'.','data':{..._0x418fe7,'recovered':_0x9873f6}};}async function recoverAfterResponseLoss(_0x6389b3,_0x5e5f98){const _0x11133d=a114_0x59c925,{plan:_0x2c3f7a,before:_0x1338d0,body:_0x492cf6}=_0x5e5f98;let _0x340f16;try{_0x340f16=await fetchMenuSnapshot(_0x6389b3['appCode'],_0x6389b3['cookie']);}catch{throw recoveryRequired(_0x2c3f7a,_0x6389b3[_0x11133d(0x1d3)],{'id':_0x492cf6['id'],'readbackFailed':!![]});}const _0x10ea0e=_0x340f16['byId']['get'](_0x492cf6['id']);if(!_0x10ea0e||_0x10ea0e[_0x11133d(0x1ca)]!==_0x492cf6['url'])throw recoveryRequired(_0x2c3f7a,_0x6389b3['appCode'],{'id':_0x492cf6['id'],'requestedUrlObserved':![],'after':_0x10ea0e??null});try{verifyUpdatedFact(_0x1338d0,_0x10ea0e,_0x492cf6[_0x11133d(0x1ca)]);}catch(_0x30f545){const _0x29812f=asVerificationError(_0x30f545,_0x11133d(0x1ae)+_0x492cf6['id']+_0x11133d(0x1b9));throw menuFailure(_0x29812f,_0x2c3f7a,{'stage':_0x11133d(0x1d5),'succeeded':[{'id':_0x492cf6['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x492cf6['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x10ea0e,'warnings':[_0x11133d(0x1d2)],'verification':{'status':_0x11133d(0x1bd),'targetId':_0x492cf6['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x6389b3[_0x11133d(0x1d3)])}});}return updateSuccess(_0x2c3f7a,_0x340f16,_0x10ea0e,![],!![]);}function recoveryRequired(_0x50c7b0,_0x149451,_0x33222f){const _0xcde5c7=a114_0x59c925,_0x482be2=menuError('menu_update_recovery_required',_0xcde5c7(0x1cd),'Run\x20'+buildLookupCommand(_0x149451)+_0xcde5c7(0x1fc));return menuFailure(_0x482be2,_0x50c7b0,{'stage':_0xcde5c7(0x1d5),'failed':{'id':_0x33222f['id'],..._0x33222f[_0xcde5c7(0x1df)]===undefined?{}:{'requestedUrlObserved':_0x33222f[_0xcde5c7(0x1df)]},..._0x33222f['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x33222f[_0xcde5c7(0x1ea)],'warnings':[_0xcde5c7(0x1c9)],'verification':{'status':_0xcde5c7(0x1bd),'targetId':_0x33222f['id'],..._0x33222f[_0xcde5c7(0x1df)]===undefined?{}:{'requestedUrlObserved':_0x33222f['requestedUrlObserved']},..._0x33222f[_0xcde5c7(0x1c2)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x149451)}});}function buildLookupCommand(_0x524841){const _0x12bb30=a114_0x59c925,_0x1ce081='\x27'+_0x524841[_0x12bb30(0x1c1)](/'/g,_0x12bb30(0x1bf))+'\x27';return _0x12bb30(0x1fa)+_0x1ce081+_0x12bb30(0x1b5);}
|
|
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 +1 @@
|
|
|
1
|
-
const a115_0x41cfdc=a115_0xdc0c;(function(_0x34e95b,_0x434936){const _0x44c7e6=a115_0xdc0c,_0x1d614c=_0x34e95b();while(!![]){try{const _0x66b546=parseInt(_0x44c7e6(0x155))/0x1*(-parseInt(_0x44c7e6(0x14a))/0x2)+parseInt(_0x44c7e6(0x128))/0x3*(-parseInt(_0x44c7e6(0x145))/0x4)+parseInt(_0x44c7e6(0x135))/0x5+-parseInt(_0x44c7e6(0x144))/0x6+parseInt(_0x44c7e6(0x14d))/0x7+-parseInt(_0x44c7e6(0x12c))/0x8+parseInt(_0x44c7e6(0x153))/0x9;if(_0x66b546===_0x434936)break;else _0x1d614c['push'](_0x1d614c['shift']());}catch(_0x5250c7){_0x1d614c['push'](_0x1d614c['shift']());}}}(a115_0x2b13,0xd039b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a115_0x2b13(){const _0x4b38d2=['1047140FWDXWA','Created\x20menu\x20folder\x20','<platform-generated>','menu','verification','isSafeInteger','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','get','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','Folder\x20','trim','\x22\x20with\x20a\x20platform-generated\x20path.','group-create','create-response-validation','appCode','8331348jfcTVG','3908SOUQGP','create\x20folder','menu_create_response_invalid','parent-id','\x20may\x20exist\x20online\x20at\x20path\x20','3361318RLrMUY','folder','resources','7702093EyCYVs','Menu\x20create\x20response\x20for\x20folder\x20','hash','create','visible','pageId','28593936zzZXOQ','Folder\x20label','1qxaFaA','/smartapi/menu/create','write','str','sort','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','path','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','after','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','\x20has\x20unexpected\x20parent\x20','\x20is\x20not\x20visible.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','verify\x20folder\x20creation','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','rabetbase\x20menu\x20list\x20--format\x20json','depth','cookie','parentId','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','create-folder','Created\x20folder\x20','1563uWvOvf','POST','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','menu\x20list','445648quTBbg','\x20has\x20resources.','label','\x20is\x20not\x20type\x20folder.','byId','string','childrenCount','failed','\x20has\x20an\x20unexpected\x20sort.'];a115_0x2b13=function(){return _0x4b38d2;};return a115_0x2b13();}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':a115_0x41cfdc(0x129),'path':'/smartapi/menu/create'}];function a115_0xdc0c(_0x3d567e,_0x577801){_0x3d567e=_0x3d567e-0x128;const _0x2b1362=a115_0x2b13();let _0xdc0c70=_0x2b1362[_0x3d567e];return _0xdc0c70;}export const menuGroupCreate={'service':a115_0x41cfdc(0x138),'command':'group-create','description':a115_0x41cfdc(0x12a),'risk':a115_0x41cfdc(0x157),'structuredErrors':!![],'flags':[{'name':a115_0x41cfdc(0x12e),'type':'string','required':!![],'description':a115_0x41cfdc(0x154)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x51b225){validateCreateInput(_0x51b225);},async 'dryRun'(_0x157b68){const _0x113601=a115_0x41cfdc,_0x24399d=await buildCreatePlan(_0x157b68,!![]),_0x102b5e=_0x24399d[_0x113601(0x15d)];return menuDryRunResult(_0x24399d,{'method':'POST','url':_0x113601(0x156),'body':{'parentId':toApiParentId(_0x102b5e[_0x113601(0x167)]),'label':_0x102b5e[_0x113601(0x12e)],'type':'folder','visible':!![],'sort':_0x102b5e['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x102b5e[_0x113601(0x12e)])+_0x113601(0x140)});},async 'execute'(_0x406caf){const _0x1c433d=a115_0x41cfdc;validateCreateInput(_0x406caf);const _0x15f83d=await buildCreatePlan(_0x406caf,![]),_0x15146d=_0x15f83d['after'];await recheckMutationSnapshot(_0x406caf,_0x15f83d,_0x1c433d(0x146));let _0x41c169;try{_0x41c169=await createMenuEntity(_0x406caf[_0x1c433d(0x143)],_0x406caf[_0x1c433d(0x166)],{'parentId':toApiParentId(_0x15146d['parentId']),'label':String(_0x15146d['label']),'type':_0x1c433d(0x14b),'visible':!![],'sort':Number(_0x15146d[_0x1c433d(0x159)]),'extend':{}});}catch(_0x3abd3a){const _0x1955fe=mapMenuApiError(_0x3abd3a,_0x1c433d(0x146));throw menuFailure(_0x1955fe,_0x15f83d,{'stage':_0x1c433d(0x150),'failed':{}});}const _0x3e2cb5=Number(_0x41c169['id']);if(!Number[_0x1c433d(0x13a)](_0x3e2cb5)||_0x3e2cb5<=0x0){const _0x31d926=menuError(_0x1c433d(0x147),_0x1c433d(0x15e),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.');throw menuFailure(_0x31d926,_0x15f83d,{'stage':_0x1c433d(0x142),'failed':{'createdId':_0x41c169['id']??null},'warnings':[_0x1c433d(0x13d)],'verification':{'status':_0x1c433d(0x133),'lookupCommand':_0x1c433d(0x164)}});}const _0x34b70b=typeof _0x41c169[_0x1c433d(0x15b)]===_0x1c433d(0x131)?_0x41c169[_0x1c433d(0x15b)]:'';if(!_0x34b70b[_0x1c433d(0x13f)]()){const _0x6e089f=menuError('menu_create_response_invalid',_0x1c433d(0x14e)+_0x3e2cb5+_0x1c433d(0x168),'Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x6e089f,_0x15f83d,{'stage':'create-response-validation','succeeded':[{'id':_0x3e2cb5,'created':!![]}],'failed':{'id':_0x3e2cb5,'generatedPathConfirmed':![]},'warnings':[_0x1c433d(0x13e)+_0x3e2cb5+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x15146d,'id':_0x3e2cb5,'path':_0x34b70b},'verification':{'status':'failed','lookupCommand':_0x1c433d(0x164),'targetId':_0x3e2cb5}});}let _0x11fac7;try{_0x11fac7=await fetchMenuSnapshot(_0x406caf['appCode'],_0x406caf[_0x1c433d(0x166)]);}catch(_0x3f9da6){const _0xfc83d6=describeMenuErrorCause(_0x3f9da6,_0x1c433d(0x162),_0x3e2cb5),_0x46c7ec=asVerificationError(_0x3f9da6,'Folder\x20'+_0x3e2cb5+_0x1c433d(0x15a));throw menuFailure(_0x46c7ec,_0x15f83d,{'stage':_0x1c433d(0x139),'succeeded':[{'id':_0x3e2cb5,'created':!![],'path':_0x34b70b}],'failed':{'id':_0x3e2cb5,'finalFactsConfirmed':![],..._0xfc83d6},'warnings':[_0x1c433d(0x13e)+_0x3e2cb5+_0x1c433d(0x149)+JSON['stringify'](_0x34b70b)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x15146d,'id':_0x3e2cb5,'path':_0x34b70b},'verification':{'status':_0x1c433d(0x133),'lookupCommand':_0x1c433d(0x164),'targetId':_0x3e2cb5}});}const _0x3551ee=_0x11fac7[_0x1c433d(0x130)][_0x1c433d(0x13c)](_0x3e2cb5);let _0x4d7bdf;try{assertVerified(Boolean(_0x3551ee),_0x1c433d(0x16a)+_0x3e2cb5+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x4d7bdf=_0x3551ee,assertVerified(_0x4d7bdf['type']===_0x1c433d(0x14b),'Created\x20menu\x20'+_0x3e2cb5+_0x1c433d(0x12f)),assertVerified(_0x4d7bdf[_0x1c433d(0x12e)]===_0x15146d[_0x1c433d(0x12e)],'Created\x20folder\x20'+_0x3e2cb5+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x4d7bdf[_0x1c433d(0x15b)]===_0x34b70b&&Boolean(_0x4d7bdf[_0x1c433d(0x15b)]['trim']()),'Created\x20folder\x20'+_0x3e2cb5+_0x1c433d(0x15c)),assertVerified(_0x4d7bdf[_0x1c433d(0x151)]===!![],_0x1c433d(0x16a)+_0x3e2cb5+_0x1c433d(0x160)),assertVerified(_0x4d7bdf[_0x1c433d(0x14c)]['length']===0x0,_0x1c433d(0x16a)+_0x3e2cb5+_0x1c433d(0x12d)),assertVerified(_0x4d7bdf[_0x1c433d(0x132)]===0x0,_0x1c433d(0x16a)+_0x3e2cb5+'\x20is\x20not\x20empty.'),assertVerified(_0x4d7bdf[_0x1c433d(0x159)]===_0x15146d[_0x1c433d(0x159)],_0x1c433d(0x16a)+_0x3e2cb5+_0x1c433d(0x134)),assertVerified(_0x4d7bdf[_0x1c433d(0x167)]===_0x15146d[_0x1c433d(0x167)],_0x1c433d(0x16a)+_0x3e2cb5+_0x1c433d(0x15f)+(_0x4d7bdf['parentId']??'root')+'.'),assertVerified(_0x4d7bdf[_0x1c433d(0x152)]==null,_0x1c433d(0x16a)+_0x3e2cb5+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x6b64fd=_0x4d7bdf[_0x1c433d(0x167)]==null?undefined:requireFolder(_0x11fac7,_0x4d7bdf[_0x1c433d(0x167)]);assertVerified(_0x4d7bdf['depth']===(_0x6b64fd?_0x6b64fd[_0x1c433d(0x165)]+0x1:0x0),_0x1c433d(0x16a)+_0x3e2cb5+_0x1c433d(0x13b));}catch(_0x1ce64d){const _0x42bbba=describeMenuErrorCause(_0x1ce64d,_0x1c433d(0x162),_0x3e2cb5),_0x445b81=asVerificationError(_0x1ce64d,_0x1c433d(0x13e)+_0x3e2cb5+_0x1c433d(0x163));throw menuFailure(_0x445b81,_0x15f83d,{'stage':_0x1c433d(0x139),'succeeded':[{'id':_0x3e2cb5,'created':!![],'path':_0x34b70b}],'failed':{'id':_0x3e2cb5,'finalFactsConfirmed':![],..._0x42bbba},'warnings':[_0x1c433d(0x13e)+_0x3e2cb5+_0x1c433d(0x161)],'after':_0x3551ee??{..._0x15146d,'id':_0x3e2cb5,'path':_0x34b70b},'verification':{'status':_0x1c433d(0x133),'lookupCommand':_0x1c433d(0x164),'targetId':_0x3e2cb5}});}const _0x100249=mutationResult({..._0x15f83d,'after':_0x4d7bdf,'dryRun':![],'succeeded':[{'id':_0x3e2cb5,'type':_0x1c433d(0x14b),'path':_0x34b70b}],'verification':{'checkedBy':_0x1c433d(0x12b),'snapshotHash':_0x11fac7[_0x1c433d(0x14f)],'folder':!![],'path':_0x34b70b,'emptyResources':!![]}});return{'ok':!![],'data':_0x100249,'message':_0x1c433d(0x136)+_0x3e2cb5+'.'};}};function validateCreateInput(_0x5e3e7f){const _0x369120=a115_0x41cfdc,_0x2dd31c=_0x5e3e7f['str'](_0x369120(0x12e))[_0x369120(0x13f)]();if(!_0x2dd31c)throw CliErrors['flagMissing'](_0x369120(0x12e));parseParentId(_0x5e3e7f,_0x369120(0x148)),validateSort(_0x5e3e7f);}async function buildCreatePlan(_0x4fc29d,_0x1ab121){const _0x2a445d=a115_0x41cfdc,_0x146eee=await fetchMutationSnapshot(_0x4fc29d,'create\x20folder'),_0x533b76=parseParentId(_0x4fc29d,_0x2a445d(0x148))??null;if(_0x533b76!=null)requireFolder(_0x146eee,_0x533b76);const _0x48028e=validateSort(_0x4fc29d),_0x4bcedc=_0x48028e??nextSiblingSort(_0x146eee,_0x533b76,_0x2a445d(0x14b)),_0x2ac695=_0x4fc29d[_0x2a445d(0x158)](_0x2a445d(0x12e))[_0x2a445d(0x13f)]();return mutationResult({'operation':_0x2a445d(0x141),'selector':{'label':_0x2ac695,'parentId':_0x533b76},'before':null,'after':{'id':null,'parentId':_0x533b76,'label':_0x2ac695,'path':_0x2a445d(0x137),'type':_0x2a445d(0x14b),'visible':!![],'sort':_0x4bcedc,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x1ab121,'backend':[...BACKEND],'plannedActions':[{'stage':_0x2a445d(0x169),'method':_0x2a445d(0x129),'path':_0x2a445d(0x156),'body':{'parentId':toApiParentId(_0x533b76),'label':_0x2ac695,'type':'folder','visible':!![],'sort':_0x4bcedc,'extend':{}}}],'snapshotHash':_0x146eee['hash'],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
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 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a116_0x111219=a116_0x3b07;(function(_0x5974fd,_0x4a1c7c){const _0x2498e2=a116_0x3b07,_0x4690b6=_0x5974fd();while(!![]){try{const _0x4236cb=-parseInt(_0x2498e2(0x19e))/0x1*(parseInt(_0x2498e2(0x190))/0x2)+-parseInt(_0x2498e2(0x1a2))/0x3+parseInt(_0x2498e2(0x189))/0x4+-parseInt(_0x2498e2(0x19d))/0x5+parseInt(_0x2498e2(0x18b))/0x6*(parseInt(_0x2498e2(0x194))/0x7)+parseInt(_0x2498e2(0x186))/0x8+parseInt(_0x2498e2(0x1a5))/0x9*(-parseInt(_0x2498e2(0x193))/0xa);if(_0x4236cb===_0x4a1c7c)break;else _0x4690b6['push'](_0x4690b6['shift']());}catch(_0x16102b){_0x4690b6['push'](_0x4690b6['shift']());}}}(a116_0x295e,0xb52c2));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 a116_0x3b07(_0x5b94a4,_0x971801){_0x5b94a4=_0x5b94a4-0x180;const _0x295ed3=a116_0x295e();let _0x3b071d=_0x295ed3[_0x5b94a4];return _0x3b071d;}function a116_0x295e(){const _0xf81dc4=['string','parent-id','Would\x20update\x20folder\x20','folder','menu\x20list','unknown','str','Update\x20request\x20for\x20folder\x20','trim','hash','validation','\x20sort\x20update\x20did\x20not\x20take\x20effect.','--label\x20cannot\x20be\x20empty.','684632QwYYAj','cookie','New\x20folder\x20label','2354288pLfCmx','type','1728sqjJZT','update\x20folder','The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','\x20label\x20update\x20did\x20not\x20take\x20effect.','verification','89758uljkwa','label','sort','956030zMBPpm','35707hisJdp','/smartapi/menu/update','\x20already\x20matches\x20the\x20requested\x20state.','failed','selector','menu','\x22,\x20not\x20folder.','appCode','parentId','1976330MwpriK','4zXUYSo','group-update','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','Updated\x20folder\x20','2192316vxGrQu','Folder\x20','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','9MDURqZ','write','\x20is\x20type\x20\x22','POST','menu_not_folder'];a116_0x295e=function(){return _0xf81dc4;};return a116_0x295e();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a116_0x111219(0x195)}];export const menuGroupUpdate={'service':a116_0x111219(0x199),'command':'group-update','description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a116_0x111219(0x1a6),'structuredErrors':!![],'rejectedFlags':[{'name':'parent-id','message':a116_0x111219(0x1a0),'hint':'Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.'}],'flags':[MENU_ID_FLAG,{'name':a116_0x111219(0x191),'type':a116_0x111219(0x1aa),'description':a116_0x111219(0x188)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x22eb2c){validateUpdateInput(_0x22eb2c);},async 'dryRun'(_0x4970e9){const _0x25d3c3=a116_0x111219;validateUpdateInput(_0x4970e9);const {plan:_0x90ecb2,patch:_0x1bb33a}=await buildUpdatePlan(_0x4970e9,!![]);return menuDryRunResult(_0x90ecb2,{'method':_0x25d3c3(0x1a8),'url':_0x25d3c3(0x195),'body':_0x1bb33a,'description':_0x25d3c3(0x1ac)+_0x90ecb2[_0x25d3c3(0x198)]['id']+'.'});},async 'execute'(_0x14f1e6){const _0x381da1=a116_0x111219;validateUpdateInput(_0x14f1e6);const {plan:_0x3b4217,patch:_0x2bbc5a,noChanges:_0x2e74a9}=await buildUpdatePlan(_0x14f1e6,![]),_0x3213b2=Number(_0x3b4217[_0x381da1(0x198)]['id']),_0x298254=await recheckMutationSnapshot(_0x14f1e6,_0x3b4217,_0x381da1(0x18c),_0x3213b2);if(!_0x2e74a9)try{await updateMenuEntity(_0x14f1e6[_0x381da1(0x19b)],_0x14f1e6[_0x381da1(0x187)],_0x2bbc5a);}catch(_0x3d3b68){const _0x36906e=mapMenuApiError(_0x3d3b68,'update\x20folder',_0x3213b2);throw menuFailure(_0x36906e,_0x3b4217,{'stage':'update','failed':{'id':_0x3213b2}});}let _0x3f7dc0=_0x298254,_0x23cfee;try{!_0x2e74a9&&(_0x3f7dc0=await fetchMenuSnapshot(_0x14f1e6['appCode'],_0x14f1e6[_0x381da1(0x187)])),_0x23cfee=requireMenu(_0x3f7dc0,_0x3213b2),verifyPatch(_0x23cfee,_0x2bbc5a),_0x23cfee[_0x381da1(0x19c)]!=null&&requireFolder(_0x3f7dc0,_0x23cfee[_0x381da1(0x19c)]);}catch(_0x1be6be){const _0x2fd6f3=describeMenuErrorCause(_0x1be6be,'verify\x20folder\x20update',_0x3213b2),_0x4967b5=asVerificationError(_0x1be6be,_0x381da1(0x180)+_0x3213b2+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4967b5,_0x3b4217,{'stage':_0x381da1(0x18f),'succeeded':[{'id':_0x3213b2,'updateRequested':!_0x2e74a9,'skipped':_0x2e74a9}],'failed':{'id':_0x3213b2,'requestedStateConfirmed':![],..._0x2fd6f3},'warnings':[_0x381da1(0x18d)],'verification':{'status':_0x381da1(0x197),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x3213b2}});}const _0x3e15b6=mutationResult({..._0x3b4217,'after':_0x23cfee,'dryRun':![],'succeeded':[{'id':_0x3213b2,'updated':!_0x2e74a9,'skipped':_0x2e74a9}],'verification':{'checkedBy':_0x381da1(0x1ae),'snapshotHash':_0x3f7dc0[_0x381da1(0x182)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x3e15b6,'message':_0x2e74a9?'Folder\x20'+_0x3213b2+_0x381da1(0x196):_0x381da1(0x1a1)+_0x3213b2+'.'};}};function validateUpdateInput(_0x462bac){const _0x32a164=a116_0x111219;validateExactId(_0x462bac);if(hasFlag(_0x462bac,_0x32a164(0x1ab)))throw CliErrors[_0x32a164(0x183)](_0x32a164(0x1a0),_0x32a164(0x1a4));if(!hasFlag(_0x462bac,_0x32a164(0x191))&&!hasFlag(_0x462bac,_0x32a164(0x192)))throw CliErrors['validation']('At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.');if(hasFlag(_0x462bac,'label')&&!_0x462bac[_0x32a164(0x1b0)]('label')[_0x32a164(0x181)]())throw CliErrors['validation'](_0x32a164(0x185));validateSort(_0x462bac);}async function buildUpdatePlan(_0x4c4da1,_0x2f5111){const _0x36a158=a116_0x111219,_0x54ffd6=validateExactId(_0x4c4da1),_0x49abce=await fetchMutationSnapshot(_0x4c4da1,_0x36a158(0x18c),_0x54ffd6),_0x1d97d1=requireMenu(_0x49abce,_0x54ffd6);if(_0x1d97d1['type']!==_0x36a158(0x1ad))throw menuError(_0x36a158(0x1a9),'Menu\x20'+_0x54ffd6+_0x36a158(0x1a7)+(_0x1d97d1[_0x36a158(0x18a)]||_0x36a158(0x1af))+_0x36a158(0x19a),'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.');assertExpectedState(_0x4c4da1,_0x1d97d1);const _0x47dad1={'id':_0x54ffd6},_0x5f1f9c={..._0x1d97d1};if(hasFlag(_0x4c4da1,_0x36a158(0x191))){const _0x149b45=_0x4c4da1[_0x36a158(0x1b0)](_0x36a158(0x191))[_0x36a158(0x181)]();_0x47dad1[_0x36a158(0x191)]=_0x149b45,_0x5f1f9c[_0x36a158(0x191)]=_0x149b45;}if(hasFlag(_0x4c4da1,_0x36a158(0x192))){const _0x530e1d=validateSort(_0x4c4da1);_0x47dad1[_0x36a158(0x192)]=_0x530e1d,_0x5f1f9c['sort']=_0x530e1d;}const _0x140872=sameRequestedState(_0x1d97d1,_0x5f1f9c),_0x4572d0=_0x140872?['No\x20online\x20fields\x20would\x20change.']:[];return{'patch':_0x47dad1,'noChanges':_0x140872,'plan':mutationResult({'operation':_0x36a158(0x19f),'selector':{'id':_0x54ffd6},'before':_0x1d97d1,'after':_0x5f1f9c,'dryRun':_0x2f5111,'backend':[...BACKEND],'snapshotHash':_0x49abce[_0x36a158(0x182)],'warnings':_0x4572d0})};}function sameRequestedState(_0x57a45f,_0x359076){const _0xe6513d=a116_0x111219;return _0x57a45f['label']===_0x359076['label']&&_0x57a45f[_0xe6513d(0x192)]===_0x359076['sort'];}function verifyPatch(_0x3cc4f5,_0x3825bb){const _0x1e54a3=a116_0x111219;assertVerified(_0x3cc4f5[_0x1e54a3(0x18a)]===_0x1e54a3(0x1ad),'Menu\x20'+_0x3cc4f5['id']+'\x20is\x20no\x20longer\x20type\x20folder.'),_0x3825bb[_0x1e54a3(0x191)]!==undefined&&assertVerified(_0x3cc4f5[_0x1e54a3(0x191)]===_0x3825bb['label'],_0x1e54a3(0x1a3)+_0x3cc4f5['id']+_0x1e54a3(0x18e)),_0x3825bb[_0x1e54a3(0x192)]!==undefined&&assertVerified(_0x3cc4f5[_0x1e54a3(0x192)]===_0x3825bb[_0x1e54a3(0x192)],'Folder\x20'+_0x3cc4f5['id']+_0x1e54a3(0x184));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x283e29,_0x4990a5){const _0x120dde=a117_0x3720,_0x249453=_0x283e29();while(!![]){try{const _0x2604c8=-parseInt(_0x120dde(0xe1))/0x1+parseInt(_0x120dde(0xe2))/0x2*(-parseInt(_0x120dde(0xe0))/0x3)+parseInt(_0x120dde(0xea))/0x4*(parseInt(_0x120dde(0xe7))/0x5)+parseInt(_0x120dde(0xe4))/0x6*(parseInt(_0x120dde(0xe3))/0x7)+-parseInt(_0x120dde(0xdf))/0x8*(parseInt(_0x120dde(0xe8))/0x9)+parseInt(_0x120dde(0xe6))/0xa*(parseInt(_0x120dde(0xe9))/0xb)+parseInt(_0x120dde(0xe5))/0xc;if(_0x2604c8===_0x4990a5)break;else _0x249453['push'](_0x249453['shift']());}catch(_0x3c8aae){_0x249453['push'](_0x249453['shift']());}}}(a117_0x221c,0x3847e));import{menuList}from'../../commands/menu/list.js';function a117_0x3720(_0x4533bd,_0x4103fb){_0x4533bd=_0x4533bd-0xdf;const _0x221cd2=a117_0x221c();let _0x3720d1=_0x221cd2[_0x4533bd];return _0x3720d1;}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';function a117_0x221c(){const _0x1bcd5c=['26248cpYVds','3mlHucu','141268YyastF','296216IMQhzn','689563jRPyVa','6eTWGrQ','1104156XwArgE','879110BiclzT','1745TUQmPO','45xnkRnh','22eNGTaX','1948OukOks'];a117_0x221c=function(){return _0x1bcd5c;};return a117_0x221c();}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 a118_0x2319b8=a118_0x50cb;(function(_0x186e85,_0x31a812){const _0x53cb09=a118_0x50cb,_0x5f1244=_0x186e85();while(!![]){try{const _0x13ec74=parseInt(_0x53cb09(0xd1))/0x1+-parseInt(_0x53cb09(0xd0))/0x2*(-parseInt(_0x53cb09(0xd9))/0x3)+-parseInt(_0x53cb09(0xcd))/0x4*(-parseInt(_0x53cb09(0xd6))/0x5)+-parseInt(_0x53cb09(0xd4))/0x6*(parseInt(_0x53cb09(0xd8))/0x7)+parseInt(_0x53cb09(0xdc))/0x8+-parseInt(_0x53cb09(0xcc))/0x9+parseInt(_0x53cb09(0xd5))/0xa*(-parseInt(_0x53cb09(0xd3))/0xb);if(_0x13ec74===_0x31a812)break;else _0x5f1244['push'](_0x5f1244['shift']());}catch(_0x40bdbb){_0x5f1244['push'](_0x5f1244['shift']());}}}(a118_0x1263,0x7ed50));function a118_0x50cb(_0x48794a,_0x56a4f2){_0x48794a=_0x48794a-0xcb;const _0x1263dc=a118_0x1263();let _0x50cb77=_0x1263dc[_0x48794a];return _0x50cb77;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a118_0x1263(){const _0x747d27=['Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing','2524768xVtHvA','menus','map','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','read','8647326RwTUiA','10428doYcmn','hash','menu','2LfXYoB','682780NGuFAd','cookie','132AGwRON','54kTKtuW','363130onOgEf','1410LvIuJG','verbose','536249uCCfiT','2615961WahdEL','total'];a118_0x1263=function(){return _0x747d27;};return a118_0x1263();}export const menuList={'service':a118_0x2319b8(0xcf),'command':'list','description':a118_0x2319b8(0xdf),'risk':a118_0x2319b8(0xcb),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a118_0x2319b8(0xd7),'type':'boolean','description':a118_0x2319b8(0xdb)}],async 'execute'(_0x14d84c){const _0x1ae12e=a118_0x2319b8,_0x335875=_0x14d84c['bool']('verbose'),_0x16c11a=await fetchMenuSnapshot(_0x14d84c['appCode'],_0x14d84c[_0x1ae12e(0xd2)],{'verbose':_0x335875});return{'ok':!![],'data':{'total':_0x16c11a[_0x1ae12e(0xda)],'snapshotHash':_0x16c11a[_0x1ae12e(0xce)],'menus':_0x16c11a[_0x1ae12e(0xdd)][_0x1ae12e(0xde)](toMenuListItem)},'message':_0x16c11a[_0x1ae12e(0xda)]===0x0?'No\x20menus\x20found.':'Found\x20'+_0x16c11a[_0x1ae12e(0xda)]+'\x20menu(s)'};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a119_0x3b58bf=a119_0x2ffa;function a119_0x28a0(){const _0x266a2c=['\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','1473170ZsCYMr','appCode','write','334172vnEgbW','verification','type','after','POST','364086RXFIIh','move-menu','/smartapi/menu/update','update','sort','\x20parent\x20changed:\x20expected\x20','move','120nxdbMc','Menu\x20','hash','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu','failed','192YbmyKh','7612472EUKzKE','The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','expect-parent-id','2464902xnkgUv','menu_move_source_not_leaf','Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.','verify\x20menu\x20move','5861135USbTWb','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','parentId','Would\x20move\x20menu\x20','parent-id','menu\x20list','20357FgvZOG','11oszsdh','folder','rabetbase\x20menu\x20list\x20--format\x20compress','6eMtEgJ','move\x20menu','The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'];a119_0x28a0=function(){return _0x266a2c;};return a119_0x28a0();}function a119_0x2ffa(_0x6d8be0,_0x56b4b8){_0x6d8be0=_0x6d8be0-0x8b;const _0x28a083=a119_0x28a0();let _0x2ffabe=_0x28a083[_0x6d8be0];return _0x2ffabe;}(function(_0x1c144f,_0x5e3232){const _0x2191a4=a119_0x2ffa,_0x337b5d=_0x1c144f();while(!![]){try{const _0x34b25c=-parseInt(_0x2191a4(0x8e))/0x1*(parseInt(_0x2191a4(0xa5))/0x2)+parseInt(_0x2191a4(0xaf))/0x3+-parseInt(_0x2191a4(0x99))/0x4+-parseInt(_0x2191a4(0xb3))/0x5*(-parseInt(_0x2191a4(0x92))/0x6)+-parseInt(_0x2191a4(0xac))/0x7+parseInt(_0x2191a4(0xab))/0x8*(parseInt(_0x2191a4(0x9e))/0x9)+parseInt(_0x2191a4(0x96))/0xa*(parseInt(_0x2191a4(0x8f))/0xb);if(_0x34b25c===_0x5e3232)break;else _0x337b5d['push'](_0x337b5d['shift']());}catch(_0x2a02bf){_0x337b5d['push'](_0x337b5d['shift']());}}}(a119_0x28a0,0xafaff));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,requireFolder,requireMenu,toApiParentId,validateExactId,validateSort}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';const BACKEND=[{'method':'POST','path':a119_0x3b58bf(0xa0)}];export const menuMove={'service':a119_0x3b58bf(0xa9),'command':'move','description':a119_0x3b58bf(0xb5),'risk':a119_0x3b58bf(0x98),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x522c82){validateMoveInput(_0x522c82);},async 'dryRun'(_0x46b0fe){const _0x2d16bb=a119_0x3b58bf,{plan:_0x152e11,patch:_0x18c5d6}=await buildMovePlan(_0x46b0fe,!![]);return menuDryRunResult(_0x152e11,{'method':_0x2d16bb(0x9d),'url':_0x2d16bb(0xa0),'body':{..._0x18c5d6,'appCode':_0x46b0fe['appCode']},'description':_0x2d16bb(0x8b)+_0x18c5d6['id']+'.'});},async 'execute'(_0x3eb78f){const _0x5f24b4=a119_0x3b58bf;validateMoveInput(_0x3eb78f);const {plan:_0x383502,patch:_0x76f467,noChanges:_0x146e3d,snapshot:_0x286f85}=await buildMovePlan(_0x3eb78f,![]),_0xbffc6a=_0x76f467['id'];if(!_0x146e3d)try{await updateMenuEntity(_0x3eb78f['appCode'],_0x3eb78f['cookie'],_0x76f467);}catch(_0x154d32){const _0x2bc97f=mapMenuApiError(_0x154d32,_0x5f24b4(0xa4),_0xbffc6a);throw menuFailure(_0x2bc97f,_0x383502,{'stage':_0x5f24b4(0xa1),'failed':{'id':_0xbffc6a},'warnings':[_0x5f24b4(0xad)],'verification':{'status':_0x5f24b4(0xaa),'targetId':_0xbffc6a,'lookupCommand':_0x5f24b4(0x91)}});}let _0x288a3,_0x45db76;try{_0x288a3=_0x146e3d?_0x286f85:await fetchMenuSnapshot(_0x3eb78f[_0x5f24b4(0x97)],_0x3eb78f['cookie']),_0x45db76=requireMenu(_0x288a3,_0xbffc6a),verifyMove(_0x45db76,_0x383502[_0x5f24b4(0x9c)]),_0x45db76[_0x5f24b4(0xb6)]!==null&&requireFolder(_0x288a3,_0x45db76[_0x5f24b4(0xb6)]);}catch(_0x2e2cd1){const _0x4fa694=describeMenuErrorCause(_0x2e2cd1,_0x5f24b4(0xb2),_0xbffc6a),_0x43b61e=asVerificationError(_0x2e2cd1,'Move\x20request\x20for\x20menu\x20'+_0xbffc6a+_0x5f24b4(0xb4));throw menuFailure(_0x43b61e,_0x383502,{'stage':_0x5f24b4(0x9a),'succeeded':[{'id':_0xbffc6a,'updateRequested':!_0x146e3d,'skipped':_0x146e3d}],'failed':{'id':_0xbffc6a,'requestedStateConfirmed':![],..._0x4fa694},'warnings':[_0x5f24b4(0x94)],'verification':{'status':_0x5f24b4(0xaa),'targetId':_0xbffc6a,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x36cbc0=mutationResult({..._0x383502,'after':_0x45db76,'dryRun':![],'succeeded':[{'id':_0xbffc6a,'updated':!_0x146e3d,'skipped':_0x146e3d}],'verification':{'checkedBy':_0x5f24b4(0x8d),'snapshotHash':_0x288a3[_0x5f24b4(0xa7)],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x36cbc0,'message':_0x146e3d?_0x5f24b4(0xa6)+_0xbffc6a+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':'Moved\x20menu\x20'+_0xbffc6a+'.'};}};function validateMoveInput(_0x9d76d3){const _0x3f3fa8=a119_0x3b58bf;validateExactId(_0x9d76d3),parseParentId(_0x9d76d3,_0x3f3fa8(0x8c),{'required':!![]}),parseParentId(_0x9d76d3,'expect-parent-id',{'required':!![]}),validateSort(_0x9d76d3);}async function buildMovePlan(_0x3caa07,_0x4e266c){const _0x31739f=a119_0x3b58bf,_0x452b21=validateExactId(_0x3caa07),_0x194834=parseParentId(_0x3caa07,_0x31739f(0x8c),{'required':!![]}),_0x5946be=parseParentId(_0x3caa07,_0x31739f(0xae),{'required':!![]}),_0x8bbdb1=validateSort(_0x3caa07),_0x34ed54=await fetchMutationSnapshot(_0x3caa07,_0x31739f(0x93),_0x452b21),_0x1a45ff=requireMenu(_0x34ed54,_0x452b21);if(_0x1a45ff['type']===_0x31739f(0x90)||_0x1a45ff['childrenCount']!==0x0)throw menuError(_0x31739f(0xb0),'Menu\x20'+_0x452b21+'\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.',_0x31739f(0xa8));if(_0x1a45ff['parentId']!==_0x5946be)throw menuError('menu_state_drift','Menu\x20'+_0x452b21+_0x31739f(0xa3)+formatParent(_0x5946be)+',\x20current\x20'+formatParent(_0x1a45ff[_0x31739f(0xb6)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');_0x194834!==null&&requireFolder(_0x34ed54,_0x194834);const _0x52bbc4=_0x8bbdb1??(_0x1a45ff[_0x31739f(0xb6)]===_0x194834?_0x1a45ff[_0x31739f(0xa2)]??0x0:nextSiblingSort(_0x34ed54,_0x194834,_0x31739f(0xa9))),_0x23ebce={..._0x1a45ff,'parentId':_0x194834,'sort':_0x52bbc4},_0x8ce288={'id':_0x452b21,'parentId':toApiParentId(_0x194834),'sort':_0x52bbc4},_0x24f9a8=_0x1a45ff[_0x31739f(0xb6)]===_0x194834&&_0x1a45ff['sort']===_0x52bbc4;return{'patch':_0x8ce288,'noChanges':_0x24f9a8,'snapshot':_0x34ed54,'plan':mutationResult({'operation':_0x31739f(0xa4),'selector':{'id':_0x452b21,'parentId':_0x194834},'before':_0x1a45ff,'after':_0x23ebce,'dryRun':_0x4e266c,'backend':[...BACKEND],'plannedActions':[{'stage':_0x31739f(0x9f),'method':_0x31739f(0x9d),'path':_0x31739f(0xa0),'body':{..._0x8ce288,'appCode':_0x3caa07['appCode']}}],'snapshotHash':_0x34ed54['hash'],'warnings':_0x24f9a8?[_0x31739f(0xb1)]:[]})};}function verifyMove(_0x234ec0,_0x301d97){const _0x271ef1=a119_0x3b58bf;assertVerified(_0x234ec0[_0x271ef1(0x9b)]!==_0x271ef1(0x90),'Menu\x20'+_0x234ec0['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x234ec0['childrenCount']===0x0,_0x271ef1(0xa6)+_0x234ec0['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x234ec0[_0x271ef1(0xb6)]===_0x301d97['parentId'],_0x271ef1(0xa6)+_0x234ec0['id']+_0x271ef1(0x95)),assertVerified(_0x234ec0[_0x271ef1(0xa2)]===_0x301d97[_0x271ef1(0xa2)],_0x271ef1(0xa6)+_0x234ec0['id']+'\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a120_0x76860c=a120_0x3e85;(function(_0x22f195,_0xd36517){const _0x4980a1=a120_0x3e85,_0x14e558=_0x22f195();while(!![]){try{const _0x34d27d=-parseInt(_0x4980a1(0x18c))/0x1+parseInt(_0x4980a1(0x194))/0x2*(parseInt(_0x4980a1(0x184))/0x3)+-parseInt(_0x4980a1(0x190))/0x4+-parseInt(_0x4980a1(0x18b))/0x5*(parseInt(_0x4980a1(0x18d))/0x6)+-parseInt(_0x4980a1(0x165))/0x7*(-parseInt(_0x4980a1(0x17d))/0x8)+-parseInt(_0x4980a1(0x143))/0x9+parseInt(_0x4980a1(0x197))/0xa;if(_0x34d27d===_0xd36517)break;else _0x14e558['push'](_0x14e558['shift']());}catch(_0x18f7a7){_0x14e558['push'](_0x14e558['shift']());}}}(a120_0x19a0,0x3adde));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a120_0x19a0(){const _0x6458f3=['Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','string','hash','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','\x20menus\x20per\x20regroup\x20request.','menus','menu\x20list','message','--menu-ids\x20supports\x20at\x20most\x20','toLowerCase','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','Menus\x20','validation','get','type','map','menu-ids','\x20menu\x20list\x20--appcode\x20','menu','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','input','161JdHQbW','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','\x20and\x20regroup\x20menu\x20ids\x20','label',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','plan\x20regroup','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','size','readbackError','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','taskId','childrenCount','sort','filter','group','failed','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','parentId','Regroup\x20readback\x20failed:\x20','length','Regroup\x20readback\x20also\x20failed:\x20','isTerminal','plan','45048CKZBrN','isSafeInteger','/smartapi/menu/regroup','Regroup\x20task\x20','byId','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.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','2328UdbtZu','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','childrenIds','Regroup\x20task\x20accepted.\x20','some','applied','Menu\x20','53855eMbveH','182891OWWLTs','66jUDuFv','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','split','1361684QKjCGz','cookie','write','stringify','1096JmgsKF','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','trim','3854160MUxxmI','folder','POST','<platform-generated>','test','FAILED','submit-regroup-task','appCode','SUCCESS','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','515394upSYsd','regroup-start','warnings','menuIds','unconfirmed','replace','start\x20regroup','Root\x20folder\x20label\x20','menu_regroup_target_not_leaf','start\x20menu\x20regroup','str','status','join'];a120_0x19a0=function(){return _0x6458f3;};return a120_0x19a0();}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_0x76860c(0x139),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a120_0x76860c(0x162),'command':a120_0x76860c(0x144),'description':a120_0x76860c(0x150),'risk':a120_0x76860c(0x192),'structuredErrors':!![],'flags':[{'name':a120_0x76860c(0x168),'type':a120_0x76860c(0x151),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a120_0x76860c(0x160),'type':a120_0x76860c(0x151),'required':!![],'description':a120_0x76860c(0x15a)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2bf8be){validateRegroupInput(_0x2bf8be);},async 'dryRun'(_0x5e1852){const _0x4f4180=a120_0x76860c;validateRegroupInput(_0x5e1852);const _0x51a623=await buildRegroupPlan(_0x5e1852,!![]);return menuDryRunResult(_0x51a623[_0x4f4180(0x17c)],{'method':_0x4f4180(0x139),'url':_0x4f4180(0x17f),'body':_0x51a623[_0x4f4180(0x164)],'description':_0x4f4180(0x166)+JSON[_0x4f4180(0x193)](_0x51a623[_0x4f4180(0x168)])+_0x4f4180(0x167)+_0x51a623['menuIds'][_0x4f4180(0x14f)](',\x20')+_0x4f4180(0x169)});},async 'execute'(_0x2ccb19){const _0x44312b=a120_0x76860c;validateRegroupInput(_0x2ccb19);const _0x587371=await buildRegroupPlan(_0x2ccb19,![]);await recheckMutationSnapshot(_0x2ccb19,_0x587371[_0x44312b(0x17c)],_0x44312b(0x149));const _0x5492ee=buildMenuLookupCommand(_0x2ccb19[_0x44312b(0x13e)]);let _0x4d8695,_0xd7a171;try{_0x4d8695=await startMenuRegroup(_0x2ccb19[_0x44312b(0x191)],_0x587371[_0x44312b(0x164)]),_0xd7a171=normalizeAsyncTask(_0x4d8695);}catch(_0x42105f){const _0x173f1e=await inspectRegroupAfterFailure(_0x2ccb19['appCode'],_0x2ccb19[_0x44312b(0x191)],_0x587371['label'],_0x587371['menuIds']),_0x3609e8=typeof _0x4d8695?.['taskId']==='string'&&_0x4d8695[_0x44312b(0x170)][_0x44312b(0x196)]()?_0x4d8695[_0x44312b(0x170)][_0x44312b(0x196)]():null,_0x559a1c=_0x3609e8?{'command':buildAsyncTaskStatusCommand(_0x3609e8,_0x2ccb19[_0x44312b(0x13e)])}:null,_0x3fd32b=mapMenuApiError(_0x42105f,_0x44312b(0x14c));throw menuFailure(_0x3fd32b,_0x587371[_0x44312b(0x17c)],{'stage':'regroup-submit','failed':{'menuIds':_0x587371[_0x44312b(0x146)],'taskId':_0x3609e8,'groupingApplied':_0x173f1e[_0x44312b(0x189)]?!![]:'unconfirmed'},'after':_0x173f1e[_0x44312b(0x189)]??null,'warnings':[_0x44312b(0x163),..._0x173f1e[_0x44312b(0x16e)]?[_0x44312b(0x17a)+_0x173f1e[_0x44312b(0x16e)]]:[],..._0x3609e8?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':_0x44312b(0x175),'groupingApplied':_0x173f1e['applied']?!![]:_0x44312b(0x147),'taskId':_0x3609e8,'query':_0x559a1c,'lookupCommand':_0x5492ee}});}const _0xc0968d=buildAsyncTaskStatusCommand(_0xd7a171[_0x44312b(0x170)],_0x2ccb19[_0x44312b(0x13e)]);let _0x3a0513=null,_0x3db27d=null,_0x157f79=null;try{_0x3a0513=await fetchMenuSnapshot(_0x2ccb19['appCode'],_0x2ccb19[_0x44312b(0x191)]),_0x3db27d=findAppliedRegroup(_0x3a0513,_0x587371[_0x44312b(0x168)],_0x587371['menuIds']);}catch(_0x23593f){_0x157f79=_0x23593f instanceof Error?_0x23593f['message']:String(_0x23593f);}const _0x1509b1=mutationResult({..._0x587371[_0x44312b(0x17c)],'after':_0x3db27d??null,'dryRun':![],'succeeded':[{'groupId':_0x3db27d?.[_0x44312b(0x174)]['id']??null,'menuIds':_0x587371[_0x44312b(0x146)],'taskId':_0xd7a171['taskId'],'status':_0xd7a171[_0x44312b(0x14e)],'groupingApplied':_0x3db27d?!![]:_0x44312b(0x147)}],'verification':{'checkedBy':_0x44312b(0x156),'snapshotHash':_0x3a0513?.[_0x44312b(0x152)]??null,'groupId':_0x3db27d?.['group']['id']??null,'groupingApplied':_0x3db27d?!![]:_0x44312b(0x147),'readbackError':_0x157f79,'lookupCommand':_0x5492ee},'warnings':[..._0x587371[_0x44312b(0x17c)][_0x44312b(0x145)],...!_0x3db27d?[unconfirmedRegroupWarning(_0xd7a171)]:[],..._0x157f79?[_0x44312b(0x178)+_0x157f79]:[]]}),_0xcc3295=_0xd7a171['status']===_0x44312b(0x13f)&&!_0x3db27d?_0x44312b(0x180)+_0xd7a171[_0x44312b(0x170)]+_0x44312b(0x176):_0x44312b(0x187)+asyncTaskMessage(_0xd7a171);return{'ok':!![],'message':_0xcc3295,'data':{..._0x1509b1,'task':_0xd7a171,'query':_0xd7a171[_0x44312b(0x17b)]?null:{'command':_0xc0968d}}};}};function validateRegroupInput(_0x1edba6){const _0x830692=a120_0x76860c;if(!_0x1edba6[_0x830692(0x14d)]('label')[_0x830692(0x196)]())throw CliErrors['flagMissing']('label');parseMenuIds(_0x1edba6[_0x830692(0x14d)](_0x830692(0x160)));}function parseMenuIds(_0x4916e9){const _0x2de49a=a120_0x76860c,_0x3d7695=_0x4916e9[_0x2de49a(0x18f)](',')[_0x2de49a(0x15f)](_0x35ee79=>_0x35ee79[_0x2de49a(0x196)]());if(_0x3d7695[_0x2de49a(0x179)]===0x0||_0x3d7695[_0x2de49a(0x188)](_0x2d7d20=>!_0x2d7d20))throw CliErrors[_0x2de49a(0x15c)](_0x2de49a(0x183));const _0x44ad4a=_0x3d7695[_0x2de49a(0x15f)](_0xa5e5dd=>{const _0x57b81b=_0x2de49a;if(!/^\d+$/[_0x57b81b(0x13b)](_0xa5e5dd))throw CliErrors['validation'](_0x57b81b(0x183));const _0x56407b=Number(_0xa5e5dd);if(!Number[_0x57b81b(0x17e)](_0x56407b)||_0x56407b<=0x0)throw CliErrors[_0x57b81b(0x15c)](_0x57b81b(0x183));return _0x56407b;});if(new Set(_0x44ad4a)[_0x2de49a(0x16d)]!==_0x44ad4a['length'])throw CliErrors['validation']('--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.');if(_0x44ad4a['length']>MAX_REGROUP_MENU_COUNT)throw CliErrors['validation'](_0x2de49a(0x158)+MAX_REGROUP_MENU_COUNT+_0x2de49a(0x154));return _0x44ad4a;}function buildMenuLookupCommand(_0x1569a0){const _0x267b4e=a120_0x76860c,_0x17cace='\x27'+_0x1569a0[_0x267b4e(0x148)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+_0x267b4e(0x161)+_0x17cace+'\x20--format\x20compress';}function a120_0x3e85(_0x50a5ac,_0x2030a7){_0x50a5ac=_0x50a5ac-0x138;const _0x19a02b=a120_0x19a0();let _0x3e852d=_0x19a02b[_0x50a5ac];return _0x3e852d;}function unconfirmedRegroupWarning(_0x392922){const _0x10a414=a120_0x76860c;if(_0x392922[_0x10a414(0x14e)]===_0x10a414(0x13f))return _0x10a414(0x153);if(_0x392922[_0x10a414(0x14e)]===_0x10a414(0x13c))return _0x10a414(0x140);if(_0x392922['knownStatus'])return _0x10a414(0x141);return _0x10a414(0x182);}async function buildRegroupPlan(_0x4494a5,_0x59bb06){const _0x24a4e9=a120_0x76860c,_0x2b3912=_0x4494a5[_0x24a4e9(0x14d)](_0x24a4e9(0x168))[_0x24a4e9(0x196)](),_0x3fbd24=parseMenuIds(_0x4494a5[_0x24a4e9(0x14d)](_0x24a4e9(0x160))),_0x3fd8d3=await fetchMutationSnapshot(_0x4494a5,_0x24a4e9(0x16b)),_0x1873fb=_0x3fbd24['map'](_0x579f67=>requireMenu(_0x3fd8d3,_0x579f67));for(const _0x2a5f0d of _0x1873fb){if(_0x2a5f0d['type']['trim']()[_0x24a4e9(0x159)]()===_0x24a4e9(0x138)||_0x2a5f0d[_0x24a4e9(0x171)]>0x0)throw menuError(_0x24a4e9(0x14b),_0x24a4e9(0x18a)+_0x2a5f0d['id']+'\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.',_0x24a4e9(0x18e));if(!_0x2a5f0d[_0x24a4e9(0x168)]['trim']())throw menuError('menu_regroup_target_label_missing',_0x24a4e9(0x18a)+_0x2a5f0d['id']+_0x24a4e9(0x16c),_0x24a4e9(0x185));}const _0x418ffc=findAppliedRegroup(_0x3fd8d3,_0x2b3912,_0x3fbd24);if(_0x418ffc)throw menuError('menu_regroup_already_applied',_0x24a4e9(0x15b)+_0x3fbd24[_0x24a4e9(0x14f)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x418ffc[_0x24a4e9(0x174)]['id']+'\x20('+JSON[_0x24a4e9(0x193)](_0x2b3912)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x5efd97=_0x3fd8d3[_0x24a4e9(0x155)]['filter'](_0x20e4f6=>_0x20e4f6[_0x24a4e9(0x177)]==null&&_0x20e4f6[_0x24a4e9(0x15e)][_0x24a4e9(0x196)]()[_0x24a4e9(0x159)]()==='folder'&&_0x20e4f6[_0x24a4e9(0x168)]===_0x2b3912);if(_0x5efd97[_0x24a4e9(0x179)]>0x0)throw menuError('menu_regroup_label_conflict',_0x24a4e9(0x14a)+JSON[_0x24a4e9(0x193)](_0x2b3912)+_0x24a4e9(0x142)+_0x5efd97['map'](_0x2039ef=>_0x2039ef['id'])['join'](',\x20')+'.',_0x24a4e9(0x195));const _0x323612={'appCode':_0x4494a5[_0x24a4e9(0x13e)],'menuGroups':[{'label':_0x2b3912,'type':_0x24a4e9(0x138),'children':_0x1873fb[_0x24a4e9(0x15f)](_0x3abc01=>({'id':_0x3abc01['id'],'label':_0x3abc01[_0x24a4e9(0x168)]}))}]},_0x4f790b=mutationResult({'operation':_0x24a4e9(0x144),'selector':{'label':_0x2b3912,'menuIds':_0x3fbd24},'before':{'menus':_0x1873fb},'after':{'group':{'id':null,'parentId':null,'label':_0x2b3912,'path':_0x24a4e9(0x13a),'type':'folder','childrenIds':_0x3fbd24},'children':_0x1873fb[_0x24a4e9(0x15f)](_0x11a74e=>({'id':_0x11a74e['id'],'label':_0x11a74e[_0x24a4e9(0x168)],'beforeParentId':_0x11a74e['parentId'],'afterParentId':'<new-group-id>'}))},'dryRun':_0x59bb06,'backend':[...BACKEND],'plannedActions':[{'stage':_0x24a4e9(0x13d),'method':_0x24a4e9(0x139),'path':_0x24a4e9(0x17f),'body':_0x323612}],'snapshotHash':_0x3fd8d3['hash'],'warnings':[_0x24a4e9(0x16f),_0x24a4e9(0x16a)]});return{'label':_0x2b3912,'menuIds':_0x3fbd24,'input':_0x323612,'plan':_0x4f790b};}function findAppliedRegroup(_0x3fc1f2,_0x12316d,_0x45f185){const _0x53d698=a120_0x76860c,_0x8cdf17=_0x45f185[_0x53d698(0x15f)](_0x45a9f8=>_0x3fc1f2[_0x53d698(0x181)][_0x53d698(0x15d)](_0x45a9f8))[_0x53d698(0x173)](_0x34a6c5=>Boolean(_0x34a6c5));if(_0x8cdf17['length']!==_0x45f185[_0x53d698(0x179)])return null;const _0x2557ba=_0x8cdf17[0x0]?.[_0x53d698(0x177)];if(_0x2557ba==null||_0x8cdf17[_0x53d698(0x188)](_0x597d80=>_0x597d80['parentId']!==_0x2557ba))return null;const _0xbc8096=_0x3fc1f2[_0x53d698(0x181)][_0x53d698(0x15d)](_0x2557ba);if(!_0xbc8096||_0xbc8096[_0x53d698(0x177)]!=null||_0xbc8096[_0x53d698(0x15e)][_0x53d698(0x196)]()[_0x53d698(0x159)]()!==_0x53d698(0x138)||_0xbc8096[_0x53d698(0x168)]!==_0x12316d)return null;const _0x31d0af=[..._0x45f185][_0x53d698(0x172)]((_0x12f883,_0x550056)=>_0x12f883-_0x550056),_0x257ddb=[..._0xbc8096[_0x53d698(0x186)]][_0x53d698(0x172)]((_0x403f43,_0x3f151a)=>_0x403f43-_0x3f151a);if(JSON[_0x53d698(0x193)](_0x257ddb)!==JSON[_0x53d698(0x193)](_0x31d0af))return null;return{'group':_0xbc8096,'children':_0x8cdf17};}async function inspectRegroupAfterFailure(_0xd77cf1,_0xda282,_0x42916a,_0x302865){const _0x549341=a120_0x76860c;try{const _0x5d6e3e=await fetchMenuSnapshot(_0xd77cf1,_0xda282);return{'applied':findAppliedRegroup(_0x5d6e3e,_0x42916a,_0x302865),'readbackError':null};}catch(_0x54d457){return{'applied':null,'readbackError':_0x54d457 instanceof Error?_0x54d457[_0x549341(0x157)]:String(_0x54d457)};}}
|
|
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)};}}
|