@lovrabet/rabetbase-cli 2.4.4 → 2.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.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 -0
- 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/{permit/index.d.ts → dataset/business-groups.d.ts} +1 -1
- package/lib/commands/dataset/business-groups.js +1 -0
- 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.d.ts +15 -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/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/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/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/react/create.js +1 -1
- package/lib/commands/page/react/detail.js +1 -1
- package/lib/commands/page/react/list.js +1 -1
- package/lib/commands/page/react/publish.js +1 -1
- package/lib/commands/page/react/shared.js +1 -1
- package/lib/commands/page/react/syntax.js +1 -1
- package/lib/commands/page/react/template.js +1 -1
- package/lib/commands/page/react/update.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/standard-page-status.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.d.ts +15 -17
- 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 +70 -79
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.d.ts +1 -0
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.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 +1 -1
- package/skills/rabetbase/SKILL.md +18 -24
- package/skills/rabetbase/guides/database-connection-workflow.md +6 -2
- package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +28 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +7 -5
- package/skills/rabetbase/references/rabetbase-dataset-list.md +6 -6
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +5 -5
- package/skills/rabetbase/references/rabetbase-db-create.md +3 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +10 -2
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +3 -2
- package/skills/rabetbase/references/rabetbase-db-update.md +4 -2
- package/skills/rabetbase/references/rabetbase-role-list.md +9 -17
- package/skills/rabetbase/references/rabetbase-role-user-add.md +44 -16
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase.manifest.json +4 -7
- package/lib/commands/permit/index.js +0 -1
- package/lib/commands/permit/page-get.d.ts +0 -2
- package/lib/commands/permit/page-get.js +0 -1
- package/lib/commands/permit/page-set.d.ts +0 -2
- package/lib/commands/permit/page-set.js +0 -1
- package/lib/commands/permit/role-apis-set.d.ts +0 -2
- package/lib/commands/permit/role-apis-set.js +0 -1
- package/lib/commands/permit/role-menus-set.d.ts +0 -2
- package/lib/commands/permit/role-menus-set.js +0 -1
- package/lib/commands/permit/role-menus.d.ts +0 -2
- package/lib/commands/permit/role-menus.js +0 -1
- package/lib/commands/permit/shared.d.ts +0 -74
- package/lib/commands/permit/shared.js +0 -1
- package/lib/commands/role/create.d.ts +0 -2
- package/lib/commands/role/create.js +0 -1
- package/skills/rabetbase/guides/role-permit-workflow.md +0 -127
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +0 -69
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +0 -53
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +0 -57
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x1f3d87=a111_0x2ece;(function(_0x41a465,_0x2c0b24){const _0x3fcb57=a111_0x2ece,_0x57b9ed=_0x41a465();while(!![]){try{const _0x2e160c=-parseInt(_0x3fcb57(0x18e))/0x1*(parseInt(_0x3fcb57(0x181))/0x2)+-parseInt(_0x3fcb57(0x147))/0x3*(parseInt(_0x3fcb57(0x174))/0x4)+-parseInt(_0x3fcb57(0x142))/0x5*(parseInt(_0x3fcb57(0x17a))/0x6)+parseInt(_0x3fcb57(0x150))/0x7+-parseInt(_0x3fcb57(0x1b0))/0x8+-parseInt(_0x3fcb57(0x1ae))/0x9*(-parseInt(_0x3fcb57(0x13a))/0xa)+parseInt(_0x3fcb57(0x14d))/0xb;if(_0x2e160c===_0x2c0b24)break;else _0x57b9ed['push'](_0x57b9ed['shift']());}catch(_0x44e0dd){_0x57b9ed['push'](_0x57b9ed['shift']());}}}(a111_0x5bc7,0xd49bf));function a111_0x5bc7(){const _0x437ab9=['entries','sort','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','after','plan','menus','External\x20menu\x20creation\x20failed.','add','verification','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','object','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','url','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','menu_permission_denied','open-mode','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Created\x20external\x20menu\x20','menu_url_invalid','menu_state_drift','External\x20HTTPS\x20URL','cause','str','menu_url_credentials_forbidden','succeeded','create\x20external\x20menu','rawerror','replace','765NbzpSS','Menu\x20','3180976RNSnBf','parentId','link','filter','POST','hasOwnProperty','byId','menu','menu\x20list','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','menu_open_mode_invalid','Create\x20an\x20external\x20website\x20link\x20menu','Whether\x20the\x20menu\x20is\x20visible','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','\x20could\x20not\x20be\x20verified.','menu_verification_failed','<redacted>','195350dUNjOK','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Created\x20menu\x20','appCode','recovered','\x20with\x20','menu_not_found','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','2505135ErkSDd','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','flagMissing','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Would\x20create\x20external\x20website\x20link\x20menu\x20','9507ZFjPaC','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','embedded','<platform-generated>','visibility','26845412njNeJq','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','snapshot','4146163DeKRtY','map','Run\x20','\x20has\x20an\x20unexpected\x20generated\x20path.','string','createdId','afterPlan','bool','has','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_create_response_invalid','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','currentSnapshotHash','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','iframe','cookie','\x20after\x20response\x20loss.','isArray','Menu\x20label','menu_url_https_required','length','menu_parent_not_folder','URL','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','boolean','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','parent-id','expectedPath','external-link-create','parent','trim','rabetbase\x20menu\x20list\x20--appcode\x20','/smartapi/menu/create','path','lookupCommand','1844yyqHGU','visible','fromEntries','create-response-validation','code','menu_create_recovery_required','18NKuGQM','hash','type','get','failed','isSafeInteger','create-menu','131662HhFMZW','\x20--format\x20compress','menu_sort_overflow','Recovered\x20menu\x20','Recovered\x20created\x20external\x20menu\x20','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','create','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','plannedActions','How\x20to\x20open\x20the\x20external\x20website','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','expectedSnapshotHash','new-window','7iEMeCt','label','data'];a111_0x5bc7=function(){return _0x437ab9;};return a111_0x5bc7();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a111_0x1f3d87(0x15f),'new-window':a111_0x1f3d87(0x1b2)};export function validateExternalMenuUrl(_0x4b9c97){const _0x969cd9=a111_0x1f3d87,_0xe7f13=_0x4b9c97[_0x969cd9(0x16f)]();let _0x346401;try{_0x346401=new URL(_0xe7f13);}catch{throw menuError(_0x969cd9(0x1a4),_0x969cd9(0x149),_0x969cd9(0x148));}if(_0x346401['protocol']!=='https:')throw menuError(_0x969cd9(0x164),_0x969cd9(0x13b),'Provide\x20an\x20HTTPS\x20URL.');if(_0x346401['username']||_0x346401['password'])throw menuError(_0x969cd9(0x1a9),_0x969cd9(0x15b),_0x969cd9(0x186));return _0xe7f13;}export const menuExternalLinkCreate={'service':'menu','command':a111_0x1f3d87(0x16d),'description':a111_0x1f3d87(0x134),'risk':'write','structuredErrors':!![],'flags':[{'name':'label','type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x163)},{'name':'open-mode','type':a111_0x1f3d87(0x154),'required':!![],'enum':[a111_0x1f3d87(0x14a),a111_0x1f3d87(0x18d)],'description':a111_0x1f3d87(0x18a)},{'name':a111_0x1f3d87(0x19e),'type':a111_0x1f3d87(0x154),'required':!![],'description':a111_0x1f3d87(0x1a6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a111_0x1f3d87(0x175),'type':a111_0x1f3d87(0x169),'default':!![],'description':a111_0x1f3d87(0x135)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3a8a06){validateAddInput(_0x3a8a06);},async 'dryRun'(_0x4ba168){const _0x4d6cc4=a111_0x1f3d87;validateAddInput(_0x4ba168);const {plan:_0x463628}=await buildSafeAddPlan(_0x4ba168,!![]),_0x328efa=_0x463628['after'],_0x361602=createBody(_0x328efa);return menuDryRunResult(_0x463628,{'method':_0x4d6cc4(0x1b4),'url':_0x4d6cc4(0x171),'body':_0x361602,'description':_0x4d6cc4(0x146)+JSON['stringify'](_0x328efa[_0x4d6cc4(0x18f)])+_0x4d6cc4(0x13f)+_0x4ba168['str'](_0x4d6cc4(0x1a1))+_0x4d6cc4(0x19b)});},async 'execute'(_0x28ec50){const _0x1d9a90=a111_0x1f3d87;validateAddInput(_0x28ec50);const _0x5449e3=await buildSafeAddPlan(_0x28ec50,![]),{plan:_0x30429e,snapshot:_0x5ad3c6}=_0x5449e3,_0x503bbb=_0x30429e[_0x1d9a90(0x194)],_0x1fba45=buildMenuLookupCommand(_0x28ec50[_0x1d9a90(0x13d)]);await recheckAddSnapshot(_0x28ec50,_0x30429e);let _0x2ab9da;try{_0x2ab9da=await createMenuEntity(_0x28ec50[_0x1d9a90(0x13d)],_0x28ec50[_0x1d9a90(0x160)],createBody(_0x503bbb));}catch(_0x55b361){const _0x23d3a8=mapMenuApiError(_0x55b361,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x55b361)||_0x23d3a8[_0x1d9a90(0x178)]===_0x1d9a90(0x1a0))throw externalLinkCreateFailure(_0x23d3a8,_0x30429e,{'stage':_0x1d9a90(0x187),'failed':{},'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45}});return recoverAfterResponseLoss(_0x28ec50,_0x5449e3,_0x1fba45);}const _0x42a863=Number(_0x2ab9da?.['id']),_0x4b62a7=typeof _0x2ab9da?.[_0x1d9a90(0x172)]===_0x1d9a90(0x154)?_0x2ab9da[_0x1d9a90(0x172)]:'';if(!Number['isSafeInteger'](_0x42a863)||_0x42a863<=0x0||!_0x4b62a7[_0x1d9a90(0x16f)]()){const _0x12b440=menuError(_0x1d9a90(0x15a),_0x1d9a90(0x136),_0x1d9a90(0x152)+_0x1fba45+_0x1d9a90(0x193));throw externalLinkCreateFailure(_0x12b440,_0x30429e,{'stage':_0x1d9a90(0x177),'succeeded':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?[{'id':_0x42a863,'created':!![]}]:[],'failed':{'createdId':Number[_0x1d9a90(0x17f)](_0x42a863)?_0x42a863:null,'generatedPathConfirmed':Boolean(_0x4b62a7[_0x1d9a90(0x16f)]())},'warnings':[_0x1d9a90(0x15e)],'after':Number['isSafeInteger'](_0x42a863)&&_0x42a863>0x0?{..._0x503bbb,'id':_0x42a863,'path':_0x4b62a7}:_0x503bbb,'verification':{'status':_0x1d9a90(0x17e),'lookupCommand':_0x1fba45,...Number[_0x1d9a90(0x17f)](_0x42a863)&&_0x42a863>0x0?{'targetId':_0x42a863}:{}}});}const _0xa6ec9b=await readAndVerifyCreatedMenu({'appCode':_0x28ec50[_0x1d9a90(0x13d)],'cookie':_0x28ec50[_0x1d9a90(0x160)],'plan':_0x30429e,'afterPlan':_0x503bbb,'createdId':_0x42a863,'expectedPath':_0x4b62a7,'lookupCommand':_0x1fba45,'recovered':![]});return creationSuccess(_0x30429e,_0xa6ec9b[_0x1d9a90(0x14f)],_0xa6ec9b['fact'],![]);}};function validateAddInput(_0x48505c){const _0x6db613=a111_0x1f3d87;if(!_0x48505c[_0x6db613(0x1a8)](_0x6db613(0x18f))[_0x6db613(0x16f)]())throw CliErrors[_0x6db613(0x144)]('label');resolveExternalMenuType(_0x48505c),validateExternalMenuUrl(_0x48505c['str'](_0x6db613(0x19e))),parseParentId(_0x48505c,_0x6db613(0x16b)),validateSort(_0x48505c);}function resolveExternalMenuType(_0x397fb9){const _0x5dda72=a111_0x1f3d87,_0x4f1476=_0x397fb9['str'](_0x5dda72(0x1a1))['trim']();if(!_0x4f1476)throw CliErrors[_0x5dda72(0x144)](_0x5dda72(0x1a1));const _0x431788=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4f1476];if(!_0x431788)throw menuError(_0x5dda72(0x1ba),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x5dda72(0x159));return _0x431788;}async function buildAddPlan(_0x3b81eb,_0x413ed5){const _0x4c3728=a111_0x1f3d87,_0x23ec05=await fetchMutationSnapshot(_0x3b81eb,'create\x20external\x20menu'),_0x47b03f=parseParentId(_0x3b81eb,'parent-id')??null;if(_0x47b03f!=null)requireFolder(_0x23ec05,_0x47b03f);const _0x4a355a=validateSort(_0x3b81eb),_0x93c9c2=_0x4a355a??nextSiblingSort(_0x23ec05,_0x47b03f,_0x4c3728(0x1b7)),_0x4f1190=_0x3b81eb[_0x4c3728(0x1a8)](_0x4c3728(0x18f))[_0x4c3728(0x16f)](),_0x51cf22=resolveExternalMenuType(_0x3b81eb),_0x481f30=validateExternalMenuUrl(_0x3b81eb['str'](_0x4c3728(0x19e))),_0x533a96=Object['prototype'][_0x4c3728(0x1b5)]['call'](_0x3b81eb['rawFlags'],_0x4c3728(0x175))?_0x3b81eb[_0x4c3728(0x157)](_0x4c3728(0x175)):!![],_0x21b64c={'id':null,'parentId':_0x47b03f,'label':_0x4f1190,'path':_0x4c3728(0x14b),'url':_0x481f30,'type':_0x51cf22,'visible':_0x533a96,'sort':_0x93c9c2},_0x5e9dfc=buildMenuLookupCommand(_0x3b81eb['appCode']),_0x5d0e5b=mutationResult({'operation':_0x4c3728(0x198),'selector':{'parentId':_0x47b03f,'type':_0x51cf22,'label':_0x4f1190,'url':_0x481f30},'before':null,'after':_0x21b64c,'dryRun':_0x413ed5,'backend':[{'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171)}],'plannedActions':[{'stage':_0x4c3728(0x180),'method':_0x4c3728(0x1b4),'path':_0x4c3728(0x171),'body':createBody(_0x21b64c)}],'snapshotHash':_0x23ec05['hash'],'warnings':[_0x4c3728(0x19a)],'verification':{'lookupCommand':_0x5e9dfc}});return{'plan':_0x5d0e5b,'snapshot':_0x23ec05};}async function buildSafeAddPlan(_0x131e6f,_0xce74cb){try{return await buildAddPlan(_0x131e6f,_0xce74cb);}catch(_0xd12c56){throw safeMenuAddError(_0xd12c56);}}async function recheckAddSnapshot(_0x558d3b,_0x1275d1){const _0x5f1abf=a111_0x1f3d87;try{await recheckMutationSnapshot(_0x558d3b,_0x1275d1,_0x5f1abf(0x1ab));}catch(_0x449219){const _0x368d32=getFailureRecord(_0x449219);throw externalLinkCreateFailure(_0x449219,_0x1275d1,{'stage':'pre-write-recheck','failed':{..._0x368d32?.[_0x5f1abf(0x18c)]?{'expectedSnapshotHash':_0x368d32[_0x5f1abf(0x18c)]}:{},..._0x368d32?.[_0x5f1abf(0x15c)]?{'currentSnapshotHash':_0x368d32['currentSnapshotHash']}:{}}});}}function createBody(_0x41e5af){const _0x3f0a25=a111_0x1f3d87;return{'parentId':toApiParentId(_0x41e5af[_0x3f0a25(0x1b1)]),'label':String(_0x41e5af[_0x3f0a25(0x18f)]),'type':String(_0x41e5af[_0x3f0a25(0x17c)]),'url':String(_0x41e5af['url']),'visible':Boolean(_0x41e5af[_0x3f0a25(0x175)]),'sort':Number(_0x41e5af['sort']),'extend':{}};}function buildMenuLookupCommand(_0x391398){const _0x42c68c=a111_0x1f3d87,_0x261c4b='\x27'+_0x391398[_0x42c68c(0x1ad)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x42c68c(0x170)+_0x261c4b+_0x42c68c(0x182);}async function recoverAfterResponseLoss(_0x590a6f,_0x16099e,_0x2436f6){const _0x6d908d=a111_0x1f3d87,{plan:_0x182581,snapshot:_0x4bc975}=_0x16099e,_0x24d722=_0x182581[_0x6d908d(0x194)];let _0x1898c8;try{_0x1898c8=await fetchMenuSnapshot(_0x590a6f[_0x6d908d(0x13d)],_0x590a6f[_0x6d908d(0x160)]);}catch(_0x1f6b42){throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x1d447b=_0x1898c8[_0x6d908d(0x196)][_0x6d908d(0x1b3)](_0x54aaa0=>_0x54aaa0[_0x6d908d(0x1b1)]===_0x24d722[_0x6d908d(0x1b1)]&&_0x54aaa0[_0x6d908d(0x17c)]===_0x24d722['type']&&_0x54aaa0[_0x6d908d(0x18f)]===_0x24d722[_0x6d908d(0x18f)]&&_0x54aaa0[_0x6d908d(0x19e)]===_0x24d722[_0x6d908d(0x19e)]),_0x227c73=_0x1d447b[_0x6d908d(0x1b3)](_0x193788=>!_0x4bc975[_0x6d908d(0x1b6)]['has'](_0x193788['id'])),_0x227aae=_0x1d447b[_0x6d908d(0x1b3)](_0x41cd1a=>_0x4bc975[_0x6d908d(0x1b6)][_0x6d908d(0x158)](_0x41cd1a['id']));if(_0x1d447b[_0x6d908d(0x165)]!==0x1||_0x227c73[_0x6d908d(0x165)]!==0x1)throw recoveryRequiredFailure(_0x182581,_0x2436f6,{'matchCount':_0x1d447b['length'],'newMatchCount':_0x227c73[_0x6d908d(0x165)],'preexistingMatchCount':_0x227aae[_0x6d908d(0x165)]});const _0x4bd31f=_0x227c73[0x0];try{verifyCreatedFact(_0x4bd31f,_0x4bd31f['id'],_0x24d722,null);}catch(_0x5524b5){const _0x457331=_0x5524b5 instanceof Error&&'code'in _0x5524b5?_0x5524b5:menuError(_0x6d908d(0x138),_0x6d908d(0x184)+_0x4bd31f['id']+_0x6d908d(0x137),'Run\x20'+_0x2436f6+_0x6d908d(0x18b));throw externalLinkCreateFailure(_0x457331,_0x182581,{'stage':_0x6d908d(0x199),'succeeded':[{'id':_0x4bd31f['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x4bd31f['id'],'finalFactsConfirmed':![]},'after':_0x4bd31f,'warnings':[_0x6d908d(0x1af)+_0x4bd31f['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x4bd31f['id'],'recovered':!![],'lookupCommand':_0x2436f6}});}return creationSuccess(_0x182581,_0x1898c8,_0x4bd31f,!![]);}function recoveryRequiredFailure(_0x1a95ef,_0x1c344a,_0x15fb24){const _0x3ca68d=a111_0x1f3d87,_0x44e37c=menuError(_0x3ca68d(0x179),'The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.',_0x3ca68d(0x152)+_0x1c344a+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x44e37c,_0x1a95ef,{'stage':'create-recovery','failed':_0x15fb24,'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.'],'verification':{'status':_0x3ca68d(0x17e),..._0x15fb24,'lookupCommand':_0x1c344a}});}async function readAndVerifyCreatedMenu(_0x52c791){const _0x2fe1bc=a111_0x1f3d87;let _0x79a4f1;try{_0x79a4f1=await fetchMenuSnapshot(_0x52c791[_0x2fe1bc(0x13d)],_0x52c791['cookie']);}catch(_0xe49af7){const _0x1b435e=menuError(_0x2fe1bc(0x138),'Menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+_0x2fe1bc(0x188),_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0x1b435e,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791[_0x2fe1bc(0x155)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x52c791[_0x2fe1bc(0x156)],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':['Menu\x20'+_0x52c791['createdId']+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'lookupCommand':_0x52c791['lookupCommand']}});}const _0x1fa094=_0x79a4f1[_0x2fe1bc(0x1b6)][_0x2fe1bc(0x17d)](_0x52c791['createdId']);try{if(!_0x1fa094)throw menuError('menu_verification_failed',_0x2fe1bc(0x13c)+_0x52c791[_0x2fe1bc(0x155)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.',_0x2fe1bc(0x152)+_0x52c791[_0x2fe1bc(0x173)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x1fa094,_0x52c791[_0x2fe1bc(0x155)],_0x52c791['afterPlan'],_0x52c791[_0x2fe1bc(0x16c)]);}catch(_0x506ffa){const _0xe55d5f=_0x506ffa instanceof Error&&'code'in _0x506ffa?_0x506ffa:menuError(_0x2fe1bc(0x138),'Created\x20menu\x20'+_0x52c791[_0x2fe1bc(0x155)]+'\x20failed\x20final\x20verification.',_0x2fe1bc(0x152)+_0x52c791['lookupCommand']+_0x2fe1bc(0x168));throw externalLinkCreateFailure(_0xe55d5f,_0x52c791[_0x2fe1bc(0x195)],{'stage':_0x2fe1bc(0x199),'succeeded':[{'id':_0x52c791[_0x2fe1bc(0x155)],'created':!![]}],'failed':{'id':_0x52c791['createdId'],'finalFactsConfirmed':![]},'after':_0x1fa094??{..._0x52c791['afterPlan'],'id':_0x52c791[_0x2fe1bc(0x155)],'path':_0x52c791[_0x2fe1bc(0x16c)]},'warnings':[_0x2fe1bc(0x1af)+_0x52c791['createdId']+_0x2fe1bc(0x19d)],'verification':{'status':_0x2fe1bc(0x17e),'targetId':_0x52c791[_0x2fe1bc(0x155)],'recovered':_0x52c791[_0x2fe1bc(0x13e)],'lookupCommand':_0x52c791[_0x2fe1bc(0x173)]}});}return{'snapshot':_0x79a4f1,'fact':_0x1fa094};}function verifyCreatedFact(_0x26ce7f,_0x3b8559,_0x44ea1b,_0x39e190){const _0x2b5c5c=a111_0x1f3d87;if(!Number[_0x2b5c5c(0x17f)](_0x26ce7f['id'])||_0x26ce7f['id']<=0x0||_0x26ce7f['id']!==_0x3b8559)throw menuError('menu_verification_failed','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x345e96=[[_0x2b5c5c(0x16e),_0x26ce7f[_0x2b5c5c(0x1b1)],_0x44ea1b[_0x2b5c5c(0x1b1)]],['type',_0x26ce7f['type'],_0x44ea1b[_0x2b5c5c(0x17c)]],[_0x2b5c5c(0x18f),_0x26ce7f[_0x2b5c5c(0x18f)],_0x44ea1b[_0x2b5c5c(0x18f)]],[_0x2b5c5c(0x167),_0x26ce7f['url'],_0x44ea1b[_0x2b5c5c(0x19e)]],[_0x2b5c5c(0x14c),_0x26ce7f[_0x2b5c5c(0x175)],_0x44ea1b[_0x2b5c5c(0x175)]],[_0x2b5c5c(0x192),_0x26ce7f[_0x2b5c5c(0x192)],_0x44ea1b['sort']]];for(const [_0x49369c,_0x2b43d1,_0x2c2c0a]of _0x345e96){if(_0x2b43d1!==_0x2c2c0a)throw menuError(_0x2b5c5c(0x138),_0x2b5c5c(0x13c)+_0x26ce7f['id']+'\x20has\x20an\x20unexpected\x20'+_0x49369c+'.',_0x2b5c5c(0x143));}if(!_0x26ce7f[_0x2b5c5c(0x172)][_0x2b5c5c(0x16f)]()||_0x39e190!==null&&_0x26ce7f[_0x2b5c5c(0x172)]!==_0x39e190)throw menuError(_0x2b5c5c(0x138),'Created\x20menu\x20'+_0x26ce7f['id']+_0x2b5c5c(0x153),_0x2b5c5c(0x143));}function creationSuccess(_0x4b7e66,_0x517a1d,_0x5f41dd,_0x492830){const _0x4c4d8a=a111_0x1f3d87,_0x561231=mutationResult({..._0x4b7e66,'after':_0x5f41dd,'dryRun':![],'succeeded':[{'id':_0x5f41dd['id'],'created':!![],'recovered':_0x492830}],'verification':{'checkedBy':_0x4c4d8a(0x1b8),'snapshotHash':_0x517a1d[_0x4c4d8a(0x17b)],'targetId':_0x5f41dd['id'],'recovered':_0x492830,'path':_0x5f41dd[_0x4c4d8a(0x172)]}});return{'ok':!![],'message':_0x492830?_0x4c4d8a(0x185)+_0x5f41dd['id']+_0x4c4d8a(0x161):_0x4c4d8a(0x1a3)+_0x5f41dd['id']+'.','data':{..._0x561231,'recovered':_0x492830}};}function a111_0x2ece(_0x54e598,_0x16e357){_0x54e598=_0x54e598-0x134;const _0x5bc769=a111_0x5bc7();let _0x2ece6c=_0x5bc769[_0x54e598];return _0x2ece6c;}function externalLinkCreateFailure(_0xccf20,_0x905185,_0x48b08a){const _0xc69bc2=a111_0x1f3d87;return menuFailure(safeMenuAddError(_0xccf20),redactFailurePlan(_0x905185),{..._0x48b08a,'succeeded':_0x48b08a[_0xc69bc2(0x1aa)]?.['map'](redactFailureRecord),'failed':_0x48b08a[_0xc69bc2(0x17e)]?redactFailureRecord(_0x48b08a['failed']):undefined,'verification':_0x48b08a[_0xc69bc2(0x199)]?redactFailureRecord(_0x48b08a[_0xc69bc2(0x199)]):undefined,'after':_0x48b08a[_0xc69bc2(0x194)]===undefined?undefined:redactFailureValue(_0x48b08a['after'])});}function redactFailurePlan(_0x40ed47){const _0x5550ba=a111_0x1f3d87;return{..._0x40ed47,'selector':redactFailureRecord(_0x40ed47['selector']),'before':redactFailureValue(_0x40ed47['before']),'after':redactFailureValue(_0x40ed47[_0x5550ba(0x194)]),'plannedActions':_0x40ed47[_0x5550ba(0x189)]?.[_0x5550ba(0x151)](_0x183485=>({..._0x183485,'body':redactFailureRecord(_0x183485['body'])})),'succeeded':_0x40ed47[_0x5550ba(0x1aa)][_0x5550ba(0x151)](redactFailureRecord),'failed':_0x40ed47['failed']['map'](redactFailureRecord),'verification':_0x40ed47['verification']?redactFailureRecord(_0x40ed47[_0x5550ba(0x199)]):undefined};}function redactFailureRecord(_0x8cd39d){return redactFailureValue(_0x8cd39d);}function redactFailureValue(_0x1b6744,_0x27471b=''){const _0x567106=a111_0x1f3d87,_0x22fe8d=_0x27471b['toLowerCase']()[_0x567106(0x1ad)](/[^a-z0-9]/g,'');if([_0x567106(0x1a7),'causemessage','readbackerror',_0x567106(0x1ac)]['includes'](_0x22fe8d))return _0x567106(0x139);if(Array[_0x567106(0x162)](_0x1b6744))return _0x1b6744[_0x567106(0x151)](_0xdd9231=>redactFailureValue(_0xdd9231));if(_0x1b6744&&typeof _0x1b6744==='object')return Object[_0x567106(0x176)](Object[_0x567106(0x191)](_0x1b6744)[_0x567106(0x151)](([_0x534eaa,_0x46af0f])=>[_0x534eaa,redactFailureValue(_0x46af0f,_0x534eaa)]));return _0x1b6744;}function safeMenuAddError(_0x33be56){const _0x43b657=a111_0x1f3d87,_0x30aeb3=_0x33be56 instanceof CliError?_0x33be56['code']:_0x43b657(0x15d);switch(_0x30aeb3){case _0x43b657(0x1a5):return menuError(_0x30aeb3,_0x43b657(0x1b9),_0x43b657(0x141));case _0x43b657(0x1a0):return menuError(_0x30aeb3,_0x43b657(0x19f),'Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');case _0x43b657(0x15a):return menuError(_0x30aeb3,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x43b657(0x14e));case _0x43b657(0x138):return menuError(_0x30aeb3,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x30aeb3,_0x43b657(0x16a),_0x43b657(0x145));case _0x43b657(0x15d):case _0x43b657(0x140):case _0x43b657(0x166):case'menu_sort_invalid':case _0x43b657(0x183):return menuError(_0x30aeb3,_0x43b657(0x197),_0x43b657(0x1a2));default:return menuError(_0x43b657(0x15d),_0x43b657(0x197),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0xc5191a){const _0x5cf210=a111_0x1f3d87;if(!(_0xc5191a instanceof Error)||!(_0x5cf210(0x190)in _0xc5191a))return undefined;const _0x4d898e=_0xc5191a[_0x5cf210(0x190)];if(!_0x4d898e||typeof _0x4d898e!==_0x5cf210(0x19c))return undefined;const _0x120154=_0x4d898e[_0x5cf210(0x17e)];if(!Array[_0x5cf210(0x162)](_0x120154)||!_0x120154[0x0]||typeof _0x120154[0x0]!==_0x5cf210(0x19c))return undefined;return _0x120154[0x0];}
|
|
1
|
+
const a112_0x128637=a112_0x4c2c;(function(_0x5d65ff,_0x5a237f){const _0x1c47da=a112_0x4c2c,_0x3151b9=_0x5d65ff();while(!![]){try{const _0x4d1a5c=parseInt(_0x1c47da(0x1f6))/0x1+parseInt(_0x1c47da(0x1ed))/0x2*(-parseInt(_0x1c47da(0x1b5))/0x3)+parseInt(_0x1c47da(0x1c1))/0x4*(-parseInt(_0x1c47da(0x227))/0x5)+parseInt(_0x1c47da(0x1bd))/0x6*(parseInt(_0x1c47da(0x1d2))/0x7)+-parseInt(_0x1c47da(0x1d9))/0x8+parseInt(_0x1c47da(0x20c))/0x9+parseInt(_0x1c47da(0x1e1))/0xa;if(_0x4d1a5c===_0x5a237f)break;else _0x3151b9['push'](_0x3151b9['shift']());}catch(_0x4b0010){_0x3151b9['push'](_0x3151b9['shift']());}}}(a112_0x133c,0xc7b1f));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 a112_0x4c2c(_0x2e1bf0,_0x21349b){_0x2e1bf0=_0x2e1bf0-0x1a9;const _0x133c42=a112_0x133c();let _0x4c2c05=_0x133c42[_0x2e1bf0];return _0x4c2c05;}import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a112_0x128637(0x1cd),'new-window':a112_0x128637(0x21f)};export function validateExternalMenuUrl(_0x2709f5){const _0x6f97d0=a112_0x128637,_0x5a0c13=_0x2709f5['trim']();let _0x5e83e5;try{_0x5e83e5=new URL(_0x5a0c13);}catch{throw menuError('menu_url_invalid',_0x6f97d0(0x21e),_0x6f97d0(0x1d4));}if(_0x5e83e5[_0x6f97d0(0x1cc)]!==_0x6f97d0(0x1de))throw menuError(_0x6f97d0(0x235),_0x6f97d0(0x1c5),_0x6f97d0(0x216));if(_0x5e83e5['username']||_0x5e83e5[_0x6f97d0(0x222)])throw menuError(_0x6f97d0(0x1d1),_0x6f97d0(0x1b2),'Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0x5a0c13;}export const menuExternalLinkCreate={'service':a112_0x128637(0x226),'command':a112_0x128637(0x1f4),'description':a112_0x128637(0x1d8),'risk':a112_0x128637(0x1da),'structuredErrors':!![],'flags':[{'name':a112_0x128637(0x22d),'type':'string','required':!![],'description':a112_0x128637(0x207)},{'name':a112_0x128637(0x20a),'type':'string','required':!![],'enum':[a112_0x128637(0x1af),a112_0x128637(0x1dd)],'description':a112_0x128637(0x233)},{'name':'url','type':a112_0x128637(0x1ae),'required':!![],'description':a112_0x128637(0x224)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a112_0x128637(0x1fe),'type':'boolean','default':!![],'description':a112_0x128637(0x1cb)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5df3f1){validateAddInput(_0x5df3f1);},async 'dryRun'(_0x4ffb76){const _0x17730e=a112_0x128637;validateAddInput(_0x4ffb76);const {plan:_0x499304}=await buildSafeAddPlan(_0x4ffb76,!![]),_0x3c2fd2=_0x499304[_0x17730e(0x20b)],_0x35c5a3=createBody(_0x3c2fd2);return menuDryRunResult(_0x499304,{'method':_0x17730e(0x211),'url':'/smartapi/menu/create','body':_0x35c5a3,'description':_0x17730e(0x1e4)+JSON['stringify'](_0x3c2fd2['label'])+'\x20with\x20'+_0x4ffb76[_0x17730e(0x21c)](_0x17730e(0x20a))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x4f8390){const _0x59eab8=a112_0x128637;validateAddInput(_0x4f8390);const _0x148685=await buildSafeAddPlan(_0x4f8390,![]),{plan:_0x30e9dc,snapshot:_0x34b1f4}=_0x148685,_0x2fe84d=_0x30e9dc[_0x59eab8(0x20b)],_0x297b10=buildMenuLookupCommand(_0x4f8390[_0x59eab8(0x230)]);await recheckAddSnapshot(_0x4f8390,_0x30e9dc);let _0x5ed702;try{_0x5ed702=await createMenuEntity(_0x4f8390[_0x59eab8(0x230)],_0x4f8390[_0x59eab8(0x22f)],createBody(_0x2fe84d));}catch(_0x1dae05){const _0x431eea=mapMenuApiError(_0x1dae05,'create\x20external\x20menu');if(!isMenuResponseLoss(_0x1dae05)||_0x431eea[_0x59eab8(0x1b6)]===_0x59eab8(0x1df))throw externalLinkCreateFailure(_0x431eea,_0x30e9dc,{'stage':'create','failed':{},'verification':{'status':_0x59eab8(0x21d),'lookupCommand':_0x297b10}});return recoverAfterResponseLoss(_0x4f8390,_0x148685,_0x297b10);}const _0x1e2ec9=Number(_0x5ed702?.['id']),_0x2ce04c=typeof _0x5ed702?.[_0x59eab8(0x1f7)]===_0x59eab8(0x1ae)?_0x5ed702[_0x59eab8(0x1f7)]:'';if(!Number['isSafeInteger'](_0x1e2ec9)||_0x1e2ec9<=0x0||!_0x2ce04c[_0x59eab8(0x1f8)]()){const _0x2d88f3=menuError(_0x59eab8(0x221),_0x59eab8(0x201),_0x59eab8(0x1c6)+_0x297b10+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x2d88f3,_0x30e9dc,{'stage':_0x59eab8(0x1f9),'succeeded':Number[_0x59eab8(0x1c2)](_0x1e2ec9)&&_0x1e2ec9>0x0?[{'id':_0x1e2ec9,'created':!![]}]:[],'failed':{'createdId':Number[_0x59eab8(0x1c2)](_0x1e2ec9)?_0x1e2ec9:null,'generatedPathConfirmed':Boolean(_0x2ce04c['trim']())},'warnings':[_0x59eab8(0x1ab)],'after':Number['isSafeInteger'](_0x1e2ec9)&&_0x1e2ec9>0x0?{..._0x2fe84d,'id':_0x1e2ec9,'path':_0x2ce04c}:_0x2fe84d,'verification':{'status':_0x59eab8(0x21d),'lookupCommand':_0x297b10,...Number[_0x59eab8(0x1c2)](_0x1e2ec9)&&_0x1e2ec9>0x0?{'targetId':_0x1e2ec9}:{}}});}const _0x165afe=await readAndVerifyCreatedMenu({'appCode':_0x4f8390[_0x59eab8(0x230)],'cookie':_0x4f8390[_0x59eab8(0x22f)],'plan':_0x30e9dc,'afterPlan':_0x2fe84d,'createdId':_0x1e2ec9,'expectedPath':_0x2ce04c,'lookupCommand':_0x297b10,'recovered':![]});return creationSuccess(_0x30e9dc,_0x165afe['snapshot'],_0x165afe[_0x59eab8(0x1ba)],![]);}};function validateAddInput(_0x43dba9){const _0x3abf00=a112_0x128637;if(!_0x43dba9[_0x3abf00(0x21c)](_0x3abf00(0x22d))['trim']())throw CliErrors[_0x3abf00(0x1e0)](_0x3abf00(0x22d));resolveExternalMenuType(_0x43dba9),validateExternalMenuUrl(_0x43dba9[_0x3abf00(0x21c)]('url')),parseParentId(_0x43dba9,_0x3abf00(0x234)),validateSort(_0x43dba9);}function resolveExternalMenuType(_0x185d63){const _0x5a5d14=a112_0x128637,_0x4fece8=_0x185d63[_0x5a5d14(0x21c)](_0x5a5d14(0x20a))[_0x5a5d14(0x1f8)]();if(!_0x4fece8)throw CliErrors[_0x5a5d14(0x1e0)](_0x5a5d14(0x20a));const _0x424150=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x4fece8];if(!_0x424150)throw menuError(_0x5a5d14(0x1e7),_0x5a5d14(0x1ee),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x424150;}async function buildAddPlan(_0x36b3a6,_0x273e7d){const _0x14d5bd=a112_0x128637,_0x21386f=await fetchMutationSnapshot(_0x36b3a6,_0x14d5bd(0x1ce)),_0x2934ec=parseParentId(_0x36b3a6,'parent-id')??null;if(_0x2934ec!=null)requireFolder(_0x21386f,_0x2934ec);const _0x1cbed0=validateSort(_0x36b3a6),_0x47c9d4=_0x1cbed0??nextSiblingSort(_0x21386f,_0x2934ec,_0x14d5bd(0x226)),_0x160384=_0x36b3a6['str'](_0x14d5bd(0x22d))[_0x14d5bd(0x1f8)](),_0x4f7436=resolveExternalMenuType(_0x36b3a6),_0x4796f2=validateExternalMenuUrl(_0x36b3a6[_0x14d5bd(0x21c)](_0x14d5bd(0x1c9))),_0x23f542=Object[_0x14d5bd(0x1b1)][_0x14d5bd(0x1b3)][_0x14d5bd(0x20d)](_0x36b3a6[_0x14d5bd(0x1cf)],'visible')?_0x36b3a6['bool'](_0x14d5bd(0x1fe)):!![],_0x10cc54={'id':null,'parentId':_0x2934ec,'label':_0x160384,'path':_0x14d5bd(0x1f1),'url':_0x4796f2,'type':_0x4f7436,'visible':_0x23f542,'sort':_0x47c9d4},_0x1d2a08=buildMenuLookupCommand(_0x36b3a6[_0x14d5bd(0x230)]),_0x548f8a=mutationResult({'operation':'add','selector':{'parentId':_0x2934ec,'type':_0x4f7436,'label':_0x160384,'url':_0x4796f2},'before':null,'after':_0x10cc54,'dryRun':_0x273e7d,'backend':[{'method':_0x14d5bd(0x211),'path':_0x14d5bd(0x21b)}],'plannedActions':[{'stage':'create-menu','method':_0x14d5bd(0x211),'path':'/smartapi/menu/create','body':createBody(_0x10cc54)}],'snapshotHash':_0x21386f[_0x14d5bd(0x22e)],'warnings':[_0x14d5bd(0x203)],'verification':{'lookupCommand':_0x1d2a08}});return{'plan':_0x548f8a,'snapshot':_0x21386f};}function a112_0x133c(){const _0x255d42=['code','visibility','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','fact','entries','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','1014wqFgEk','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','has','4sMLeNo','isSafeInteger','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','get','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Run\x20','plan','verification','url','succeeded','Whether\x20the\x20menu\x20is\x20visible','protocol','iframe','create\x20external\x20menu','rawFlags','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu_url_credentials_forbidden','48153WgkNYQ','createdId','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','afterPlan','Recovered\x20menu\x20','Create\x20an\x20external\x20website\x20link\x20menu','4881656skcZJk','write','Menu\x20','menu_mutation_failed','new-window','https:','menu_permission_denied','flagMissing','14967140bBQtRF','menu_parent_not_folder','\x20has\x20an\x20unexpected\x20','Would\x20create\x20external\x20website\x20link\x20menu\x20','rawerror','menus','menu_open_mode_invalid','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20failed\x20final\x20verification.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','164HGdhAN','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','menu_verification_failed','isArray','<platform-generated>','includes','pre-write-recheck','external-link-create','type','225367QYSetC','path','trim','create-response-validation','rabetbase\x20menu\x20list\x20--appcode\x20','parent','expectedSnapshotHash','menu_sort_overflow','visible','toLowerCase','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','map','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','menu_not_found','lookupCommand','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Menu\x20label','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','\x27\x5c\x27\x27','open-mode','after','448290bvTFuU','call','\x20has\x20an\x20unexpected\x20generated\x20path.','create-recovery','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','POST','menu_create_recovery_required','Recovered\x20created\x20external\x20menu\x20','fromEntries','Created\x20external\x20menu\x20','Provide\x20an\x20HTTPS\x20URL.','object','sort','parentId','before','/smartapi/menu/create','str','failed','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','link','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','menu_create_response_invalid','password','length','External\x20HTTPS\x20URL','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menu','901310NCTchB','Created\x20menu\x20','data','selector','causemessage','External\x20menu\x20creation\x20failed.','label','hash','cookie','appCode','expectedPath','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','How\x20to\x20open\x20the\x20external\x20website','parent-id','menu_url_https_required','menu\x20list','currentSnapshotHash','\x20could\x20not\x20be\x20verified.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','filter','string','embedded','replace','prototype','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','hasOwnProperty','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','48513uLwgjF'];a112_0x133c=function(){return _0x255d42;};return a112_0x133c();}async function buildSafeAddPlan(_0x2ef2f1,_0x3ba9a0){try{return await buildAddPlan(_0x2ef2f1,_0x3ba9a0);}catch(_0x38a412){throw safeMenuAddError(_0x38a412);}}async function recheckAddSnapshot(_0x57bea1,_0x51f90a){const _0x1524d4=a112_0x128637;try{await recheckMutationSnapshot(_0x57bea1,_0x51f90a,_0x1524d4(0x1ce));}catch(_0x416c26){const _0x49c788=getFailureRecord(_0x416c26);throw externalLinkCreateFailure(_0x416c26,_0x51f90a,{'stage':_0x1524d4(0x1f3),'failed':{..._0x49c788?.[_0x1524d4(0x1fc)]?{'expectedSnapshotHash':_0x49c788[_0x1524d4(0x1fc)]}:{},..._0x49c788?.[_0x1524d4(0x1a9)]?{'currentSnapshotHash':_0x49c788['currentSnapshotHash']}:{}}});}}function createBody(_0x2d2a04){const _0x3980ee=a112_0x128637;return{'parentId':toApiParentId(_0x2d2a04[_0x3980ee(0x219)]),'label':String(_0x2d2a04[_0x3980ee(0x22d)]),'type':String(_0x2d2a04[_0x3980ee(0x1f5)]),'url':String(_0x2d2a04[_0x3980ee(0x1c9)]),'visible':Boolean(_0x2d2a04['visible']),'sort':Number(_0x2d2a04['sort']),'extend':{}};}function buildMenuLookupCommand(_0x4dbf30){const _0x3e84f6=a112_0x128637,_0x4e0c14='\x27'+_0x4dbf30[_0x3e84f6(0x1b0)](/'/g,_0x3e84f6(0x209))+'\x27';return _0x3e84f6(0x1fa)+_0x4e0c14+'\x20--format\x20compress';}async function recoverAfterResponseLoss(_0x2b9793,_0x426637,_0x7b4e32){const _0x2410cc=a112_0x128637,{plan:_0x103722,snapshot:_0x496947}=_0x426637,_0x3cf914=_0x103722['after'];let _0x51d10d;try{_0x51d10d=await fetchMenuSnapshot(_0x2b9793[_0x2410cc(0x230)],_0x2b9793[_0x2410cc(0x22f)]);}catch(_0x2c029b){throw recoveryRequiredFailure(_0x103722,_0x7b4e32,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x505be5=_0x51d10d[_0x2410cc(0x1e6)][_0x2410cc(0x1ad)](_0x411128=>_0x411128[_0x2410cc(0x219)]===_0x3cf914[_0x2410cc(0x219)]&&_0x411128['type']===_0x3cf914['type']&&_0x411128[_0x2410cc(0x22d)]===_0x3cf914[_0x2410cc(0x22d)]&&_0x411128[_0x2410cc(0x1c9)]===_0x3cf914[_0x2410cc(0x1c9)]),_0x2d8dad=_0x505be5['filter'](_0x392717=>!_0x496947['byId']['has'](_0x392717['id'])),_0x2cddd2=_0x505be5['filter'](_0x46679f=>_0x496947['byId'][_0x2410cc(0x1c0)](_0x46679f['id']));if(_0x505be5[_0x2410cc(0x223)]!==0x1||_0x2d8dad[_0x2410cc(0x223)]!==0x1)throw recoveryRequiredFailure(_0x103722,_0x7b4e32,{'matchCount':_0x505be5[_0x2410cc(0x223)],'newMatchCount':_0x2d8dad['length'],'preexistingMatchCount':_0x2cddd2[_0x2410cc(0x223)]});const _0x358427=_0x2d8dad[0x0];try{verifyCreatedFact(_0x358427,_0x358427['id'],_0x3cf914,null);}catch(_0x208b91){const _0x4307d8=_0x208b91 instanceof Error&&_0x2410cc(0x1b6)in _0x208b91?_0x208b91:menuError('menu_verification_failed',_0x2410cc(0x1d7)+_0x358427['id']+_0x2410cc(0x1aa),_0x2410cc(0x1c6)+_0x7b4e32+_0x2410cc(0x1ea));throw externalLinkCreateFailure(_0x4307d8,_0x103722,{'stage':'verification','succeeded':[{'id':_0x358427['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x358427['id'],'finalFactsConfirmed':![]},'after':_0x358427,'warnings':[_0x2410cc(0x1db)+_0x358427['id']+_0x2410cc(0x1be)],'verification':{'status':_0x2410cc(0x21d),'targetId':_0x358427['id'],'recovered':!![],'lookupCommand':_0x7b4e32}});}return creationSuccess(_0x103722,_0x51d10d,_0x358427,!![]);}function recoveryRequiredFailure(_0x4506e7,_0x34c77d,_0x40a214){const _0x53f477=a112_0x128637,_0x22fa7e=menuError('menu_create_recovery_required',_0x53f477(0x1b9),_0x53f477(0x1c6)+_0x34c77d+_0x53f477(0x208));return externalLinkCreateFailure(_0x22fa7e,_0x4506e7,{'stage':_0x53f477(0x20f),'failed':_0x40a214,'warnings':[_0x53f477(0x1d0)],'verification':{'status':_0x53f477(0x21d),..._0x40a214,'lookupCommand':_0x34c77d}});}async function readAndVerifyCreatedMenu(_0x4c04ec){const _0x9d658=a112_0x128637;let _0x492b00;try{_0x492b00=await fetchMenuSnapshot(_0x4c04ec['appCode'],_0x4c04ec[_0x9d658(0x22f)]);}catch(_0xb74dfa){const _0x2832c2=menuError(_0x9d658(0x1ef),_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+_0x9d658(0x220),_0x9d658(0x1c6)+_0x4c04ec[_0x9d658(0x205)]+_0x9d658(0x1ac));throw externalLinkCreateFailure(_0x2832c2,_0x4c04ec['plan'],{'stage':_0x9d658(0x1c8),'succeeded':[{'id':_0x4c04ec[_0x9d658(0x1d3)],'created':!![]}],'failed':{'id':_0x4c04ec[_0x9d658(0x1d3)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4c04ec[_0x9d658(0x1d6)],'id':_0x4c04ec[_0x9d658(0x1d3)],'path':_0x4c04ec['expectedPath']},'warnings':[_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+_0x9d658(0x1e8)],'verification':{'status':'failed','targetId':_0x4c04ec['createdId'],'lookupCommand':_0x4c04ec[_0x9d658(0x205)]}});}const _0x1d099e=_0x492b00['byId'][_0x9d658(0x1c4)](_0x4c04ec[_0x9d658(0x1d3)]);try{if(!_0x1d099e)throw menuError('menu_verification_failed',_0x9d658(0x228)+_0x4c04ec[_0x9d658(0x1d3)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Run\x20'+_0x4c04ec[_0x9d658(0x205)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x1d099e,_0x4c04ec[_0x9d658(0x1d3)],_0x4c04ec[_0x9d658(0x1d6)],_0x4c04ec['expectedPath']);}catch(_0x45fda6){const _0x1ecc3c=_0x45fda6 instanceof Error&&'code'in _0x45fda6?_0x45fda6:menuError(_0x9d658(0x1ef),_0x9d658(0x228)+_0x4c04ec['createdId']+_0x9d658(0x1eb),_0x9d658(0x1c6)+_0x4c04ec['lookupCommand']+_0x9d658(0x1ac));throw externalLinkCreateFailure(_0x1ecc3c,_0x4c04ec[_0x9d658(0x1c7)],{'stage':_0x9d658(0x1c8),'succeeded':[{'id':_0x4c04ec[_0x9d658(0x1d3)],'created':!![]}],'failed':{'id':_0x4c04ec[_0x9d658(0x1d3)],'finalFactsConfirmed':![]},'after':_0x1d099e??{..._0x4c04ec['afterPlan'],'id':_0x4c04ec[_0x9d658(0x1d3)],'path':_0x4c04ec[_0x9d658(0x231)]},'warnings':[_0x9d658(0x1db)+_0x4c04ec[_0x9d658(0x1d3)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x9d658(0x21d),'targetId':_0x4c04ec[_0x9d658(0x1d3)],'recovered':_0x4c04ec['recovered'],'lookupCommand':_0x4c04ec[_0x9d658(0x205)]}});}return{'snapshot':_0x492b00,'fact':_0x1d099e};}function verifyCreatedFact(_0x59cf31,_0x1105b7,_0x1079ca,_0x2eee3b){const _0x44e2ba=a112_0x128637;if(!Number[_0x44e2ba(0x1c2)](_0x59cf31['id'])||_0x59cf31['id']<=0x0||_0x59cf31['id']!==_0x1105b7)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x200),_0x44e2ba(0x1bc));const _0x220f4c=[[_0x44e2ba(0x1fb),_0x59cf31[_0x44e2ba(0x219)],_0x1079ca[_0x44e2ba(0x219)]],['type',_0x59cf31[_0x44e2ba(0x1f5)],_0x1079ca[_0x44e2ba(0x1f5)]],['label',_0x59cf31[_0x44e2ba(0x22d)],_0x1079ca[_0x44e2ba(0x22d)]],['URL',_0x59cf31[_0x44e2ba(0x1c9)],_0x1079ca[_0x44e2ba(0x1c9)]],[_0x44e2ba(0x1b7),_0x59cf31[_0x44e2ba(0x1fe)],_0x1079ca[_0x44e2ba(0x1fe)]],[_0x44e2ba(0x218),_0x59cf31['sort'],_0x1079ca[_0x44e2ba(0x218)]]];for(const [_0x2dd0fc,_0x4349b2,_0x2ee48a]of _0x220f4c){if(_0x4349b2!==_0x2ee48a)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x228)+_0x59cf31['id']+_0x44e2ba(0x1e3)+_0x2dd0fc+'.',_0x44e2ba(0x225));}if(!_0x59cf31[_0x44e2ba(0x1f7)]['trim']()||_0x2eee3b!==null&&_0x59cf31[_0x44e2ba(0x1f7)]!==_0x2eee3b)throw menuError(_0x44e2ba(0x1ef),_0x44e2ba(0x228)+_0x59cf31['id']+_0x44e2ba(0x20e),_0x44e2ba(0x225));}function creationSuccess(_0x50f82e,_0xc1c791,_0x246d8c,_0x25581c){const _0x463413=a112_0x128637,_0x1f6fac=mutationResult({..._0x50f82e,'after':_0x246d8c,'dryRun':![],'succeeded':[{'id':_0x246d8c['id'],'created':!![],'recovered':_0x25581c}],'verification':{'checkedBy':_0x463413(0x236),'snapshotHash':_0xc1c791[_0x463413(0x22e)],'targetId':_0x246d8c['id'],'recovered':_0x25581c,'path':_0x246d8c[_0x463413(0x1f7)]}});return{'ok':!![],'message':_0x25581c?_0x463413(0x213)+_0x246d8c['id']+'\x20after\x20response\x20loss.':_0x463413(0x215)+_0x246d8c['id']+'.','data':{..._0x1f6fac,'recovered':_0x25581c}};}function externalLinkCreateFailure(_0x22548c,_0xaed5cb,_0x29a95c){const _0x33ce5a=a112_0x128637;return menuFailure(safeMenuAddError(_0x22548c),redactFailurePlan(_0xaed5cb),{..._0x29a95c,'succeeded':_0x29a95c[_0x33ce5a(0x1ca)]?.[_0x33ce5a(0x202)](redactFailureRecord),'failed':_0x29a95c['failed']?redactFailureRecord(_0x29a95c[_0x33ce5a(0x21d)]):undefined,'verification':_0x29a95c[_0x33ce5a(0x1c8)]?redactFailureRecord(_0x29a95c[_0x33ce5a(0x1c8)]):undefined,'after':_0x29a95c[_0x33ce5a(0x20b)]===undefined?undefined:redactFailureValue(_0x29a95c[_0x33ce5a(0x20b)])});}function redactFailurePlan(_0x21854f){const _0x3e628c=a112_0x128637;return{..._0x21854f,'selector':redactFailureRecord(_0x21854f[_0x3e628c(0x22a)]),'before':redactFailureValue(_0x21854f[_0x3e628c(0x21a)]),'after':redactFailureValue(_0x21854f['after']),'plannedActions':_0x21854f['plannedActions']?.[_0x3e628c(0x202)](_0x173c6c=>({..._0x173c6c,'body':redactFailureRecord(_0x173c6c['body'])})),'succeeded':_0x21854f['succeeded']['map'](redactFailureRecord),'failed':_0x21854f['failed'][_0x3e628c(0x202)](redactFailureRecord),'verification':_0x21854f['verification']?redactFailureRecord(_0x21854f[_0x3e628c(0x1c8)]):undefined};}function redactFailureRecord(_0x3d1607){return redactFailureValue(_0x3d1607);}function redactFailureValue(_0x1b72d7,_0x405224=''){const _0x25c94b=a112_0x128637,_0x2f0440=_0x405224[_0x25c94b(0x1ff)]()[_0x25c94b(0x1b0)](/[^a-z0-9]/g,'');if(['cause',_0x25c94b(0x22b),'readbackerror',_0x25c94b(0x1e5)][_0x25c94b(0x1f2)](_0x2f0440))return'<redacted>';if(Array['isArray'](_0x1b72d7))return _0x1b72d7[_0x25c94b(0x202)](_0x2f6ece=>redactFailureValue(_0x2f6ece));if(_0x1b72d7&&typeof _0x1b72d7===_0x25c94b(0x217))return Object[_0x25c94b(0x214)](Object[_0x25c94b(0x1bb)](_0x1b72d7)[_0x25c94b(0x202)](([_0x2320e5,_0x544557])=>[_0x2320e5,redactFailureValue(_0x544557,_0x2320e5)]));return _0x1b72d7;}function safeMenuAddError(_0x48fffc){const _0x2bdbf2=a112_0x128637,_0x557dc4=_0x48fffc instanceof CliError?_0x48fffc[_0x2bdbf2(0x1b6)]:'menu_mutation_failed';switch(_0x557dc4){case'menu_state_drift':return menuError(_0x557dc4,_0x2bdbf2(0x1ec),_0x2bdbf2(0x1b4));case _0x2bdbf2(0x1df):return menuError(_0x557dc4,_0x2bdbf2(0x1e9),_0x2bdbf2(0x1bf));case _0x2bdbf2(0x221):return menuError(_0x557dc4,_0x2bdbf2(0x1d5),_0x2bdbf2(0x232));case _0x2bdbf2(0x1ef):return menuError(_0x557dc4,_0x2bdbf2(0x1c3),_0x2bdbf2(0x232));case _0x2bdbf2(0x212):return menuError(_0x557dc4,_0x2bdbf2(0x210),_0x2bdbf2(0x1b8));case _0x2bdbf2(0x1dc):case _0x2bdbf2(0x204):case _0x2bdbf2(0x1e2):case'menu_sort_invalid':case _0x2bdbf2(0x1fd):return menuError(_0x557dc4,_0x2bdbf2(0x22c),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');default:return menuError(_0x2bdbf2(0x1dc),_0x2bdbf2(0x22c),_0x2bdbf2(0x206));}}function getFailureRecord(_0x24a4e3){const _0xfb7551=a112_0x128637;if(!(_0x24a4e3 instanceof Error)||!(_0xfb7551(0x229)in _0x24a4e3))return undefined;const _0x158051=_0x24a4e3[_0xfb7551(0x229)];if(!_0x158051||typeof _0x158051!==_0xfb7551(0x217))return undefined;const _0x3549da=_0x158051[_0xfb7551(0x21d)];if(!Array[_0xfb7551(0x1f0)](_0x3549da)||!_0x3549da[0x0]||typeof _0x3549da[0x0]!==_0xfb7551(0x217))return undefined;return _0x3549da[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0x877a16=a112_0x11dd;(function(_0x3c1db9,_0x237086){const _0x2fcd28=a112_0x11dd,_0x239f0f=_0x3c1db9();while(!![]){try{const _0x1dd9ad=-parseInt(_0x2fcd28(0x8c))/0x1*(-parseInt(_0x2fcd28(0x90))/0x2)+-parseInt(_0x2fcd28(0x70))/0x3*(parseInt(_0x2fcd28(0xb2))/0x4)+-parseInt(_0x2fcd28(0xaa))/0x5*(-parseInt(_0x2fcd28(0x7f))/0x6)+parseInt(_0x2fcd28(0x6e))/0x7+-parseInt(_0x2fcd28(0x71))/0x8*(parseInt(_0x2fcd28(0x94))/0x9)+parseInt(_0x2fcd28(0x67))/0xa*(-parseInt(_0x2fcd28(0x92))/0xb)+-parseInt(_0x2fcd28(0x97))/0xc*(-parseInt(_0x2fcd28(0xa1))/0xd);if(_0x1dd9ad===_0x237086)break;else _0x239f0f['push'](_0x239f0f['shift']());}catch(_0x1f14d3){_0x239f0f['push'](_0x239f0f['shift']());}}}(a112_0x389e,0x49967));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';function a112_0x11dd(_0x306c0f,_0x4480e7){_0x306c0f=_0x306c0f-0x67;const _0x389ed5=a112_0x389e();let _0x11ddf5=_0x389ed5[_0x306c0f];return _0x11ddf5;}function a112_0x389e(){const _0x1c013c=['hash','childrenCount','\x20has\x20','13194zIBwtY','expect-parent-id','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','label','requestedUrlObserved','plan','/smartapi/menu/update','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','code','\x20direct\x20child\x20menu(s).','244oxpXNV','\x20already\x20matches\x20the\x20requested\x20URL.','POST','string','3156mAoeJR','menu_update_recovery_required','11WEmDdl','\x22,\x20not\x20iframe\x20or\x20link.','1656ZWVakV','update','\x20parent\x20changed:\x20expected\x20','145332nXbmet','visible','trim','Response\x20was\x20lost\x20and\x20menu\x20','body','appCode','New\x20external\x20HTTPS\x20URL','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','parentId','572QOUHRS','menu_external_link_type_required','verify\x20external\x20menu\x20URL\x20update','expect-url','menu\x20list','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.',',\x20current\x20','path','685buNnfY','readbackFailed','menu','failed','cookie','byId','type','Menu\x20','810916NAVHBI','verification','Run\x20','menu_state_drift','flagMissing','sort','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','str','menu_external_link_not_leaf','5613280xqeUkn','url','menu_permission_denied','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20is\x20type\x20\x22','\x20--format\x20compress','774907xIleda','after','3JTLoel','11496yalxlU','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','\x20could\x20not\x20be\x20verified\x20safely','link','update-external-link-url','menu_external_link_path_missing','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','update\x20external\x20menu\x20URL','\x20has\x20an\x20empty\x20platform\x20path.','Update\x20request\x20for\x20menu\x20'];a112_0x389e=function(){return _0x1c013c;};return a112_0x389e();}const BACKEND=[{'method':'POST','path':a112_0x877a16(0x87)}];export const menuExternalLinkUpdate={'service':a112_0x877a16(0xac),'command':a112_0x877a16(0x82),'description':a112_0x877a16(0x6b),'risk':'write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a112_0x877a16(0x68),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9d)},{'name':a112_0x877a16(0xa4),'type':a112_0x877a16(0x8f),'required':!![],'description':a112_0x877a16(0x9e)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x57a718){validateInput(_0x57a718);},async 'dryRun'(_0x1e0c67){const _0x3e16c5=a112_0x877a16;validateInput(_0x1e0c67);const _0x3d726f=await buildPlan(_0x1e0c67,!![]);return menuDryRunResult(_0x3d726f[_0x3e16c5(0x86)],{'method':_0x3e16c5(0x8e),'url':_0x3e16c5(0x87),'body':_0x3d726f['body'],'description':_0x3e16c5(0xa6)+_0x3d726f[_0x3e16c5(0x9b)]['id']+'.'});},async 'execute'(_0x466213){const _0x300a37=a112_0x877a16;validateInput(_0x466213);const _0x1a3f52=await buildPlan(_0x466213,![]),{plan:_0x31f5ff,body:_0x4bd5df,before:_0x56831a,noChanges:_0x214ad1}=_0x1a3f52,_0x5273c3=_0x4bd5df['id'];if(_0x214ad1)return updateSuccess(_0x31f5ff,_0x1a3f52['snapshot'],_0x56831a,!![],![]);await recheckMutationSnapshot(_0x466213,_0x31f5ff,_0x300a37(0x79),_0x5273c3);try{await updateMenuEntity(_0x466213[_0x300a37(0x9c)],_0x466213[_0x300a37(0xae)],{'id':_0x4bd5df['id'],'url':_0x4bd5df[_0x300a37(0x68)]});}catch(_0x9932e3){const _0x25c3d6=mapMenuApiError(_0x9932e3,'update\x20external\x20menu\x20URL',_0x5273c3);if(isMenuResponseLoss(_0x9932e3)&&_0x25c3d6[_0x300a37(0x8a)]!==_0x300a37(0x69))return recoverAfterResponseLoss(_0x466213,_0x1a3f52);throw menuFailure(_0x25c3d6,_0x31f5ff,{'stage':_0x300a37(0x95),'failed':{'id':_0x5273c3},'warnings':[_0x300a37(0x88)],'verification':{'status':'failed','targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}let _0xdc3678,_0x1d6db5;try{_0xdc3678=await fetchMenuSnapshot(_0x466213['appCode'],_0x466213[_0x300a37(0xae)]),_0x1d6db5=requireMenu(_0xdc3678,_0x5273c3),verifyUpdatedFact(_0x56831a,_0x1d6db5,_0x4bd5df[_0x300a37(0x68)]);}catch(_0xd8893c){const _0x30fc15=describeMenuErrorCause(_0xd8893c,_0x300a37(0xa3),_0x5273c3),_0x23f79e=asVerificationError(_0xd8893c,_0x300a37(0x7b)+_0x5273c3+_0x300a37(0x73));throw menuFailure(_0x23f79e,_0x31f5ff,{'stage':_0x300a37(0xb3),'succeeded':[{'id':_0x5273c3,'updateRequested':!![]}],'failed':{'id':_0x5273c3,'requestedStateConfirmed':![],..._0x30fc15},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x300a37(0xad),'targetId':_0x5273c3,'lookupCommand':buildLookupCommand(_0x466213[_0x300a37(0x9c)])}});}return updateSuccess(_0x31f5ff,_0xdc3678,_0x1d6db5,![],![]);}};function validateInput(_0x159997){const _0x10e67f=a112_0x877a16;validateExactId(_0x159997),requiredUrl(_0x159997,'url'),requiredExpectedUrl(_0x159997),parseParentId(_0x159997,_0x10e67f(0x80),{'required':!![]});}function requiredUrl(_0x5e1d87,_0x5e2475){const _0x3467da=a112_0x877a16;if(!hasFlag(_0x5e1d87,_0x5e2475)||!_0x5e1d87[_0x3467da(0xba)](_0x5e2475)[_0x3467da(0x99)]())throw CliErrors[_0x3467da(0xb6)](_0x5e2475);return validateExternalMenuUrl(_0x5e1d87[_0x3467da(0xba)](_0x5e2475));}function requiredExpectedUrl(_0x4be270){const _0xf50ea7=a112_0x877a16;if(!hasFlag(_0x4be270,_0xf50ea7(0xa4))||!_0x4be270[_0xf50ea7(0xba)](_0xf50ea7(0xa4))[_0xf50ea7(0x99)]())throw CliErrors[_0xf50ea7(0xb6)](_0xf50ea7(0xa4));return _0x4be270['str'](_0xf50ea7(0xa4))['trim']();}async function buildPlan(_0x1c3625,_0x32b0b5){const _0x29a19c=a112_0x877a16,_0x1b0a89=validateExactId(_0x1c3625),_0x2c229c=requiredUrl(_0x1c3625,'url'),_0x24b6d5=requiredExpectedUrl(_0x1c3625),_0x11d217=parseParentId(_0x1c3625,'expect-parent-id',{'required':!![]}),_0x487c01=await fetchMutationSnapshot(_0x1c3625,_0x29a19c(0x79),_0x1b0a89),_0x2da45d=requireMenu(_0x487c01,_0x1b0a89);assertExternalLinkLeaf(_0x2da45d);if(_0x2da45d[_0x29a19c(0xa0)]!==_0x11d217)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x96)+formatParent(_0x11d217)+_0x29a19c(0xa8)+formatParent(_0x2da45d[_0x29a19c(0xa0)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x1d2ee4=_0x2da45d[_0x29a19c(0x68)]===_0x2c229c;if(!_0x1d2ee4&&_0x2da45d['url']!==_0x24b6d5)throw menuError(_0x29a19c(0xb5),_0x29a19c(0xb1)+_0x1b0a89+_0x29a19c(0x89),'Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.');const _0x284c54={'id':_0x1b0a89,'appCode':_0x1c3625[_0x29a19c(0x9c)],'url':_0x2c229c},_0x40be34={..._0x2da45d,'url':_0x2c229c};return{'body':_0x284c54,'before':_0x2da45d,'noChanges':_0x1d2ee4,'snapshot':_0x487c01,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x1b0a89},'before':_0x2da45d,'after':_0x40be34,'dryRun':_0x32b0b5,'backend':[...BACKEND],'plannedActions':_0x1d2ee4?[]:[{'stage':_0x29a19c(0x76),'method':_0x29a19c(0x8e),'path':_0x29a19c(0x87),'body':_0x284c54}],'snapshotHash':_0x487c01[_0x29a19c(0x7c)],'warnings':_0x1d2ee4?[_0x29a19c(0xb9)]:[]})};}function assertExternalLinkLeaf(_0x28c5df){const _0x5cd8fd=a112_0x877a16;if(_0x28c5df[_0x5cd8fd(0xb0)]!==_0x5cd8fd(0x9f)&&_0x28c5df['type']!==_0x5cd8fd(0x75))throw menuError(_0x5cd8fd(0xa2),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x6c)+(_0x28c5df['type']||'unknown')+_0x5cd8fd(0x93),_0x5cd8fd(0x81));if(_0x28c5df['childrenCount']!==0x0)throw menuError(_0x5cd8fd(0xbb),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7e)+_0x28c5df[_0x5cd8fd(0x7d)]+_0x5cd8fd(0x8b),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x28c5df['path']['trim']())throw menuError(_0x5cd8fd(0x77),_0x5cd8fd(0xb1)+_0x28c5df['id']+_0x5cd8fd(0x7a),_0x5cd8fd(0x72));}function verifyUpdatedFact(_0x903266,_0x5a13bb,_0x1674ce){const _0x3bb945=a112_0x877a16;assertExternalLinkLeaf(_0x5a13bb);const _0x4e35de=[['id',_0x5a13bb['id'],_0x903266['id']],['label',_0x5a13bb[_0x3bb945(0x84)],_0x903266[_0x3bb945(0x84)]],[_0x3bb945(0xb0),_0x5a13bb[_0x3bb945(0xb0)],_0x903266[_0x3bb945(0xb0)]],[_0x3bb945(0xa9),_0x5a13bb['path'],_0x903266[_0x3bb945(0xa9)]],[_0x3bb945(0xa0),_0x5a13bb[_0x3bb945(0xa0)],_0x903266[_0x3bb945(0xa0)]],[_0x3bb945(0xb7),_0x5a13bb['sort'],_0x903266[_0x3bb945(0xb7)]],[_0x3bb945(0x98),_0x5a13bb[_0x3bb945(0x98)],_0x903266[_0x3bb945(0x98)]]];for(const [_0x198d3a,_0xa5745b,_0xb88e65]of _0x4e35de){assertVerified(_0xa5745b===_0xb88e65,_0x3bb945(0xb1)+_0x903266['id']+'\x20'+_0x198d3a+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0x5a13bb[_0x3bb945(0x68)]===_0x1674ce,_0x3bb945(0xb1)+_0x903266['id']+_0x3bb945(0x6a));}function updateSuccess(_0x209139,_0x532a5,_0x402bc1,_0x3da688,_0x4fa27b){const _0x4c7ee5=a112_0x877a16,_0x119f1e=_0x402bc1['id'],_0x5ab119=mutationResult({..._0x209139,'after':_0x402bc1,'dryRun':![],'succeeded':[{'id':_0x119f1e,'updated':!_0x3da688,'skipped':_0x3da688,'recovered':_0x4fa27b}],'verification':{'checkedBy':_0x4c7ee5(0xa5),'snapshotHash':_0x532a5['hash'],'targetId':_0x119f1e,'matchesRequestedState':!![],'recovered':_0x4fa27b}});return{'ok':!![],'message':_0x4fa27b?_0x4c7ee5(0xb8)+_0x119f1e+'.':_0x3da688?'Menu\x20'+_0x119f1e+_0x4c7ee5(0x8d):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0x119f1e+'.','data':{..._0x5ab119,'recovered':_0x4fa27b}};}async function recoverAfterResponseLoss(_0x4fa5e2,_0x10a8ef){const _0x30e2e8=a112_0x877a16,{plan:_0x383e16,before:_0x1f3245,body:_0x3e3a15}=_0x10a8ef;let _0x361396;try{_0x361396=await fetchMenuSnapshot(_0x4fa5e2[_0x30e2e8(0x9c)],_0x4fa5e2[_0x30e2e8(0xae)]);}catch{throw recoveryRequired(_0x383e16,_0x4fa5e2[_0x30e2e8(0x9c)],{'id':_0x3e3a15['id'],'readbackFailed':!![]});}const _0x4ee2c1=_0x361396[_0x30e2e8(0xaf)]['get'](_0x3e3a15['id']);if(!_0x4ee2c1||_0x4ee2c1[_0x30e2e8(0x68)]!==_0x3e3a15[_0x30e2e8(0x68)])throw recoveryRequired(_0x383e16,_0x4fa5e2['appCode'],{'id':_0x3e3a15['id'],'requestedUrlObserved':![],'after':_0x4ee2c1??null});try{verifyUpdatedFact(_0x1f3245,_0x4ee2c1,_0x3e3a15[_0x30e2e8(0x68)]);}catch(_0x2bd531){const _0x33fc8b=asVerificationError(_0x2bd531,_0x30e2e8(0x9a)+_0x3e3a15['id']+_0x30e2e8(0x74));throw menuFailure(_0x33fc8b,_0x383e16,{'stage':'update-recovery','succeeded':[{'id':_0x3e3a15['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4ee2c1,'warnings':[_0x30e2e8(0x78)],'verification':{'status':_0x30e2e8(0xad),'targetId':_0x3e3a15['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x4fa5e2[_0x30e2e8(0x9c)])}});}return updateSuccess(_0x383e16,_0x361396,_0x4ee2c1,![],!![]);}function recoveryRequired(_0xa09ae6,_0x3a2c2c,_0x505c5a){const _0x1175f7=a112_0x877a16,_0x5ba61f=menuError(_0x1175f7(0x91),_0x1175f7(0x83),_0x1175f7(0xb4)+buildLookupCommand(_0x3a2c2c)+_0x1175f7(0xa7));return menuFailure(_0x5ba61f,_0xa09ae6,{'stage':'update-recovery','failed':{'id':_0x505c5a['id'],..._0x505c5a['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x505c5a[_0x1175f7(0x85)]},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{}},'after':_0x505c5a[_0x1175f7(0x6f)],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0x1175f7(0xad),'targetId':_0x505c5a['id'],..._0x505c5a[_0x1175f7(0x85)]===undefined?{}:{'requestedUrlObserved':_0x505c5a['requestedUrlObserved']},..._0x505c5a[_0x1175f7(0xab)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x3a2c2c)}});}function buildLookupCommand(_0x614c56){const _0x4882ef=a112_0x877a16,_0xe14485='\x27'+_0x614c56['replace'](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0xe14485+_0x4882ef(0x6d);}
|
|
1
|
+
const a113_0x42a84f=a113_0x9e5e;(function(_0x258644,_0x59c4dc){const _0x54d91b=a113_0x9e5e,_0x57118d=_0x258644();while(!![]){try{const _0x1b2624=-parseInt(_0x54d91b(0x1bb))/0x1+parseInt(_0x54d91b(0x1c1))/0x2*(parseInt(_0x54d91b(0x1c3))/0x3)+parseInt(_0x54d91b(0x1d5))/0x4+-parseInt(_0x54d91b(0x19c))/0x5*(parseInt(_0x54d91b(0x1a2))/0x6)+-parseInt(_0x54d91b(0x1e0))/0x7*(parseInt(_0x54d91b(0x1ad))/0x8)+-parseInt(_0x54d91b(0x1d8))/0x9*(parseInt(_0x54d91b(0x1cb))/0xa)+parseInt(_0x54d91b(0x1d7))/0xb;if(_0x1b2624===_0x59c4dc)break;else _0x57118d['push'](_0x57118d['shift']());}catch(_0x41d58b){_0x57118d['push'](_0x57118d['shift']());}}}(a113_0x508c,0xc485b));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':a113_0x42a84f(0x1c0),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a113_0x42a84f(0x1b5),'command':a113_0x42a84f(0x1c7),'description':a113_0x42a84f(0x1ce),'risk':a113_0x42a84f(0x1a6),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a113_0x42a84f(0x19b),'type':a113_0x42a84f(0x1df),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a113_0x42a84f(0x1d1),'type':a113_0x42a84f(0x1df),'required':!![],'description':a113_0x42a84f(0x1cf)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x331186){validateInput(_0x331186);},async 'dryRun'(_0x12e902){const _0x3349b4=a113_0x42a84f;validateInput(_0x12e902);const _0x17028b=await buildPlan(_0x12e902,!![]);return menuDryRunResult(_0x17028b[_0x3349b4(0x19f)],{'method':_0x3349b4(0x1c0),'url':_0x3349b4(0x1c9),'body':_0x17028b['body'],'description':_0x3349b4(0x1a9)+_0x17028b[_0x3349b4(0x1b1)]['id']+'.'});},async 'execute'(_0x318ca0){const _0x22e868=a113_0x42a84f;validateInput(_0x318ca0);const _0x19e9a3=await buildPlan(_0x318ca0,![]),{plan:_0x496a29,body:_0x2493f1,before:_0xdba725,noChanges:_0x550395}=_0x19e9a3,_0x285ff6=_0x2493f1['id'];if(_0x550395)return updateSuccess(_0x496a29,_0x19e9a3[_0x22e868(0x1d9)],_0xdba725,!![],![]);await recheckMutationSnapshot(_0x318ca0,_0x496a29,'update\x20external\x20menu\x20URL',_0x285ff6);try{await updateMenuEntity(_0x318ca0['appCode'],_0x318ca0[_0x22e868(0x1c8)],{'id':_0x2493f1['id'],'url':_0x2493f1['url']});}catch(_0x561788){const _0x4670a0=mapMenuApiError(_0x561788,'update\x20external\x20menu\x20URL',_0x285ff6);if(isMenuResponseLoss(_0x561788)&&_0x4670a0['code']!==_0x22e868(0x1e2))return recoverAfterResponseLoss(_0x318ca0,_0x19e9a3);throw menuFailure(_0x4670a0,_0x496a29,{'stage':_0x22e868(0x1d6),'failed':{'id':_0x285ff6},'warnings':['The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x22e868(0x1b8),'targetId':_0x285ff6,'lookupCommand':buildLookupCommand(_0x318ca0['appCode'])}});}let _0x4667a7,_0x201fda;try{_0x4667a7=await fetchMenuSnapshot(_0x318ca0[_0x22e868(0x1a5)],_0x318ca0[_0x22e868(0x1c8)]),_0x201fda=requireMenu(_0x4667a7,_0x285ff6),verifyUpdatedFact(_0xdba725,_0x201fda,_0x2493f1[_0x22e868(0x19b)]);}catch(_0x1100f5){const _0x3d1284=describeMenuErrorCause(_0x1100f5,'verify\x20external\x20menu\x20URL\x20update',_0x285ff6),_0x26c054=asVerificationError(_0x1100f5,'Update\x20request\x20for\x20menu\x20'+_0x285ff6+_0x22e868(0x1d0));throw menuFailure(_0x26c054,_0x496a29,{'stage':_0x22e868(0x1b4),'succeeded':[{'id':_0x285ff6,'updateRequested':!![]}],'failed':{'id':_0x285ff6,'requestedStateConfirmed':![],..._0x3d1284},'warnings':[_0x22e868(0x1da)],'verification':{'status':_0x22e868(0x1b8),'targetId':_0x285ff6,'lookupCommand':buildLookupCommand(_0x318ca0[_0x22e868(0x1a5)])}});}return updateSuccess(_0x496a29,_0x4667a7,_0x201fda,![],![]);}};function validateInput(_0x204904){const _0x3a34d6=a113_0x42a84f;validateExactId(_0x204904),requiredUrl(_0x204904,_0x3a34d6(0x19b)),requiredExpectedUrl(_0x204904),parseParentId(_0x204904,_0x3a34d6(0x1b2),{'required':!![]});}function requiredUrl(_0x33435c,_0x3df16b){const _0x2689a1=a113_0x42a84f;if(!hasFlag(_0x33435c,_0x3df16b)||!_0x33435c[_0x2689a1(0x1bf)](_0x3df16b)[_0x2689a1(0x1ca)]())throw CliErrors[_0x2689a1(0x199)](_0x3df16b);return validateExternalMenuUrl(_0x33435c[_0x2689a1(0x1bf)](_0x3df16b));}function requiredExpectedUrl(_0x3daab9){const _0x39a9bd=a113_0x42a84f;if(!hasFlag(_0x3daab9,'expect-url')||!_0x3daab9[_0x39a9bd(0x1bf)](_0x39a9bd(0x1d1))[_0x39a9bd(0x1ca)]())throw CliErrors[_0x39a9bd(0x199)](_0x39a9bd(0x1d1));return _0x3daab9[_0x39a9bd(0x1bf)](_0x39a9bd(0x1d1))[_0x39a9bd(0x1ca)]();}async function buildPlan(_0x5bf0b9,_0x4ff208){const _0x285d5e=a113_0x42a84f,_0x265485=validateExactId(_0x5bf0b9),_0x1d2165=requiredUrl(_0x5bf0b9,_0x285d5e(0x19b)),_0x2e0bdb=requiredExpectedUrl(_0x5bf0b9),_0x4d5e0f=parseParentId(_0x5bf0b9,_0x285d5e(0x1b2),{'required':!![]}),_0x251a2d=await fetchMutationSnapshot(_0x5bf0b9,'update\x20external\x20menu\x20URL',_0x265485),_0x36beec=requireMenu(_0x251a2d,_0x265485);assertExternalLinkLeaf(_0x36beec);if(_0x36beec['parentId']!==_0x4d5e0f)throw menuError(_0x285d5e(0x1a7),'Menu\x20'+_0x265485+_0x285d5e(0x1dd)+formatParent(_0x4d5e0f)+_0x285d5e(0x1af)+formatParent(_0x36beec[_0x285d5e(0x1c4)])+'.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.');const _0x15dc0d=_0x36beec[_0x285d5e(0x19b)]===_0x1d2165;if(!_0x15dc0d&&_0x36beec['url']!==_0x2e0bdb)throw menuError('menu_state_drift',_0x285d5e(0x1ba)+_0x265485+_0x285d5e(0x1a4),_0x285d5e(0x1e1));const _0x1f3c84={'id':_0x265485,'appCode':_0x5bf0b9['appCode'],'url':_0x1d2165},_0x5a022d={..._0x36beec,'url':_0x1d2165};return{'body':_0x1f3c84,'before':_0x36beec,'noChanges':_0x15dc0d,'snapshot':_0x251a2d,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x265485},'before':_0x36beec,'after':_0x5a022d,'dryRun':_0x4ff208,'backend':[...BACKEND],'plannedActions':_0x15dc0d?[]:[{'stage':'update-external-link-url','method':_0x285d5e(0x1c0),'path':_0x285d5e(0x1c9),'body':_0x1f3c84}],'snapshotHash':_0x251a2d[_0x285d5e(0x1a3)],'warnings':_0x15dc0d?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x1f37a6){const _0x36c453=a113_0x42a84f;if(_0x1f37a6[_0x36c453(0x1be)]!=='iframe'&&_0x1f37a6['type']!=='link')throw menuError(_0x36c453(0x1ac),'Menu\x20'+_0x1f37a6['id']+_0x36c453(0x1d4)+(_0x1f37a6['type']||_0x36c453(0x1b9))+'\x22,\x20not\x20iframe\x20or\x20link.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x1f37a6['childrenCount']!==0x0)throw menuError(_0x36c453(0x1a8),'Menu\x20'+_0x1f37a6['id']+_0x36c453(0x1c2)+_0x1f37a6[_0x36c453(0x1a0)]+_0x36c453(0x19a),_0x36c453(0x1ae));if(!_0x1f37a6[_0x36c453(0x1e4)]['trim']())throw menuError('menu_external_link_path_missing',_0x36c453(0x1ba)+_0x1f37a6['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x36c453(0x1cc));}function a113_0x508c(){const _0x3360a7=['snapshot','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20--format\x20compress','visible','\x20parent\x20changed:\x20expected\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','string','5608155wVbkBq','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','menu_permission_denied','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','path','flagMissing','\x20direct\x20child\x20menu(s).','url','400CQXtLr','update-recovery','replace','plan','childrenCount','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','50166gJkcbC','hash','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','appCode','write','menu_state_drift','menu_external_link_not_leaf','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20already\x20matches\x20the\x20requested\x20URL.','sort','menu_external_link_type_required','8WkXAGm','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.',',\x20current\x20','menu_update_recovery_required','body','expect-parent-id','label','verification','menu','Updated\x20external\x20URL\x20for\x20menu\x20','readbackFailed','failed','unknown','Menu\x20','645252mNpfsU','byId','get','type','str','POST','1048658teERwb','\x20has\x20','9AtIjjD','parentId','rabetbase\x20menu\x20list\x20--appcode\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','external-link-update','cookie','/smartapi/menu/update','trim','18140XZwNXm','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','Response\x20was\x20lost\x20and\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','expect-url','requestedUrlObserved','menu\x20list','\x20is\x20type\x20\x22','4061964cFVqfz','update','19173726nhGTMu','7002IUWidM'];a113_0x508c=function(){return _0x3360a7;};return a113_0x508c();}function verifyUpdatedFact(_0x4bffea,_0xaa0f3e,_0x22dda3){const _0x4ce86b=a113_0x42a84f;assertExternalLinkLeaf(_0xaa0f3e);const _0x139239=[['id',_0xaa0f3e['id'],_0x4bffea['id']],[_0x4ce86b(0x1b3),_0xaa0f3e[_0x4ce86b(0x1b3)],_0x4bffea[_0x4ce86b(0x1b3)]],['type',_0xaa0f3e[_0x4ce86b(0x1be)],_0x4bffea[_0x4ce86b(0x1be)]],[_0x4ce86b(0x1e4),_0xaa0f3e[_0x4ce86b(0x1e4)],_0x4bffea[_0x4ce86b(0x1e4)]],['parentId',_0xaa0f3e[_0x4ce86b(0x1c4)],_0x4bffea[_0x4ce86b(0x1c4)]],[_0x4ce86b(0x1ab),_0xaa0f3e['sort'],_0x4bffea[_0x4ce86b(0x1ab)]],[_0x4ce86b(0x1dc),_0xaa0f3e[_0x4ce86b(0x1dc)],_0x4bffea[_0x4ce86b(0x1dc)]]];for(const [_0xf01616,_0x6d046,_0x3daed3]of _0x139239){assertVerified(_0x6d046===_0x3daed3,_0x4ce86b(0x1ba)+_0x4bffea['id']+'\x20'+_0xf01616+'\x20changed\x20during\x20the\x20URL-only\x20update.');}assertVerified(_0xaa0f3e[_0x4ce86b(0x19b)]===_0x22dda3,_0x4ce86b(0x1ba)+_0x4bffea['id']+_0x4ce86b(0x1de));}function updateSuccess(_0x170403,_0x5406f0,_0x4e8096,_0x208d4e,_0x1d7370){const _0x2feaf1=a113_0x42a84f,_0x1dddeb=_0x4e8096['id'],_0x3193c0=mutationResult({..._0x170403,'after':_0x4e8096,'dryRun':![],'succeeded':[{'id':_0x1dddeb,'updated':!_0x208d4e,'skipped':_0x208d4e,'recovered':_0x1d7370}],'verification':{'checkedBy':_0x2feaf1(0x1d3),'snapshotHash':_0x5406f0[_0x2feaf1(0x1a3)],'targetId':_0x1dddeb,'matchesRequestedState':!![],'recovered':_0x1d7370}});return{'ok':!![],'message':_0x1d7370?_0x2feaf1(0x1e3)+_0x1dddeb+'.':_0x208d4e?'Menu\x20'+_0x1dddeb+_0x2feaf1(0x1aa):_0x2feaf1(0x1b6)+_0x1dddeb+'.','data':{..._0x3193c0,'recovered':_0x1d7370}};}function a113_0x9e5e(_0x32e01d,_0x54bf01){_0x32e01d=_0x32e01d-0x199;const _0x508c51=a113_0x508c();let _0x9e5ea4=_0x508c51[_0x32e01d];return _0x9e5ea4;}async function recoverAfterResponseLoss(_0x124315,_0x1793b4){const _0x43c281=a113_0x42a84f,{plan:_0x106b37,before:_0xeecdfe,body:_0xc91560}=_0x1793b4;let _0x1fe485;try{_0x1fe485=await fetchMenuSnapshot(_0x124315['appCode'],_0x124315['cookie']);}catch{throw recoveryRequired(_0x106b37,_0x124315[_0x43c281(0x1a5)],{'id':_0xc91560['id'],'readbackFailed':!![]});}const _0x5db382=_0x1fe485[_0x43c281(0x1bc)][_0x43c281(0x1bd)](_0xc91560['id']);if(!_0x5db382||_0x5db382[_0x43c281(0x19b)]!==_0xc91560['url'])throw recoveryRequired(_0x106b37,_0x124315[_0x43c281(0x1a5)],{'id':_0xc91560['id'],'requestedUrlObserved':![],'after':_0x5db382??null});try{verifyUpdatedFact(_0xeecdfe,_0x5db382,_0xc91560['url']);}catch(_0xb5381c){const _0x7dc0d0=asVerificationError(_0xb5381c,_0x43c281(0x1cd)+_0xc91560['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x7dc0d0,_0x106b37,{'stage':_0x43c281(0x19d),'succeeded':[{'id':_0xc91560['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xc91560['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5db382,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':_0x43c281(0x1b8),'targetId':_0xc91560['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x124315[_0x43c281(0x1a5)])}});}return updateSuccess(_0x106b37,_0x1fe485,_0x5db382,![],!![]);}function recoveryRequired(_0x3b546e,_0x217e0a,_0x37f485){const _0x4e3e0e=a113_0x42a84f,_0x25569e=menuError(_0x4e3e0e(0x1b0),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x217e0a)+_0x4e3e0e(0x1c6));return menuFailure(_0x25569e,_0x3b546e,{'stage':_0x4e3e0e(0x19d),'failed':{'id':_0x37f485['id'],..._0x37f485[_0x4e3e0e(0x1d2)]===undefined?{}:{'requestedUrlObserved':_0x37f485[_0x4e3e0e(0x1d2)]},..._0x37f485[_0x4e3e0e(0x1b7)]?{'readbackFailed':!![]}:{}},'after':_0x37f485['after'],'warnings':[_0x4e3e0e(0x1a1)],'verification':{'status':_0x4e3e0e(0x1b8),'targetId':_0x37f485['id'],..._0x37f485['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0x37f485[_0x4e3e0e(0x1d2)]},..._0x37f485['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x217e0a)}});}function buildLookupCommand(_0x49bf27){const _0x3c5a12=a113_0x42a84f,_0x3a0e92='\x27'+_0x49bf27[_0x3c5a12(0x19e)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x3c5a12(0x1c5)+_0x3a0e92+_0x3c5a12(0x1db);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a113_0x148232=a113_0x4233;(function(_0x3d5682,_0x516305){const _0x559611=a113_0x4233,_0x4adb36=_0x3d5682();while(!![]){try{const _0x654ef0=parseInt(_0x559611(0xf4))/0x1*(parseInt(_0x559611(0xe0))/0x2)+parseInt(_0x559611(0x123))/0x3*(parseInt(_0x559611(0x125))/0x4)+-parseInt(_0x559611(0xf8))/0x5+-parseInt(_0x559611(0xf1))/0x6*(-parseInt(_0x559611(0xee))/0x7)+parseInt(_0x559611(0xfc))/0x8+parseInt(_0x559611(0x10f))/0x9*(-parseInt(_0x559611(0x115))/0xa)+parseInt(_0x559611(0xde))/0xb*(-parseInt(_0x559611(0xe9))/0xc);if(_0x654ef0===_0x516305)break;else _0x4adb36['push'](_0x4adb36['shift']());}catch(_0x5d3a8f){_0x4adb36['push'](_0x4adb36['shift']());}}}(a113_0x4151,0xb860e));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a113_0x4151(){const _0x1d564e=['\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','Folder\x20label','resources','5264730Dliykx','cookie','Created\x20folder\x20','create\x20folder','11241256nztrPl','Would\x20create\x20empty\x20folder\x20\x22','rabetbase\x20menu\x20list\x20--format\x20json','hash','\x20unexpectedly\x20owns\x20a\x20page.','\x20may\x20exist\x20online\x20at\x20path\x20','\x20has\x20resources.','str','type','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','\x20is\x20not\x20type\x20folder.','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','stringify','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x22\x20with\x20a\x20platform-generated\x20path.','<platform-generated>','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','POST','Folder\x20','171eDcHut','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','path','root','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','573730wOfhoL','visible','verification','failed','isSafeInteger','get','group-create','length','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','parentId','\x20is\x20missing\x20from\x20menu\x20list.','create-response-validation','flagMissing','87skqxqi','create','189260QJQebR','after','Created\x20menu\x20','write','appCode','\x20has\x20unexpected\x20parent\x20','4411lCjZkQ','childrenCount','2ziIfwl','byId','menu_create_response_invalid','folder','\x20has\x20an\x20unexpected\x20sort.','Menu\x20create\x20response\x20for\x20folder\x20','Created\x20menu\x20folder\x20','trim',';\x20verify\x20it\x20before\x20retrying.','23964TnFXCg','sort','parent-id','label','/smartapi/menu/create','193711NUYTIv','\x20is\x20not\x20empty.','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','150NwHTfR','string','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','229927HvtokH'];a113_0x4151=function(){return _0x1d564e;};return a113_0x4151();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a113_0x148232(0x10d),'path':a113_0x148232(0xed)}];function a113_0x4233(_0x5887b2,_0x58a23a){_0x5887b2=_0x5887b2-0xd9;const _0x415157=a113_0x4151();let _0x4233bc=_0x415157[_0x5887b2];return _0x4233bc;}export const menuGroupCreate={'service':'menu','command':'group-create','description':a113_0x148232(0x11e),'risk':a113_0x148232(0xdb),'structuredErrors':!![],'flags':[{'name':a113_0x148232(0xec),'type':a113_0x148232(0xf2),'required':!![],'description':a113_0x148232(0xf6)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2e0b51){validateCreateInput(_0x2e0b51);},async 'dryRun'(_0x58b512){const _0x5a5b87=a113_0x148232,_0x504516=await buildCreatePlan(_0x58b512,!![]),_0x19bc1b=_0x504516[_0x5a5b87(0xd9)];return menuDryRunResult(_0x504516,{'method':_0x5a5b87(0x10d),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x19bc1b[_0x5a5b87(0x11f)]),'label':_0x19bc1b['label'],'type':_0x5a5b87(0xe3),'visible':!![],'sort':_0x19bc1b[_0x5a5b87(0xea)],'extend':{}},'description':_0x5a5b87(0xfd)+String(_0x19bc1b[_0x5a5b87(0xec)])+_0x5a5b87(0x10a)});},async 'execute'(_0x5ad838){const _0x2e1be7=a113_0x148232;validateCreateInput(_0x5ad838);const _0x53a5ff=await buildCreatePlan(_0x5ad838,![]),_0x3ac8ac=_0x53a5ff[_0x2e1be7(0xd9)];await recheckMutationSnapshot(_0x5ad838,_0x53a5ff,_0x2e1be7(0xfb));let _0x481f92;try{_0x481f92=await createMenuEntity(_0x5ad838[_0x2e1be7(0xdc)],_0x5ad838[_0x2e1be7(0xf9)],{'parentId':toApiParentId(_0x3ac8ac['parentId']),'label':String(_0x3ac8ac[_0x2e1be7(0xec)]),'type':_0x2e1be7(0xe3),'visible':!![],'sort':Number(_0x3ac8ac[_0x2e1be7(0xea)]),'extend':{}});}catch(_0x2e887e){const _0x4a9c58=mapMenuApiError(_0x2e887e,_0x2e1be7(0xfb));throw menuFailure(_0x4a9c58,_0x53a5ff,{'stage':_0x2e1be7(0x124),'failed':{}});}const _0x323125=Number(_0x481f92['id']);if(!Number[_0x2e1be7(0x119)](_0x323125)||_0x323125<=0x0){const _0x390db2=menuError(_0x2e1be7(0xe2),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x2e1be7(0xf3));throw menuFailure(_0x390db2,_0x53a5ff,{'stage':_0x2e1be7(0x121),'failed':{'createdId':_0x481f92['id']??null},'warnings':[_0x2e1be7(0x105)],'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe)}});}const _0x5257ce=typeof _0x481f92[_0x2e1be7(0x112)]===_0x2e1be7(0xf2)?_0x481f92[_0x2e1be7(0x112)]:'';if(!_0x5257ce[_0x2e1be7(0xe7)]()){const _0x43b724=menuError(_0x2e1be7(0xe2),_0x2e1be7(0xe5)+_0x323125+_0x2e1be7(0x114),_0x2e1be7(0x10c));throw menuFailure(_0x43b724,_0x53a5ff,{'stage':_0x2e1be7(0x121),'succeeded':[{'id':_0x323125,'created':!![]}],'failed':{'id':_0x323125,'generatedPathConfirmed':![]},'warnings':[_0x2e1be7(0x10e)+_0x323125+_0x2e1be7(0xf5)],'after':{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}let _0x4da797;try{_0x4da797=await fetchMenuSnapshot(_0x5ad838[_0x2e1be7(0xdc)],_0x5ad838[_0x2e1be7(0xf9)]);}catch(_0x1a3585){const _0x472580=describeMenuErrorCause(_0x1a3585,'verify\x20folder\x20creation',_0x323125),_0x51d009=asVerificationError(_0x1a3585,'Folder\x20'+_0x323125+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x51d009,_0x53a5ff,{'stage':_0x2e1be7(0x117),'succeeded':[{'id':_0x323125,'created':!![],'path':_0x5257ce}],'failed':{'id':_0x323125,'finalFactsConfirmed':![],..._0x472580},'warnings':['Folder\x20'+_0x323125+_0x2e1be7(0x101)+JSON[_0x2e1be7(0x108)](_0x5257ce)+_0x2e1be7(0xe8)],'after':{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}const _0x1d3c96=_0x4da797[_0x2e1be7(0xe1)][_0x2e1be7(0x11a)](_0x323125);let _0xfbac6a;try{assertVerified(Boolean(_0x1d3c96),'Created\x20folder\x20'+_0x323125+_0x2e1be7(0x120)),_0xfbac6a=_0x1d3c96,assertVerified(_0xfbac6a[_0x2e1be7(0x104)]==='folder',_0x2e1be7(0xda)+_0x323125+_0x2e1be7(0x106)),assertVerified(_0xfbac6a['label']===_0x3ac8ac[_0x2e1be7(0xec)],_0x2e1be7(0xfa)+_0x323125+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0xfbac6a[_0x2e1be7(0x112)]===_0x5257ce&&Boolean(_0xfbac6a[_0x2e1be7(0x112)][_0x2e1be7(0xe7)]()),_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x11d)),assertVerified(_0xfbac6a[_0x2e1be7(0x116)]===!![],_0x2e1be7(0xfa)+_0x323125+'\x20is\x20not\x20visible.'),assertVerified(_0xfbac6a[_0x2e1be7(0xf7)][_0x2e1be7(0x11c)]===0x0,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x102)),assertVerified(_0xfbac6a[_0x2e1be7(0xdf)]===0x0,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0xef)),assertVerified(_0xfbac6a[_0x2e1be7(0xea)]===_0x3ac8ac[_0x2e1be7(0xea)],'Created\x20folder\x20'+_0x323125+_0x2e1be7(0xe4)),assertVerified(_0xfbac6a[_0x2e1be7(0x11f)]===_0x3ac8ac[_0x2e1be7(0x11f)],_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0xdd)+(_0xfbac6a['parentId']??_0x2e1be7(0x113))+'.'),assertVerified(_0xfbac6a['pageId']==null,_0x2e1be7(0xfa)+_0x323125+_0x2e1be7(0x100));const _0x59baa4=_0xfbac6a['parentId']==null?undefined:requireFolder(_0x4da797,_0xfbac6a[_0x2e1be7(0x11f)]);assertVerified(_0xfbac6a['depth']===(_0x59baa4?_0x59baa4['depth']+0x1:0x0),'Created\x20folder\x20'+_0x323125+_0x2e1be7(0x111));}catch(_0x210c3d){const _0x598fb8=describeMenuErrorCause(_0x210c3d,'verify\x20folder\x20creation',_0x323125),_0x58dcaf=asVerificationError(_0x210c3d,'Folder\x20'+_0x323125+_0x2e1be7(0x109));throw menuFailure(_0x58dcaf,_0x53a5ff,{'stage':_0x2e1be7(0x117),'succeeded':[{'id':_0x323125,'created':!![],'path':_0x5257ce}],'failed':{'id':_0x323125,'finalFactsConfirmed':![],..._0x598fb8},'warnings':[_0x2e1be7(0x10e)+_0x323125+_0x2e1be7(0xf0)],'after':_0x1d3c96??{..._0x3ac8ac,'id':_0x323125,'path':_0x5257ce},'verification':{'status':_0x2e1be7(0x118),'lookupCommand':_0x2e1be7(0xfe),'targetId':_0x323125}});}const _0x21efdf=mutationResult({..._0x53a5ff,'after':_0xfbac6a,'dryRun':![],'succeeded':[{'id':_0x323125,'type':'folder','path':_0x5257ce}],'verification':{'checkedBy':_0x2e1be7(0x110),'snapshotHash':_0x4da797[_0x2e1be7(0xff)],'folder':!![],'path':_0x5257ce,'emptyResources':!![]}});return{'ok':!![],'data':_0x21efdf,'message':_0x2e1be7(0xe6)+_0x323125+'.'};}};function validateCreateInput(_0x5a8096){const _0x1fbe3f=a113_0x148232,_0x2e4572=_0x5a8096['str']('label')['trim']();if(!_0x2e4572)throw CliErrors[_0x1fbe3f(0x122)]('label');parseParentId(_0x5a8096,_0x1fbe3f(0xeb)),validateSort(_0x5a8096);}async function buildCreatePlan(_0x3ad515,_0x9325cb){const _0x5b55c5=a113_0x148232,_0x4b9c12=await fetchMutationSnapshot(_0x3ad515,_0x5b55c5(0xfb)),_0x36eaac=parseParentId(_0x3ad515,_0x5b55c5(0xeb))??null;if(_0x36eaac!=null)requireFolder(_0x4b9c12,_0x36eaac);const _0x4ab9b4=validateSort(_0x3ad515),_0xdd69f=_0x4ab9b4??nextSiblingSort(_0x4b9c12,_0x36eaac,_0x5b55c5(0xe3)),_0x7de0c6=_0x3ad515[_0x5b55c5(0x103)](_0x5b55c5(0xec))[_0x5b55c5(0xe7)]();return mutationResult({'operation':_0x5b55c5(0x11b),'selector':{'label':_0x7de0c6,'parentId':_0x36eaac},'before':null,'after':{'id':null,'parentId':_0x36eaac,'label':_0x7de0c6,'path':_0x5b55c5(0x10b),'type':_0x5b55c5(0xe3),'visible':!![],'sort':_0xdd69f,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x9325cb,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x5b55c5(0x10d),'path':_0x5b55c5(0xed),'body':{'parentId':toApiParentId(_0x36eaac),'label':_0x7de0c6,'type':_0x5b55c5(0xe3),'visible':!![],'sort':_0xdd69f,'extend':{}}}],'snapshotHash':_0x4b9c12['hash'],'warnings':[_0x5b55c5(0x107)]});}
|
|
1
|
+
const a114_0x5f460d=a114_0x3f7c;function a114_0x2643(){const _0x414e80=['\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','folder','path','738uowJSE','\x20unexpectedly\x20owns\x20a\x20page.','38124gtkVHU','hash','visible','failed','3079860yXvcog','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','pageId','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','stringify','POST','Would\x20create\x20empty\x20folder\x20\x22','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','Folder\x20','label','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','Created\x20folder\x20','flagMissing','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','after','/smartapi/menu/create','parent-id','trim','rabetbase\x20menu\x20list\x20--format\x20json','792460EQMLDJ','create-response-validation','38053lRcHUz','35cBCPew','childrenCount','verification','3055344ZgvJrQ','\x20has\x20an\x20unexpected\x20label.','Folder\x20label','\x20has\x20an\x20unexpected\x20sort.','parentId','resources','menu_create_response_invalid','group-create','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','5233176igQPig','appCode','sort','\x20is\x20not\x20empty.','root','\x20is\x20missing\x20from\x20menu\x20list.','verify\x20folder\x20creation','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','str','cookie','Created\x20menu\x20folder\x20','685QihtON','write','\x20may\x20exist\x20online\x20at\x20path\x20','1246144EmbpqE','depth','string','type','get','create','\x22\x20with\x20a\x20platform-generated\x20path.','create-folder','\x20has\x20resources.','\x20is\x20not\x20type\x20folder.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','byId','create\x20folder'];a114_0x2643=function(){return _0x414e80;};return a114_0x2643();}(function(_0x4eb522,_0x3883f3){const _0xa7fd8c=a114_0x3f7c,_0x5adef4=_0x4eb522();while(!![]){try{const _0x293308=-parseInt(_0xa7fd8c(0x13a))/0x1+-parseInt(_0xa7fd8c(0x125))/0x2+-parseInt(_0xa7fd8c(0x13e))/0x3+-parseInt(_0xa7fd8c(0x101))/0x4+parseInt(_0xa7fd8c(0x10c))/0x5*(-parseInt(_0xa7fd8c(0x121))/0x6)+-parseInt(_0xa7fd8c(0x13b))/0x7*(parseInt(_0xa7fd8c(0x10f))/0x8)+parseInt(_0xa7fd8c(0x11f))/0x9*(parseInt(_0xa7fd8c(0x138))/0xa);if(_0x293308===_0x3883f3)break;else _0x5adef4['push'](_0x5adef4['shift']());}catch(_0x25c3f3){_0x5adef4['push'](_0x5adef4['shift']());}}}(a114_0x2643,0xe67ed));function a114_0x3f7c(_0x11c234,_0x5166ec){_0x11c234=_0x11c234-0xfa;const _0x26435e=a114_0x2643();let _0x3f7c88=_0x26435e[_0x11c234];return _0x3f7c88;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a114_0x5f460d(0x12a),'path':a114_0x5f460d(0x134)}];export const menuGroupCreate={'service':'menu','command':a114_0x5f460d(0xff),'description':'Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','risk':a114_0x5f460d(0x10d),'structuredErrors':!![],'flags':[{'name':a114_0x5f460d(0x12e),'type':a114_0x5f460d(0x111),'required':!![],'description':a114_0x5f460d(0xfa)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x30d341){validateCreateInput(_0x30d341);},async 'dryRun'(_0x131341){const _0x26a4fe=a114_0x5f460d,_0x20267f=await buildCreatePlan(_0x131341,!![]),_0x5c0d5e=_0x20267f['after'];return menuDryRunResult(_0x20267f,{'method':_0x26a4fe(0x12a),'url':_0x26a4fe(0x134),'body':{'parentId':toApiParentId(_0x5c0d5e[_0x26a4fe(0xfc)]),'label':_0x5c0d5e[_0x26a4fe(0x12e)],'type':_0x26a4fe(0x11d),'visible':!![],'sort':_0x5c0d5e[_0x26a4fe(0x103)],'extend':{}},'description':_0x26a4fe(0x12b)+String(_0x5c0d5e[_0x26a4fe(0x12e)])+_0x26a4fe(0x115)});},async 'execute'(_0x902740){const _0x7ac15c=a114_0x5f460d;validateCreateInput(_0x902740);const _0x2d009a=await buildCreatePlan(_0x902740,![]),_0x21ca1a=_0x2d009a[_0x7ac15c(0x133)];await recheckMutationSnapshot(_0x902740,_0x2d009a,_0x7ac15c(0x11b));let _0x2811d6;try{_0x2811d6=await createMenuEntity(_0x902740[_0x7ac15c(0x102)],_0x902740['cookie'],{'parentId':toApiParentId(_0x21ca1a[_0x7ac15c(0xfc)]),'label':String(_0x21ca1a[_0x7ac15c(0x12e)]),'type':_0x7ac15c(0x11d),'visible':!![],'sort':Number(_0x21ca1a['sort']),'extend':{}});}catch(_0x2589ca){const _0x3bc3d8=mapMenuApiError(_0x2589ca,'create\x20folder');throw menuFailure(_0x3bc3d8,_0x2d009a,{'stage':_0x7ac15c(0x114),'failed':{}});}const _0x520e74=Number(_0x2811d6['id']);if(!Number['isSafeInteger'](_0x520e74)||_0x520e74<=0x0){const _0x2c7399=menuError(_0x7ac15c(0xfe),_0x7ac15c(0x12f),_0x7ac15c(0x119));throw menuFailure(_0x2c7399,_0x2d009a,{'stage':'create-response-validation','failed':{'createdId':_0x2811d6['id']??null},'warnings':[_0x7ac15c(0x126)],'verification':{'status':_0x7ac15c(0x124),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json'}});}const _0x1f620c=typeof _0x2811d6[_0x7ac15c(0x11e)]===_0x7ac15c(0x111)?_0x2811d6['path']:'';if(!_0x1f620c[_0x7ac15c(0x136)]()){const _0x23b2d5=menuError(_0x7ac15c(0xfe),'Menu\x20create\x20response\x20for\x20folder\x20'+_0x520e74+_0x7ac15c(0x11c),_0x7ac15c(0x100));throw menuFailure(_0x23b2d5,_0x2d009a,{'stage':_0x7ac15c(0x139),'succeeded':[{'id':_0x520e74,'created':!![]}],'failed':{'id':_0x520e74,'generatedPathConfirmed':![]},'warnings':['Folder\x20'+_0x520e74+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x520e74}});}let _0x248ca8;try{_0x248ca8=await fetchMenuSnapshot(_0x902740[_0x7ac15c(0x102)],_0x902740[_0x7ac15c(0x10a)]);}catch(_0xad58fb){const _0x15bb84=describeMenuErrorCause(_0xad58fb,'verify\x20folder\x20creation',_0x520e74),_0x1c6f6f=asVerificationError(_0xad58fb,_0x7ac15c(0x12d)+_0x520e74+'\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts');throw menuFailure(_0x1c6f6f,_0x2d009a,{'stage':_0x7ac15c(0x13d),'succeeded':[{'id':_0x520e74,'created':!![],'path':_0x1f620c}],'failed':{'id':_0x520e74,'finalFactsConfirmed':![],..._0x15bb84},'warnings':[_0x7ac15c(0x12d)+_0x520e74+_0x7ac15c(0x10e)+JSON[_0x7ac15c(0x129)](_0x1f620c)+';\x20verify\x20it\x20before\x20retrying.'],'after':{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':_0x7ac15c(0x137),'targetId':_0x520e74}});}const _0x37d298=_0x248ca8[_0x7ac15c(0x11a)][_0x7ac15c(0x113)](_0x520e74);let _0x288bd8;try{assertVerified(Boolean(_0x37d298),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x106)),_0x288bd8=_0x37d298,assertVerified(_0x288bd8[_0x7ac15c(0x112)]===_0x7ac15c(0x11d),'Created\x20menu\x20'+_0x520e74+_0x7ac15c(0x118)),assertVerified(_0x288bd8['label']===_0x21ca1a['label'],_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x13f)),assertVerified(_0x288bd8[_0x7ac15c(0x11e)]===_0x1f620c&&Boolean(_0x288bd8['path'][_0x7ac15c(0x136)]()),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x108)),assertVerified(_0x288bd8[_0x7ac15c(0x123)]===!![],_0x7ac15c(0x130)+_0x520e74+'\x20is\x20not\x20visible.'),assertVerified(_0x288bd8[_0x7ac15c(0xfd)]['length']===0x0,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x117)),assertVerified(_0x288bd8[_0x7ac15c(0x13c)]===0x0,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x104)),assertVerified(_0x288bd8['sort']===_0x21ca1a[_0x7ac15c(0x103)],_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0xfb)),assertVerified(_0x288bd8[_0x7ac15c(0xfc)]===_0x21ca1a[_0x7ac15c(0xfc)],'Created\x20folder\x20'+_0x520e74+'\x20has\x20unexpected\x20parent\x20'+(_0x288bd8[_0x7ac15c(0xfc)]??_0x7ac15c(0x105))+'.'),assertVerified(_0x288bd8[_0x7ac15c(0x127)]==null,_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x120));const _0x21eaf0=_0x288bd8[_0x7ac15c(0xfc)]==null?undefined:requireFolder(_0x248ca8,_0x288bd8[_0x7ac15c(0xfc)]);assertVerified(_0x288bd8['depth']===(_0x21eaf0?_0x21eaf0[_0x7ac15c(0x110)]+0x1:0x0),_0x7ac15c(0x130)+_0x520e74+_0x7ac15c(0x128));}catch(_0x39cd3c){const _0x249159=describeMenuErrorCause(_0x39cd3c,_0x7ac15c(0x107),_0x520e74),_0x403eb9=asVerificationError(_0x39cd3c,_0x7ac15c(0x12d)+_0x520e74+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x403eb9,_0x2d009a,{'stage':_0x7ac15c(0x13d),'succeeded':[{'id':_0x520e74,'created':!![],'path':_0x1f620c}],'failed':{'id':_0x520e74,'finalFactsConfirmed':![],..._0x249159},'warnings':[_0x7ac15c(0x12d)+_0x520e74+_0x7ac15c(0x132)],'after':_0x37d298??{..._0x21ca1a,'id':_0x520e74,'path':_0x1f620c},'verification':{'status':_0x7ac15c(0x124),'lookupCommand':_0x7ac15c(0x137),'targetId':_0x520e74}});}const _0x49f015=mutationResult({..._0x2d009a,'after':_0x288bd8,'dryRun':![],'succeeded':[{'id':_0x520e74,'type':_0x7ac15c(0x11d),'path':_0x1f620c}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x248ca8[_0x7ac15c(0x122)],'folder':!![],'path':_0x1f620c,'emptyResources':!![]}});return{'ok':!![],'data':_0x49f015,'message':_0x7ac15c(0x10b)+_0x520e74+'.'};}};function validateCreateInput(_0x145bb0){const _0x164096=a114_0x5f460d,_0x4210a6=_0x145bb0['str'](_0x164096(0x12e))[_0x164096(0x136)]();if(!_0x4210a6)throw CliErrors[_0x164096(0x131)](_0x164096(0x12e));parseParentId(_0x145bb0,_0x164096(0x135)),validateSort(_0x145bb0);}async function buildCreatePlan(_0x2345b7,_0x3cff50){const _0x1a4388=a114_0x5f460d,_0x2ab7d7=await fetchMutationSnapshot(_0x2345b7,_0x1a4388(0x11b)),_0x39e93f=parseParentId(_0x2345b7,'parent-id')??null;if(_0x39e93f!=null)requireFolder(_0x2ab7d7,_0x39e93f);const _0x4c60fa=validateSort(_0x2345b7),_0x26c8e4=_0x4c60fa??nextSiblingSort(_0x2ab7d7,_0x39e93f,_0x1a4388(0x11d)),_0x254486=_0x2345b7[_0x1a4388(0x109)](_0x1a4388(0x12e))[_0x1a4388(0x136)]();return mutationResult({'operation':_0x1a4388(0xff),'selector':{'label':_0x254486,'parentId':_0x39e93f},'before':null,'after':{'id':null,'parentId':_0x39e93f,'label':_0x254486,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x26c8e4,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x3cff50,'backend':[...BACKEND],'plannedActions':[{'stage':_0x1a4388(0x116),'method':_0x1a4388(0x12a),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x39e93f),'label':_0x254486,'type':_0x1a4388(0x11d),'visible':!![],'sort':_0x26c8e4,'extend':{}}}],'snapshotHash':_0x2ab7d7[_0x1a4388(0x122)],'warnings':[_0x1a4388(0x12c)]});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a115_0x4f3403=a115_0x31ea;(function(_0x390f68,_0x2bafbc){const _0x8369bc=a115_0x31ea,_0x437d17=_0x390f68();while(!![]){try{const _0x5f470d=-parseInt(_0x8369bc(0x1a4))/0x1*(parseInt(_0x8369bc(0x19c))/0x2)+parseInt(_0x8369bc(0x1a5))/0x3*(-parseInt(_0x8369bc(0x19e))/0x4)+parseInt(_0x8369bc(0x1b8))/0x5+parseInt(_0x8369bc(0x1c5))/0x6+parseInt(_0x8369bc(0x19d))/0x7+parseInt(_0x8369bc(0x1b9))/0x8*(parseInt(_0x8369bc(0x1ca))/0x9)+parseInt(_0x8369bc(0x1ba))/0xa*(-parseInt(_0x8369bc(0x1b4))/0xb);if(_0x5f470d===_0x2bafbc)break;else _0x437d17['push'](_0x437d17['shift']());}catch(_0x4ec51b){_0x437d17['push'](_0x437d17['shift']());}}}(a115_0xa2e5,0x9c896));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';import{CliErrors}from'../../errors.js';function a115_0xa2e5(){const _0x15d694=['7728833rTqRbk','8HGBZPL','menu','\x20sort\x20update\x20did\x20not\x20take\x20effect.','rabetbase\x20menu\x20list\x20--format\x20json','verify\x20folder\x20update','sort','84361mUWwZo','1259889eLbtuJ','parent-id','str','\x20already\x20matches\x20the\x20requested\x20state.','selector','Updated\x20folder\x20','write','validation','trim','Menu\x20group-update\x20does\x20not\x20support\x20reparenting;\x20remove\x20--parent-id.','parentId','unknown','type','\x20is\x20no\x20longer\x20type\x20folder.','label','591019EiHlRU','--label\x20cannot\x20be\x20empty.','No\x20online\x20fields\x20would\x20change.','Use\x20the\x20platform\x20UI\x20for\x20hierarchy\x20changes.','3920105XIfbXt','54688ymyYli','120XbDraP','Would\x20update\x20folder\x20','string','Menu\x20','appCode','folder','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20choose\x20an\x20id\x20whose\x20type\x20is\x20folder.','POST','group-update','cookie','New\x20folder\x20label','102480tlEZLM','update\x20folder','menu\x20list','Folder\x20','At\x20least\x20one\x20of\x20--label\x20or\x20--sort\x20is\x20required.','1179RpHeTx','16cTFvRS'];a115_0xa2e5=function(){return _0x15d694;};return a115_0xa2e5();}const BACKEND=[{'method':a115_0x4f3403(0x1c1),'path':'/smartapi/menu/update'}];export const menuGroupUpdate={'service':a115_0x4f3403(0x19f),'command':a115_0x4f3403(0x1c2),'description':'Rename\x20or\x20reorder\x20one\x20existing\x20folder\x20menu','risk':a115_0x4f3403(0x1ab),'structuredErrors':!![],'rejectedFlags':[{'name':a115_0x4f3403(0x1a6),'message':a115_0x4f3403(0x1ae),'hint':a115_0x4f3403(0x1b7)}],'flags':[MENU_ID_FLAG,{'name':a115_0x4f3403(0x1b3),'type':a115_0x4f3403(0x1bc),'description':a115_0x4f3403(0x1c4)},MENU_SORT_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x45a322){validateUpdateInput(_0x45a322);},async 'dryRun'(_0x35acfe){const _0x157655=a115_0x4f3403;validateUpdateInput(_0x35acfe);const {plan:_0x160721,patch:_0x1fdacb}=await buildUpdatePlan(_0x35acfe,!![]);return menuDryRunResult(_0x160721,{'method':_0x157655(0x1c1),'url':'/smartapi/menu/update','body':_0x1fdacb,'description':_0x157655(0x1bb)+_0x160721[_0x157655(0x1a9)]['id']+'.'});},async 'execute'(_0x293ce1){const _0x19c380=a115_0x4f3403;validateUpdateInput(_0x293ce1);const {plan:_0x492686,patch:_0x47baa6,noChanges:_0x2978cb}=await buildUpdatePlan(_0x293ce1,![]),_0x2610e3=Number(_0x492686[_0x19c380(0x1a9)]['id']),_0x18dd4b=await recheckMutationSnapshot(_0x293ce1,_0x492686,_0x19c380(0x1c6),_0x2610e3);if(!_0x2978cb)try{await updateMenuEntity(_0x293ce1[_0x19c380(0x1be)],_0x293ce1[_0x19c380(0x1c3)],_0x47baa6);}catch(_0x4d34b5){const _0x569241=mapMenuApiError(_0x4d34b5,_0x19c380(0x1c6),_0x2610e3);throw menuFailure(_0x569241,_0x492686,{'stage':'update','failed':{'id':_0x2610e3}});}let _0x264b33=_0x18dd4b,_0x278eb1;try{!_0x2978cb&&(_0x264b33=await fetchMenuSnapshot(_0x293ce1[_0x19c380(0x1be)],_0x293ce1[_0x19c380(0x1c3)])),_0x278eb1=requireMenu(_0x264b33,_0x2610e3),verifyPatch(_0x278eb1,_0x47baa6),_0x278eb1[_0x19c380(0x1af)]!=null&&requireFolder(_0x264b33,_0x278eb1[_0x19c380(0x1af)]);}catch(_0x27affb){const _0xac8488=describeMenuErrorCause(_0x27affb,_0x19c380(0x1a2),_0x2610e3),_0x17265a=asVerificationError(_0x27affb,'Update\x20request\x20for\x20folder\x20'+_0x2610e3+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x17265a,_0x492686,{'stage':'verification','succeeded':[{'id':_0x2610e3,'updateRequested':!_0x2978cb,'skipped':_0x2978cb}],'failed':{'id':_0x2610e3,'requestedStateConfirmed':![],..._0xac8488},'warnings':['The\x20update\x20request\x20may\x20have\x20taken\x20effect,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x19c380(0x1a1),'targetId':_0x2610e3}});}const _0x2a8262=mutationResult({..._0x492686,'after':_0x278eb1,'dryRun':![],'succeeded':[{'id':_0x2610e3,'updated':!_0x2978cb,'skipped':_0x2978cb}],'verification':{'checkedBy':_0x19c380(0x1c7),'snapshotHash':_0x264b33['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x2a8262,'message':_0x2978cb?'Folder\x20'+_0x2610e3+_0x19c380(0x1a8):_0x19c380(0x1aa)+_0x2610e3+'.'};}};function validateUpdateInput(_0x1d7511){const _0x1a26bf=a115_0x4f3403;validateExactId(_0x1d7511);if(hasFlag(_0x1d7511,_0x1a26bf(0x1a6)))throw CliErrors['validation'](_0x1a26bf(0x1ae),_0x1a26bf(0x1b7));if(!hasFlag(_0x1d7511,_0x1a26bf(0x1b3))&&!hasFlag(_0x1d7511,_0x1a26bf(0x1a3)))throw CliErrors[_0x1a26bf(0x1ac)](_0x1a26bf(0x1c9));if(hasFlag(_0x1d7511,_0x1a26bf(0x1b3))&&!_0x1d7511[_0x1a26bf(0x1a7)](_0x1a26bf(0x1b3))[_0x1a26bf(0x1ad)]())throw CliErrors[_0x1a26bf(0x1ac)](_0x1a26bf(0x1b5));validateSort(_0x1d7511);}function a115_0x31ea(_0x46c809,_0x4369a4){_0x46c809=_0x46c809-0x19c;const _0xa2e534=a115_0xa2e5();let _0x31eadc=_0xa2e534[_0x46c809];return _0x31eadc;}async function buildUpdatePlan(_0x2b1d37,_0xda3cf5){const _0x593fe5=a115_0x4f3403,_0x15000c=validateExactId(_0x2b1d37),_0x316549=await fetchMutationSnapshot(_0x2b1d37,_0x593fe5(0x1c6),_0x15000c),_0x2e76a6=requireMenu(_0x316549,_0x15000c);if(_0x2e76a6[_0x593fe5(0x1b1)]!==_0x593fe5(0x1bf))throw menuError('menu_not_folder','Menu\x20'+_0x15000c+'\x20is\x20type\x20\x22'+(_0x2e76a6[_0x593fe5(0x1b1)]||_0x593fe5(0x1b0))+'\x22,\x20not\x20folder.',_0x593fe5(0x1c0));assertExpectedState(_0x2b1d37,_0x2e76a6);const _0x284b0e={'id':_0x15000c},_0x2f6817={..._0x2e76a6};if(hasFlag(_0x2b1d37,_0x593fe5(0x1b3))){const _0x5116f1=_0x2b1d37[_0x593fe5(0x1a7)](_0x593fe5(0x1b3))[_0x593fe5(0x1ad)]();_0x284b0e[_0x593fe5(0x1b3)]=_0x5116f1,_0x2f6817['label']=_0x5116f1;}if(hasFlag(_0x2b1d37,_0x593fe5(0x1a3))){const _0x390442=validateSort(_0x2b1d37);_0x284b0e[_0x593fe5(0x1a3)]=_0x390442,_0x2f6817[_0x593fe5(0x1a3)]=_0x390442;}const _0x4a8eb6=sameRequestedState(_0x2e76a6,_0x2f6817),_0x1fa2b4=_0x4a8eb6?[_0x593fe5(0x1b6)]:[];return{'patch':_0x284b0e,'noChanges':_0x4a8eb6,'plan':mutationResult({'operation':'group-update','selector':{'id':_0x15000c},'before':_0x2e76a6,'after':_0x2f6817,'dryRun':_0xda3cf5,'backend':[...BACKEND],'snapshotHash':_0x316549['hash'],'warnings':_0x1fa2b4})};}function sameRequestedState(_0x25ca0d,_0xe9d772){const _0x2d3537=a115_0x4f3403;return _0x25ca0d['label']===_0xe9d772[_0x2d3537(0x1b3)]&&_0x25ca0d[_0x2d3537(0x1a3)]===_0xe9d772[_0x2d3537(0x1a3)];}function verifyPatch(_0x3ce417,_0x255182){const _0x2e2a6d=a115_0x4f3403;assertVerified(_0x3ce417[_0x2e2a6d(0x1b1)]===_0x2e2a6d(0x1bf),_0x2e2a6d(0x1bd)+_0x3ce417['id']+_0x2e2a6d(0x1b2)),_0x255182[_0x2e2a6d(0x1b3)]!==undefined&&assertVerified(_0x3ce417[_0x2e2a6d(0x1b3)]===_0x255182[_0x2e2a6d(0x1b3)],_0x2e2a6d(0x1c8)+_0x3ce417['id']+'\x20label\x20update\x20did\x20not\x20take\x20effect.'),_0x255182[_0x2e2a6d(0x1a3)]!==undefined&&assertVerified(_0x3ce417['sort']===_0x255182[_0x2e2a6d(0x1a3)],_0x2e2a6d(0x1c8)+_0x3ce417['id']+_0x2e2a6d(0x1a0));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x231405,_0x1dda38){const _0x4bcdf7=a116_0x4c2c,_0x5319bf=_0x231405();while(!![]){try{const _0x33e332=parseInt(_0x4bcdf7(0xf9))/0x1*(parseInt(_0x4bcdf7(0xf3))/0x2)+parseInt(_0x4bcdf7(0xfb))/0x3*(parseInt(_0x4bcdf7(0xf7))/0x4)+parseInt(_0x4bcdf7(0xfa))/0x5*(-parseInt(_0x4bcdf7(0xf5))/0x6)+-parseInt(_0x4bcdf7(0xf4))/0x7*(-parseInt(_0x4bcdf7(0xf6))/0x8)+-parseInt(_0x4bcdf7(0xfc))/0x9+parseInt(_0x4bcdf7(0xf8))/0xa+-parseInt(_0x4bcdf7(0xf2))/0xb;if(_0x33e332===_0x1dda38)break;else _0x5319bf['push'](_0x5319bf['shift']());}catch(_0x5181b4){_0x5319bf['push'](_0x5319bf['shift']());}}}(a116_0x38ae,0xf3b7a));import{menuList}from'../../commands/menu/list.js';import{menuSync}from'../../commands/menu/sync.js';import{menuAssetUpdate}from'../../commands/menu/asset-update.js';import{menuDelete}from'../../commands/menu/delete.js';import{menuGroupCreate}from'../../commands/menu/group-create.js';import{menuGroupUpdate}from'../../commands/menu/group-update.js';import{menuMove}from'../../commands/menu/move.js';function a116_0x4c2c(_0x5ab412,_0x49bf69){_0x5ab412=_0x5ab412-0xf2;const _0x38aebf=a116_0x38ae();let _0x4c2c77=_0x38aebf[_0x5ab412];return _0x4c2c77;}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';function a116_0x38ae(){const _0x4aabe4=['45896ZTjmxk','14020vzMntH','4555550oalgTt','801489wSZOAO','2840dlpqyE','1383oCsSKg','6556536QvAGst','8060316VJxkNv','2rGKXGb','371jlRkBP','7578QGYNsK'];a116_0x38ae=function(){return _0x4aabe4;};return a116_0x38ae();}import{menuRename}from'../../commands/menu/rename.js';export const menuDefinitions=[menuList,menuExternalLinkCreate,menuExternalLinkUpdate,menuRename,menuSync,menuAssetUpdate,menuDelete,menuGroupCreate,menuGroupUpdate,menuMove,menuRegroupStart];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a117_0x49bdd1=a117_0x1573;(function(_0x279ff8,_0x229573){const _0x45775e=a117_0x1573,_0x38ae23=_0x279ff8();while(!![]){try{const _0xd9b4ec=parseInt(_0x45775e(0xa3))/0x1*(-parseInt(_0x45775e(0xb2))/0x2)+parseInt(_0x45775e(0xb1))/0x3+parseInt(_0x45775e(0xa8))/0x4+parseInt(_0x45775e(0xa7))/0x5*(-parseInt(_0x45775e(0xac))/0x6)+parseInt(_0x45775e(0xae))/0x7*(parseInt(_0x45775e(0xa2))/0x8)+-parseInt(_0x45775e(0xa5))/0x9+parseInt(_0x45775e(0xb0))/0xa*(parseInt(_0x45775e(0xa6))/0xb);if(_0xd9b4ec===_0x229573)break;else _0x38ae23['push'](_0x38ae23['shift']());}catch(_0x58ae6c){_0x38ae23['push'](_0x38ae23['shift']());}}}(a117_0x3503,0x8343b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot,toMenuListItem}from'../../commands/menu/shared/facts.js';function a117_0x1573(_0x3ba7d3,_0x3bf839){_0x3ba7d3=_0x3ba7d3-0x9d;const _0x35030f=a117_0x3503();let _0x1573c1=_0x35030f[_0x3ba7d3];return _0x1573c1;}export const menuList={'service':a117_0x49bdd1(0xa0),'command':'list','description':a117_0x49bdd1(0xa1),'risk':a117_0x49bdd1(0xa4),'flags':[APPCODE_FLAG_OPTIONAL,{'name':a117_0x49bdd1(0x9e),'type':a117_0x49bdd1(0x9f),'description':'Return\x20extend\x20field\x20for\x20troubleshooting\x20resource\x20parsing'}],async 'execute'(_0x5a7970){const _0x2f6ffe=a117_0x49bdd1,_0x23884e=_0x5a7970[_0x2f6ffe(0xad)](_0x2f6ffe(0x9e)),_0x573311=await fetchMenuSnapshot(_0x5a7970['appCode'],_0x5a7970['cookie'],{'verbose':_0x23884e});return{'ok':!![],'data':{'total':_0x573311[_0x2f6ffe(0xaa)],'snapshotHash':_0x573311['hash'],'menus':_0x573311[_0x2f6ffe(0xa9)][_0x2f6ffe(0xaf)](toMenuListItem)},'message':_0x573311['total']===0x0?_0x2f6ffe(0x9d):'Found\x20'+_0x573311[_0x2f6ffe(0xaa)]+_0x2f6ffe(0xab)};}};function a117_0x3503(){const _0x3552dd=['menu','List\x20online\x20menu\x20facts\x20for\x20the\x20current\x20app','353264WVVUgU','190253Zjspbw','read','7206714DbFTFl','4389583LwaJhz','57955vlijAg','395712fjZaqh','menus','total','\x20menu(s)','24ZBupQT','bool','21vEpuek','map','50KyIUXL','328101sVlfpV','10YWyMFm','No\x20menus\x20found.','verbose','boolean'];a117_0x3503=function(){return _0x3552dd;};return a117_0x3503();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a118_0x306c72=a118_0x21d5;(function(_0x56b95d,_0x2b413c){const _0x48de3c=a118_0x21d5,_0x44d5fe=_0x56b95d();while(!![]){try{const _0x3a57c5=-parseInt(_0x48de3c(0x10e))/0x1+parseInt(_0x48de3c(0x118))/0x2*(-parseInt(_0x48de3c(0x112))/0x3)+parseInt(_0x48de3c(0xfd))/0x4+-parseInt(_0x48de3c(0xf9))/0x5+-parseInt(_0x48de3c(0x10d))/0x6+-parseInt(_0x48de3c(0x107))/0x7*(parseInt(_0x48de3c(0xf6))/0x8)+parseInt(_0x48de3c(0x102))/0x9;if(_0x3a57c5===_0x2b413c)break;else _0x44d5fe['push'](_0x44d5fe['shift']());}catch(_0x1e1af6){_0x44d5fe['push'](_0x44d5fe['shift']());}}}(a118_0x27cc,0xb242b));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':a118_0x306c72(0x109),'path':'/smartapi/menu/update'}];export const menuMove={'service':a118_0x306c72(0xff),'command':a118_0x306c72(0x114),'description':a118_0x306c72(0x113),'risk':a118_0x306c72(0x104),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{...MENU_PARENT_ID_FLAG,'required':!![]},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x501cd5){validateMoveInput(_0x501cd5);},async 'dryRun'(_0x3abbc1){const _0x4ff539=a118_0x306c72,{plan:_0x1d8976,patch:_0x2b485c}=await buildMovePlan(_0x3abbc1,!![]);return menuDryRunResult(_0x1d8976,{'method':_0x4ff539(0x109),'url':_0x4ff539(0xf3),'body':{..._0x2b485c,'appCode':_0x3abbc1['appCode']},'description':_0x4ff539(0xf2)+_0x2b485c['id']+'.'});},async 'execute'(_0x1502da){const _0x2382dd=a118_0x306c72;validateMoveInput(_0x1502da);const {plan:_0xb314b2,patch:_0x31b8fd,noChanges:_0x31698b,snapshot:_0x2fc956}=await buildMovePlan(_0x1502da,![]),_0x52ada=_0x31b8fd['id'];if(!_0x31698b)try{await updateMenuEntity(_0x1502da[_0x2382dd(0x111)],_0x1502da['cookie'],_0x31b8fd);}catch(_0x6d4559){const _0x4ac2ec=mapMenuApiError(_0x6d4559,_0x2382dd(0x114),_0x52ada);throw menuFailure(_0x4ac2ec,_0xb314b2,{'stage':'update','failed':{'id':_0x52ada},'warnings':['The\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2382dd(0x117),'targetId':_0x52ada,'lookupCommand':_0x2382dd(0xfa)}});}let _0x114632,_0x814c93;try{_0x114632=_0x31698b?_0x2fc956:await fetchMenuSnapshot(_0x1502da[_0x2382dd(0x111)],_0x1502da[_0x2382dd(0xf8)]),_0x814c93=requireMenu(_0x114632,_0x52ada),verifyMove(_0x814c93,_0xb314b2['after']),_0x814c93['parentId']!==null&&requireFolder(_0x114632,_0x814c93['parentId']);}catch(_0x3a8e7e){const _0x24452c=describeMenuErrorCause(_0x3a8e7e,_0x2382dd(0xef),_0x52ada),_0x513bc6=asVerificationError(_0x3a8e7e,_0x2382dd(0x105)+_0x52ada+_0x2382dd(0x119));throw menuFailure(_0x513bc6,_0xb314b2,{'stage':'verification','succeeded':[{'id':_0x52ada,'updateRequested':!_0x31698b,'skipped':_0x31698b}],'failed':{'id':_0x52ada,'requestedStateConfirmed':![],..._0x24452c},'warnings':['The\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x2382dd(0x117),'targetId':_0x52ada,'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20compress'}});}const _0x45f8d6=mutationResult({..._0xb314b2,'after':_0x814c93,'dryRun':![],'succeeded':[{'id':_0x52ada,'updated':!_0x31698b,'skipped':_0x31698b}],'verification':{'checkedBy':_0x2382dd(0xf5),'snapshotHash':_0x114632['hash'],'matchesRequestedState':!![]}});return{'ok':!![],'data':_0x45f8d6,'message':_0x31698b?_0x2382dd(0x10b)+_0x52ada+'\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.':_0x2382dd(0xfe)+_0x52ada+'.'};}};function a118_0x21d5(_0x13313d,_0x1400b6){_0x13313d=_0x13313d-0xee;const _0x27cc94=a118_0x27cc();let _0x21d582=_0x27cc94[_0x13313d];return _0x21d582;}function validateMoveInput(_0x57dd34){const _0x49c0e1=a118_0x306c72;validateExactId(_0x57dd34),parseParentId(_0x57dd34,_0x49c0e1(0x115),{'required':!![]}),parseParentId(_0x57dd34,'expect-parent-id',{'required':!![]}),validateSort(_0x57dd34);}async function buildMovePlan(_0x32ce50,_0x596b53){const _0x5dd006=a118_0x306c72,_0x211e59=validateExactId(_0x32ce50),_0x2dc602=parseParentId(_0x32ce50,_0x5dd006(0x115),{'required':!![]}),_0x4c695d=parseParentId(_0x32ce50,_0x5dd006(0x103),{'required':!![]}),_0x4e4625=validateSort(_0x32ce50),_0x1ef4bf=await fetchMutationSnapshot(_0x32ce50,_0x5dd006(0xf0),_0x211e59),_0x2c2f36=requireMenu(_0x1ef4bf,_0x211e59);if(_0x2c2f36[_0x5dd006(0x10f)]===_0x5dd006(0xf7)||_0x2c2f36[_0x5dd006(0x100)]!==0x0)throw menuError(_0x5dd006(0x101),_0x5dd006(0x10b)+_0x211e59+_0x5dd006(0x116),_0x5dd006(0xf4));if(_0x2c2f36[_0x5dd006(0xee)]!==_0x4c695d)throw menuError(_0x5dd006(0x110),_0x5dd006(0x10b)+_0x211e59+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x4c695d)+_0x5dd006(0x10c)+formatParent(_0x2c2f36['parentId'])+'.',_0x5dd006(0xf1));_0x2dc602!==null&&requireFolder(_0x1ef4bf,_0x2dc602);const _0x336bf5=_0x4e4625??(_0x2c2f36[_0x5dd006(0xee)]===_0x2dc602?_0x2c2f36[_0x5dd006(0xfc)]??0x0:nextSiblingSort(_0x1ef4bf,_0x2dc602,_0x5dd006(0xff))),_0x31581c={..._0x2c2f36,'parentId':_0x2dc602,'sort':_0x336bf5},_0x2204a1={'id':_0x211e59,'parentId':toApiParentId(_0x2dc602),'sort':_0x336bf5},_0x2100d4=_0x2c2f36[_0x5dd006(0xee)]===_0x2dc602&&_0x2c2f36[_0x5dd006(0xfc)]===_0x336bf5;return{'patch':_0x2204a1,'noChanges':_0x2100d4,'snapshot':_0x1ef4bf,'plan':mutationResult({'operation':'move','selector':{'id':_0x211e59,'parentId':_0x2dc602},'before':_0x2c2f36,'after':_0x31581c,'dryRun':_0x596b53,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5dd006(0x108),'method':_0x5dd006(0x109),'path':_0x5dd006(0xf3),'body':{..._0x2204a1,'appCode':_0x32ce50['appCode']}}],'snapshotHash':_0x1ef4bf[_0x5dd006(0x10a)],'warnings':_0x2100d4?['Source\x20menu\x20already\x20matches\x20the\x20requested\x20parent\x20and\x20sort.']:[]})};}function verifyMove(_0x1ff43e,_0x1bf85a){const _0x181a5e=a118_0x306c72;assertVerified(_0x1ff43e['type']!=='folder',_0x181a5e(0x10b)+_0x1ff43e['id']+'\x20is\x20now\x20type\x20folder.'),assertVerified(_0x1ff43e['childrenCount']===0x0,_0x181a5e(0x10b)+_0x1ff43e['id']+'\x20is\x20no\x20longer\x20a\x20leaf.'),assertVerified(_0x1ff43e[_0x181a5e(0xee)]===_0x1bf85a[_0x181a5e(0xee)],_0x181a5e(0x10b)+_0x1ff43e['id']+_0x181a5e(0xfb)),assertVerified(_0x1ff43e[_0x181a5e(0xfc)]===_0x1bf85a[_0x181a5e(0xfc)],_0x181a5e(0x10b)+_0x1ff43e['id']+_0x181a5e(0x106));}function a118_0x27cc(){const _0x4afe86=['2571baavua','Move\x20one\x20existing\x20leaf\x20menu\x20to\x20a\x20folder\x20or\x20root','move','parent-id','\x20must\x20be\x20a\x20non-folder\x20leaf\x20before\x20it\x20can\x20be\x20moved.','failed','1620mMxDBy','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','parentId','verify\x20menu\x20move','move\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','Would\x20move\x20menu\x20','/smartapi/menu/update','Run\x20`rabetbase\x20menu\x20list\x20--format\x20compress`\x20and\x20choose\x20an\x20exact\x20non-folder\x20leaf\x20id.','menu\x20list','256856HnlEQe','folder','cookie','5290265fNQyhZ','rabetbase\x20menu\x20list\x20--format\x20compress','\x20parentId\x20did\x20not\x20match\x20the\x20move\x20plan.','sort','4503836cUQtrO','Moved\x20menu\x20','menu','childrenCount','menu_move_source_not_leaf','25602687arkoPu','expect-parent-id','write','Move\x20request\x20for\x20menu\x20','\x20sort\x20did\x20not\x20match\x20the\x20move\x20plan.','175mrXBqL','move-menu','POST','hash','Menu\x20',',\x20current\x20','2101422LDtAGc','335412BAtNBM','type','menu_state_drift','appCode'];a118_0x27cc=function(){return _0x4afe86;};return a118_0x27cc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a118_0x430d(){const _0xad8e68=['stringify','<platform-generated>','appCode','folder','1467641yxRNer','Regroup\x20readback\x20also\x20failed:\x20','length','Label\x20of\x20the\x20new\x20root\x20folder','6FQPvrs','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','plan\x20regroup','--menu-ids\x20supports\x20at\x20most\x20','menu_regroup_already_applied','readbackError','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','12882jtPWSJ','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','flagMissing','Regroup\x20task\x20accepted.\x20','trim','unconfirmed','plan','Menus\x20','warnings','toLowerCase','22310zCPUEg','menu-ids','2063748mqclEL','POST','size','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','failed','SUCCESS','str','\x20menus\x20per\x20regroup\x20request.','\x20--format\x20compress','knownStatus','1552962ZCqZhx','validation','\x20and\x20regroup\x20menu\x20ids\x20','41bypqox','byId','menu_regroup_target_not_leaf','split','Regroup\x20readback\x20failed:\x20','write','parentId','map','menus','isTerminal','FAILED','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','Menu\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','submit-regroup-task','message','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','menu_regroup_target_label_missing','regroup-start','\x27\x5c\x27\x27','cookie','childrenCount','taskId','some','status','label','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','1746fMtful','589056jEALOn','regroup-submit','hash','filter','start\x20menu\x20regroup','string','/smartapi/menu/regroup','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\x20list','childrenIds','applied','menuIds','join','start\x20regroup','get','1060180CsXaaT','input','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','group'];a118_0x430d=function(){return _0xad8e68;};return a118_0x430d();}const a118_0x36c4eb=a118_0x5d6c;(function(_0x430dd6,_0x259f4c){const _0x5ea7f4=a118_0x5d6c,_0x3e424e=_0x430dd6();while(!![]){try{const _0xec11b1=parseInt(_0x5ea7f4(0x216))/0x1*(parseInt(_0x5ea7f4(0x1fb))/0x2)+parseInt(_0x5ea7f4(0x213))/0x3+parseInt(_0x5ea7f4(0x207))/0x4+-parseInt(_0x5ea7f4(0x1e7))/0x5+-parseInt(_0x5ea7f4(0x1f3))/0x6*(parseInt(_0x5ea7f4(0x1ef))/0x7)+-parseInt(_0x5ea7f4(0x1d8))/0x8+parseInt(_0x5ea7f4(0x1d7))/0x9*(-parseInt(_0x5ea7f4(0x205))/0xa);if(_0xec11b1===_0x259f4c)break;else _0x3e424e['push'](_0x3e424e['shift']());}catch(_0xbd997e){_0x3e424e['push'](_0x3e424e['shift']());}}}(a118_0x430d,0x5a377));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asyncTaskMessage,buildAsyncTaskStatusCommand,normalizeAsyncTask}from'../../commands/common/async-task.js';function a118_0x5d6c(_0x49baab,_0x4ee779){_0x49baab=_0x49baab-0x1c3;const _0x430d8f=a118_0x430d();let _0x5d6c40=_0x430d8f[_0x49baab];return _0x5d6c40;}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':'POST','path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':'menu','command':a118_0x36c4eb(0x1cd),'description':a118_0x36c4eb(0x1d6),'risk':a118_0x36c4eb(0x21b),'structuredErrors':!![],'flags':[{'name':a118_0x36c4eb(0x1d4),'type':'string','required':!![],'description':a118_0x36c4eb(0x1f2)},{'name':a118_0x36c4eb(0x206),'type':a118_0x36c4eb(0x1dd),'required':!![],'description':'Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x32bfb7){validateRegroupInput(_0x32bfb7);},async 'dryRun'(_0x2fe51e){const _0x1cf3c7=a118_0x36c4eb;validateRegroupInput(_0x2fe51e);const _0x40040d=await buildRegroupPlan(_0x2fe51e,!![]);return menuDryRunResult(_0x40040d[_0x1cf3c7(0x201)],{'method':_0x1cf3c7(0x208),'url':_0x1cf3c7(0x1de),'body':_0x40040d[_0x1cf3c7(0x1e8)],'description':_0x1cf3c7(0x1c6)+JSON['stringify'](_0x40040d[_0x1cf3c7(0x1d4)])+_0x1cf3c7(0x215)+_0x40040d[_0x1cf3c7(0x1e3)][_0x1cf3c7(0x1e4)](',\x20')+';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.'});},async 'execute'(_0x5e6fab){const _0x24cee8=a118_0x36c4eb;validateRegroupInput(_0x5e6fab);const _0x2747c7=await buildRegroupPlan(_0x5e6fab,![]);await recheckMutationSnapshot(_0x5e6fab,_0x2747c7['plan'],_0x24cee8(0x1e5));const _0x55758e=buildMenuLookupCommand(_0x5e6fab[_0x24cee8(0x1ed)]);let _0x4fc23a,_0x677c6d;try{_0x4fc23a=await startMenuRegroup(_0x5e6fab[_0x24cee8(0x1cf)],_0x2747c7['input']),_0x677c6d=normalizeAsyncTask(_0x4fc23a);}catch(_0x44f43e){const _0x48aa19=await inspectRegroupAfterFailure(_0x5e6fab[_0x24cee8(0x1ed)],_0x5e6fab[_0x24cee8(0x1cf)],_0x2747c7[_0x24cee8(0x1d4)],_0x2747c7['menuIds']),_0x3171a3=typeof _0x4fc23a?.['taskId']===_0x24cee8(0x1dd)&&_0x4fc23a[_0x24cee8(0x1d1)][_0x24cee8(0x1ff)]()?_0x4fc23a[_0x24cee8(0x1d1)][_0x24cee8(0x1ff)]():null,_0x4be7a1=_0x3171a3?{'command':buildAsyncTaskStatusCommand(_0x3171a3,_0x5e6fab['appCode'])}:null,_0x1c5599=mapMenuApiError(_0x44f43e,_0x24cee8(0x1dc));throw menuFailure(_0x1c5599,_0x2747c7['plan'],{'stage':_0x24cee8(0x1d9),'failed':{'menuIds':_0x2747c7['menuIds'],'taskId':_0x3171a3,'groupingApplied':_0x48aa19[_0x24cee8(0x1e2)]?!![]:_0x24cee8(0x200)},'after':_0x48aa19[_0x24cee8(0x1e2)]??null,'warnings':['The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.',..._0x48aa19[_0x24cee8(0x1f9)]?[_0x24cee8(0x1f0)+_0x48aa19[_0x24cee8(0x1f9)]]:[],..._0x3171a3?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':_0x24cee8(0x20d),'groupingApplied':_0x48aa19[_0x24cee8(0x1e2)]?!![]:_0x24cee8(0x200),'taskId':_0x3171a3,'query':_0x4be7a1,'lookupCommand':_0x55758e}});}const _0xa9d91d=buildAsyncTaskStatusCommand(_0x677c6d[_0x24cee8(0x1d1)],_0x5e6fab[_0x24cee8(0x1ed)]);let _0x3bced1=null,_0xee7df5=null,_0x32a1eb=null;try{_0x3bced1=await fetchMenuSnapshot(_0x5e6fab[_0x24cee8(0x1ed)],_0x5e6fab[_0x24cee8(0x1cf)]),_0xee7df5=findAppliedRegroup(_0x3bced1,_0x2747c7[_0x24cee8(0x1d4)],_0x2747c7[_0x24cee8(0x1e3)]);}catch(_0x1b45c0){_0x32a1eb=_0x1b45c0 instanceof Error?_0x1b45c0['message']:String(_0x1b45c0);}const _0x6dca25=mutationResult({..._0x2747c7[_0x24cee8(0x201)],'after':_0xee7df5??null,'dryRun':![],'succeeded':[{'groupId':_0xee7df5?.['group']['id']??null,'menuIds':_0x2747c7['menuIds'],'taskId':_0x677c6d[_0x24cee8(0x1d1)],'status':_0x677c6d[_0x24cee8(0x1d3)],'groupingApplied':_0xee7df5?!![]:_0x24cee8(0x200)}],'verification':{'checkedBy':_0x24cee8(0x1e0),'snapshotHash':_0x3bced1?.[_0x24cee8(0x1da)]??null,'groupId':_0xee7df5?.[_0x24cee8(0x1ea)]['id']??null,'groupingApplied':_0xee7df5?!![]:_0x24cee8(0x200),'readbackError':_0x32a1eb,'lookupCommand':_0x55758e},'warnings':[..._0x2747c7[_0x24cee8(0x201)][_0x24cee8(0x203)],...!_0xee7df5?[unconfirmedRegroupWarning(_0x677c6d)]:[],..._0x32a1eb?[_0x24cee8(0x21a)+_0x32a1eb]:[]]}),_0x31772c=_0x677c6d['status']===_0x24cee8(0x20e)&&!_0xee7df5?'Regroup\x20task\x20'+_0x677c6d['taskId']+_0x24cee8(0x1f5):_0x24cee8(0x1fe)+asyncTaskMessage(_0x677c6d);return{'ok':!![],'message':_0x31772c,'data':{..._0x6dca25,'task':_0x677c6d,'query':_0x677c6d[_0x24cee8(0x1c4)]?null:{'command':_0xa9d91d}}};}};function validateRegroupInput(_0x182968){const _0x9fb945=a118_0x36c4eb;if(!_0x182968[_0x9fb945(0x20f)](_0x9fb945(0x1d4))[_0x9fb945(0x1ff)]())throw CliErrors[_0x9fb945(0x1fd)](_0x9fb945(0x1d4));parseMenuIds(_0x182968[_0x9fb945(0x20f)]('menu-ids'));}function parseMenuIds(_0x50570e){const _0x27e1a4=a118_0x36c4eb,_0x219562=_0x50570e[_0x27e1a4(0x219)](',')[_0x27e1a4(0x21d)](_0x3fb414=>_0x3fb414[_0x27e1a4(0x1ff)]());if(_0x219562[_0x27e1a4(0x1f1)]===0x0||_0x219562['some'](_0x5d6808=>!_0x5d6808))throw CliErrors[_0x27e1a4(0x214)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x25221f=_0x219562[_0x27e1a4(0x21d)](_0x1aef47=>{const _0x1453cc=_0x27e1a4;if(!/^\d+$/['test'](_0x1aef47))throw CliErrors['validation'](_0x1453cc(0x1fa));const _0x5e6f7b=Number(_0x1aef47);if(!Number['isSafeInteger'](_0x5e6f7b)||_0x5e6f7b<=0x0)throw CliErrors[_0x1453cc(0x214)](_0x1453cc(0x1fa));return _0x5e6f7b;});if(new Set(_0x25221f)[_0x27e1a4(0x209)]!==_0x25221f[_0x27e1a4(0x1f1)])throw CliErrors['validation'](_0x27e1a4(0x1fc));if(_0x25221f[_0x27e1a4(0x1f1)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x27e1a4(0x214)](_0x27e1a4(0x1f7)+MAX_REGROUP_MENU_COUNT+_0x27e1a4(0x210));return _0x25221f;}function buildMenuLookupCommand(_0x1c54db){const _0x4bcc0c=a118_0x36c4eb,_0x1893bd='\x27'+_0x1c54db['replace'](/'/g,_0x4bcc0c(0x1ce))+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x1893bd+_0x4bcc0c(0x211);}function unconfirmedRegroupWarning(_0x148187){const _0x51f805=a118_0x36c4eb;if(_0x148187[_0x51f805(0x1d3)]===_0x51f805(0x20e))return _0x51f805(0x1c8);if(_0x148187['status']===_0x51f805(0x1c5))return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x148187[_0x51f805(0x212)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';return _0x51f805(0x1df);}async function buildRegroupPlan(_0x1e625e,_0x8bdd09){const _0x5843bf=a118_0x36c4eb,_0x49db9f=_0x1e625e[_0x5843bf(0x20f)]('label')[_0x5843bf(0x1ff)](),_0x2ad4da=parseMenuIds(_0x1e625e[_0x5843bf(0x20f)]('menu-ids')),_0x592eb3=await fetchMutationSnapshot(_0x1e625e,_0x5843bf(0x1f6)),_0x5a61b3=_0x2ad4da['map'](_0x2e1d6f=>requireMenu(_0x592eb3,_0x2e1d6f));for(const _0xf5429a of _0x5a61b3){if(_0xf5429a['type'][_0x5843bf(0x1ff)]()[_0x5843bf(0x204)]()===_0x5843bf(0x1ee)||_0xf5429a[_0x5843bf(0x1d0)]>0x0)throw menuError(_0x5843bf(0x218),'Menu\x20'+_0xf5429a['id']+_0x5843bf(0x20c),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0xf5429a[_0x5843bf(0x1d4)][_0x5843bf(0x1ff)]())throw menuError(_0x5843bf(0x1cc),_0x5843bf(0x1c7)+_0xf5429a['id']+_0x5843bf(0x1e9),_0x5843bf(0x20a));}const _0x5f2dac=findAppliedRegroup(_0x592eb3,_0x49db9f,_0x2ad4da);if(_0x5f2dac)throw menuError(_0x5843bf(0x1f8),_0x5843bf(0x202)+_0x2ad4da[_0x5843bf(0x1e4)](',\x20')+'\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'+_0x5f2dac[_0x5843bf(0x1ea)]['id']+'\x20('+JSON['stringify'](_0x49db9f)+').','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.');const _0x57222f=_0x592eb3[_0x5843bf(0x1c3)][_0x5843bf(0x1db)](_0x32ce17=>_0x32ce17[_0x5843bf(0x21c)]==null&&_0x32ce17['type']['trim']()[_0x5843bf(0x204)]()===_0x5843bf(0x1ee)&&_0x32ce17[_0x5843bf(0x1d4)]===_0x49db9f);if(_0x57222f[_0x5843bf(0x1f1)]>0x0)throw menuError('menu_regroup_label_conflict','Root\x20folder\x20label\x20'+JSON[_0x5843bf(0x1eb)](_0x49db9f)+_0x5843bf(0x1cb)+_0x57222f[_0x5843bf(0x21d)](_0x198259=>_0x198259['id'])['join'](',\x20')+'.',_0x5843bf(0x1d5));const _0x7d5de3={'appCode':_0x1e625e[_0x5843bf(0x1ed)],'menuGroups':[{'label':_0x49db9f,'type':_0x5843bf(0x1ee),'children':_0x5a61b3['map'](_0x59bed6=>({'id':_0x59bed6['id'],'label':_0x59bed6['label']}))}]},_0x3ebb88=mutationResult({'operation':_0x5843bf(0x1cd),'selector':{'label':_0x49db9f,'menuIds':_0x2ad4da},'before':{'menus':_0x5a61b3},'after':{'group':{'id':null,'parentId':null,'label':_0x49db9f,'path':_0x5843bf(0x1ec),'type':'folder','childrenIds':_0x2ad4da},'children':_0x5a61b3['map'](_0x243db1=>({'id':_0x243db1['id'],'label':_0x243db1[_0x5843bf(0x1d4)],'beforeParentId':_0x243db1[_0x5843bf(0x21c)],'afterParentId':'<new-group-id>'}))},'dryRun':_0x8bdd09,'backend':[...BACKEND],'plannedActions':[{'stage':_0x5843bf(0x1c9),'method':'POST','path':_0x5843bf(0x1de),'body':_0x7d5de3}],'snapshotHash':_0x592eb3['hash'],'warnings':[_0x5843bf(0x1f4),_0x5843bf(0x20b)]});return{'label':_0x49db9f,'menuIds':_0x2ad4da,'input':_0x7d5de3,'plan':_0x3ebb88};}function findAppliedRegroup(_0x3163b1,_0xd8fb4f,_0x106eaa){const _0x42c1fe=a118_0x36c4eb,_0x39539e=_0x106eaa['map'](_0x30b106=>_0x3163b1[_0x42c1fe(0x217)]['get'](_0x30b106))['filter'](_0x4c16f4=>Boolean(_0x4c16f4));if(_0x39539e[_0x42c1fe(0x1f1)]!==_0x106eaa[_0x42c1fe(0x1f1)])return null;const _0x54f823=_0x39539e[0x0]?.[_0x42c1fe(0x21c)];if(_0x54f823==null||_0x39539e[_0x42c1fe(0x1d2)](_0x4b465d=>_0x4b465d[_0x42c1fe(0x21c)]!==_0x54f823))return null;const _0x328e68=_0x3163b1[_0x42c1fe(0x217)][_0x42c1fe(0x1e6)](_0x54f823);if(!_0x328e68||_0x328e68[_0x42c1fe(0x21c)]!=null||_0x328e68['type'][_0x42c1fe(0x1ff)]()[_0x42c1fe(0x204)]()!==_0x42c1fe(0x1ee)||_0x328e68[_0x42c1fe(0x1d4)]!==_0xd8fb4f)return null;const _0x3289b3=[..._0x106eaa]['sort']((_0xb5386c,_0x82ca0d)=>_0xb5386c-_0x82ca0d),_0x5048b9=[..._0x328e68[_0x42c1fe(0x1e1)]]['sort']((_0x43d0f0,_0x2af4b9)=>_0x43d0f0-_0x2af4b9);if(JSON[_0x42c1fe(0x1eb)](_0x5048b9)!==JSON[_0x42c1fe(0x1eb)](_0x3289b3))return null;return{'group':_0x328e68,'children':_0x39539e};}async function inspectRegroupAfterFailure(_0x42a8a2,_0x4af33a,_0x396ad9,_0x175fe8){const _0x5e02fb=a118_0x36c4eb;try{const _0xd304e5=await fetchMenuSnapshot(_0x42a8a2,_0x4af33a);return{'applied':findAppliedRegroup(_0xd304e5,_0x396ad9,_0x175fe8),'readbackError':null};}catch(_0x1cf307){return{'applied':null,'readbackError':_0x1cf307 instanceof Error?_0x1cf307[_0x5e02fb(0x1ca)]:String(_0x1cf307)};}}
|
|
1
|
+
const a119_0x109bc5=a119_0x5b1e;(function(_0x34ac62,_0x3df907){const _0x1c8f30=a119_0x5b1e,_0x332cea=_0x34ac62();while(!![]){try{const _0x404ed0=parseInt(_0x1c8f30(0xef))/0x1+parseInt(_0x1c8f30(0xd7))/0x2*(parseInt(_0x1c8f30(0x125))/0x3)+-parseInt(_0x1c8f30(0xe7))/0x4*(-parseInt(_0x1c8f30(0x112))/0x5)+-parseInt(_0x1c8f30(0x12d))/0x6+parseInt(_0x1c8f30(0xdc))/0x7+parseInt(_0x1c8f30(0xf6))/0x8*(-parseInt(_0x1c8f30(0x117))/0x9)+-parseInt(_0x1c8f30(0xfb))/0xa;if(_0x404ed0===_0x3df907)break;else _0x332cea['push'](_0x332cea['shift']());}catch(_0x1dc9a1){_0x332cea['push'](_0x332cea['shift']());}}}(a119_0x6cf8,0xde1e7));function a119_0x5b1e(_0x437bfb,_0x5028bb){_0x437bfb=_0x437bfb-0xd5;const _0x6cf87=a119_0x6cf8();let _0x5b1e43=_0x6cf87[_0x437bfb];return _0x5b1e43;}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':a119_0x109bc5(0xe6),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a119_0x109bc5(0x102),'command':a119_0x109bc5(0xda),'description':'Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','risk':'write','structuredErrors':!![],'flags':[{'name':a119_0x109bc5(0xf3),'type':a119_0x109bc5(0x10e),'required':!![],'description':a119_0x109bc5(0xf7)},{'name':a119_0x109bc5(0xeb),'type':a119_0x109bc5(0x10e),'required':!![],'description':a119_0x109bc5(0xf0)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x470586){validateRegroupInput(_0x470586);},async 'dryRun'(_0x40f80c){const _0x154e62=a119_0x109bc5;validateRegroupInput(_0x40f80c);const _0x1b5c22=await buildRegroupPlan(_0x40f80c,!![]);return menuDryRunResult(_0x1b5c22[_0x154e62(0x104)],{'method':'POST','url':_0x154e62(0x127),'body':_0x1b5c22[_0x154e62(0x11a)],'description':_0x154e62(0xe1)+JSON[_0x154e62(0xf1)](_0x1b5c22['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x1b5c22[_0x154e62(0x12f)]['join'](',\x20')+_0x154e62(0xdd)});},async 'execute'(_0x39f399){const _0x491220=a119_0x109bc5;validateRegroupInput(_0x39f399);const _0x18b1ac=await buildRegroupPlan(_0x39f399,![]);await recheckMutationSnapshot(_0x39f399,_0x18b1ac[_0x491220(0x104)],'start\x20regroup');const _0x529c74=buildMenuLookupCommand(_0x39f399[_0x491220(0xec)]);let _0x58c1e1,_0x154b84;try{_0x58c1e1=await startMenuRegroup(_0x39f399[_0x491220(0xf9)],_0x18b1ac[_0x491220(0x11a)]),_0x154b84=normalizeAsyncTask(_0x58c1e1);}catch(_0x29c403){const _0x306bae=await inspectRegroupAfterFailure(_0x39f399['appCode'],_0x39f399[_0x491220(0xf9)],_0x18b1ac[_0x491220(0xf3)],_0x18b1ac[_0x491220(0x12f)]),_0x152c91=typeof _0x58c1e1?.[_0x491220(0x109)]===_0x491220(0x10e)&&_0x58c1e1['taskId'][_0x491220(0x120)]()?_0x58c1e1[_0x491220(0x109)][_0x491220(0x120)]():null,_0x596f64=_0x152c91?{'command':buildAsyncTaskStatusCommand(_0x152c91,_0x39f399[_0x491220(0xec)])}:null,_0x462788=mapMenuApiError(_0x29c403,_0x491220(0x110));throw menuFailure(_0x462788,_0x18b1ac[_0x491220(0x104)],{'stage':_0x491220(0x113),'failed':{'menuIds':_0x18b1ac[_0x491220(0x12f)],'taskId':_0x152c91,'groupingApplied':_0x306bae[_0x491220(0x10b)]?!![]:_0x491220(0xd9)},'after':_0x306bae[_0x491220(0x10b)]??null,'warnings':[_0x491220(0xfa),..._0x306bae[_0x491220(0x114)]?[_0x491220(0x107)+_0x306bae['readbackError']]:[],..._0x152c91?['The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.']:[]],'verification':{'status':'failed','groupingApplied':_0x306bae[_0x491220(0x10b)]?!![]:_0x491220(0xd9),'taskId':_0x152c91,'query':_0x596f64,'lookupCommand':_0x529c74}});}const _0x3a26f4=buildAsyncTaskStatusCommand(_0x154b84[_0x491220(0x109)],_0x39f399[_0x491220(0xec)]);let _0xf13779=null,_0x3a22b0=null,_0x42ad4e=null;try{_0xf13779=await fetchMenuSnapshot(_0x39f399[_0x491220(0xec)],_0x39f399[_0x491220(0xf9)]),_0x3a22b0=findAppliedRegroup(_0xf13779,_0x18b1ac[_0x491220(0xf3)],_0x18b1ac[_0x491220(0x12f)]);}catch(_0x19f595){_0x42ad4e=_0x19f595 instanceof Error?_0x19f595[_0x491220(0x118)]:String(_0x19f595);}const _0x2f4d73=mutationResult({..._0x18b1ac[_0x491220(0x104)],'after':_0x3a22b0??null,'dryRun':![],'succeeded':[{'groupId':_0x3a22b0?.[_0x491220(0xd8)]['id']??null,'menuIds':_0x18b1ac[_0x491220(0x12f)],'taskId':_0x154b84[_0x491220(0x109)],'status':_0x154b84[_0x491220(0x11e)],'groupingApplied':_0x3a22b0?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x491220(0x11c),'snapshotHash':_0xf13779?.[_0x491220(0x12c)]??null,'groupId':_0x3a22b0?.['group']['id']??null,'groupingApplied':_0x3a22b0?!![]:_0x491220(0xd9),'readbackError':_0x42ad4e,'lookupCommand':_0x529c74},'warnings':[..._0x18b1ac[_0x491220(0x104)][_0x491220(0x122)],...!_0x3a22b0?[unconfirmedRegroupWarning(_0x154b84)]:[],..._0x42ad4e?['Regroup\x20readback\x20failed:\x20'+_0x42ad4e]:[]]}),_0x1bab7e=_0x154b84[_0x491220(0x11e)]===_0x491220(0xe2)&&!_0x3a22b0?'Regroup\x20task\x20'+_0x154b84[_0x491220(0x109)]+_0x491220(0x10d):_0x491220(0xfd)+asyncTaskMessage(_0x154b84);return{'ok':!![],'message':_0x1bab7e,'data':{..._0x2f4d73,'task':_0x154b84,'query':_0x154b84[_0x491220(0x116)]?null:{'command':_0x3a26f4}}};}};function validateRegroupInput(_0x388c83){const _0x22c2e2=a119_0x109bc5;if(!_0x388c83[_0x22c2e2(0x10a)](_0x22c2e2(0xf3))['trim']())throw CliErrors['flagMissing'](_0x22c2e2(0xf3));parseMenuIds(_0x388c83[_0x22c2e2(0x10a)]('menu-ids'));}function parseMenuIds(_0x48d232){const _0xd882b3=a119_0x109bc5,_0x19b5c1=_0x48d232[_0xd882b3(0xff)](',')[_0xd882b3(0x115)](_0x377ea0=>_0x377ea0[_0xd882b3(0x120)]());if(_0x19b5c1[_0xd882b3(0x12b)]===0x0||_0x19b5c1[_0xd882b3(0xf5)](_0x49a554=>!_0x49a554))throw CliErrors[_0xd882b3(0xde)](_0xd882b3(0x101));const _0x3bc33e=_0x19b5c1['map'](_0x22b91e=>{const _0x3918aa=_0xd882b3;if(!/^\d+$/[_0x3918aa(0x129)](_0x22b91e))throw CliErrors[_0x3918aa(0xde)](_0x3918aa(0x101));const _0x5cc2dd=Number(_0x22b91e);if(!Number[_0x3918aa(0x119)](_0x5cc2dd)||_0x5cc2dd<=0x0)throw CliErrors['validation'](_0x3918aa(0x101));return _0x5cc2dd;});if(new Set(_0x3bc33e)[_0xd882b3(0xf4)]!==_0x3bc33e[_0xd882b3(0x12b)])throw CliErrors[_0xd882b3(0xde)](_0xd882b3(0x10c));if(_0x3bc33e[_0xd882b3(0x12b)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0xd882b3(0xde)]('--menu-ids\x20supports\x20at\x20most\x20'+MAX_REGROUP_MENU_COUNT+_0xd882b3(0x121));return _0x3bc33e;}function buildMenuLookupCommand(_0x51e48b){const _0x4c5053=a119_0x109bc5,_0x418f4d='\x27'+_0x51e48b[_0x4c5053(0xe4)](/'/g,_0x4c5053(0xd6))+'\x27';return CLI_BIN_NAME+_0x4c5053(0x11d)+_0x418f4d+_0x4c5053(0xe0);}function unconfirmedRegroupWarning(_0x4adafc){const _0x55ea0b=a119_0x109bc5;if(_0x4adafc[_0x55ea0b(0x11e)]===_0x55ea0b(0xe2))return _0x55ea0b(0x108);if(_0x4adafc[_0x55ea0b(0x11e)]==='FAILED')return _0x55ea0b(0xe5);if(_0x4adafc[_0x55ea0b(0x103)])return'The\x20regroup\x20task\x20was\x20accepted,\x20but\x20the\x20grouping\x20is\x20not\x20visible\x20yet.\x20Query\x20the\x20returned\x20taskId\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';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.';}function a119_0x6cf8(){const _0x24f40e=['258070jMAZFT','regroup-submit','readbackError','map','isTerminal','9mGIaPZ','message','isSafeInteger','input','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','menu\x20list','\x20menu\x20list\x20--appcode\x20','status','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','trim','\x20menus\x20per\x20regroup\x20request.','warnings','Menu\x20','sort','696UeEerY','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','/smartapi/menu/regroup','byId','test','Root\x20folder\x20label\x20','length','hash','5760756vDELfR','menu_regroup_target_not_leaf','menuIds','Menus\x20','parentId','\x27\x5c\x27\x27','14044kTrduP','group','unconfirmed','regroup-start','menus','2291506yhukuL',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','validation','menu_regroup_label_conflict','\x20--format\x20compress','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','SUCCESS','join','replace','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','POST','56UCAQsg','filter','get','type','menu-ids','appCode','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','498557tTtBfd','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','stringify','toLowerCase','label','size','some','9107224jfajiI','Label\x20of\x20the\x20new\x20root\x20folder','plan\x20regroup','cookie','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','1692870CWHFif','<platform-generated>','Regroup\x20task\x20accepted.\x20','<new-group-id>','split','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','menu','knownStatus','plan','menu_regroup_already_applied','folder','Regroup\x20readback\x20also\x20failed:\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','taskId','str','applied','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','string','submit-regroup-task','start\x20menu\x20regroup','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20'];a119_0x6cf8=function(){return _0x24f40e;};return a119_0x6cf8();}async function buildRegroupPlan(_0x1dff5c,_0x14e6a7){const _0x42a95e=a119_0x109bc5,_0x2a2457=_0x1dff5c[_0x42a95e(0x10a)]('label')[_0x42a95e(0x120)](),_0x5fc6db=parseMenuIds(_0x1dff5c['str'](_0x42a95e(0xeb))),_0xcca8e8=await fetchMutationSnapshot(_0x1dff5c,_0x42a95e(0xf8)),_0x10b9be=_0x5fc6db[_0x42a95e(0x115)](_0x46e779=>requireMenu(_0xcca8e8,_0x46e779));for(const _0x39d946 of _0x10b9be){if(_0x39d946['type']['trim']()[_0x42a95e(0xf2)]()===_0x42a95e(0x106)||_0x39d946['childrenCount']>0x0)throw menuError(_0x42a95e(0x12e),'Menu\x20'+_0x39d946['id']+_0x42a95e(0x11b),'Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.');if(!_0x39d946[_0x42a95e(0xf3)][_0x42a95e(0x120)]())throw menuError('menu_regroup_target_label_missing',_0x42a95e(0x123)+_0x39d946['id']+_0x42a95e(0x100),'Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.');}const _0xd2b3de=findAppliedRegroup(_0xcca8e8,_0x2a2457,_0x5fc6db);if(_0xd2b3de)throw menuError(_0x42a95e(0x105),_0x42a95e(0x130)+_0x5fc6db[_0x42a95e(0xe3)](',\x20')+_0x42a95e(0x111)+_0xd2b3de[_0x42a95e(0xd8)]['id']+'\x20('+JSON[_0x42a95e(0xf1)](_0x2a2457)+').',_0x42a95e(0x11f));const _0x4f83d1=_0xcca8e8[_0x42a95e(0xdb)][_0x42a95e(0xe8)](_0x1257cd=>_0x1257cd[_0x42a95e(0xd5)]==null&&_0x1257cd[_0x42a95e(0xea)][_0x42a95e(0x120)]()[_0x42a95e(0xf2)]()===_0x42a95e(0x106)&&_0x1257cd[_0x42a95e(0xf3)]===_0x2a2457);if(_0x4f83d1['length']>0x0)throw menuError(_0x42a95e(0xdf),_0x42a95e(0x12a)+JSON[_0x42a95e(0xf1)](_0x2a2457)+_0x42a95e(0x126)+_0x4f83d1['map'](_0x4801ab=>_0x4801ab['id'])[_0x42a95e(0xe3)](',\x20')+'.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.');const _0x3d73f0={'appCode':_0x1dff5c['appCode'],'menuGroups':[{'label':_0x2a2457,'type':_0x42a95e(0x106),'children':_0x10b9be[_0x42a95e(0x115)](_0x558dcd=>({'id':_0x558dcd['id'],'label':_0x558dcd[_0x42a95e(0xf3)]}))}]},_0x318016=mutationResult({'operation':_0x42a95e(0xda),'selector':{'label':_0x2a2457,'menuIds':_0x5fc6db},'before':{'menus':_0x10b9be},'after':{'group':{'id':null,'parentId':null,'label':_0x2a2457,'path':_0x42a95e(0xfc),'type':_0x42a95e(0x106),'childrenIds':_0x5fc6db},'children':_0x10b9be[_0x42a95e(0x115)](_0x4d2596=>({'id':_0x4d2596['id'],'label':_0x4d2596[_0x42a95e(0xf3)],'beforeParentId':_0x4d2596['parentId'],'afterParentId':_0x42a95e(0xfe)}))},'dryRun':_0x14e6a7,'backend':[...BACKEND],'plannedActions':[{'stage':_0x42a95e(0x10f),'method':'POST','path':_0x42a95e(0x127),'body':_0x3d73f0}],'snapshotHash':_0xcca8e8[_0x42a95e(0x12c)],'warnings':[_0x42a95e(0xed),_0x42a95e(0xee)]});return{'label':_0x2a2457,'menuIds':_0x5fc6db,'input':_0x3d73f0,'plan':_0x318016};}function findAppliedRegroup(_0x24462f,_0x2dda81,_0x324245){const _0x23244d=a119_0x109bc5,_0x10af4e=_0x324245[_0x23244d(0x115)](_0x260e84=>_0x24462f[_0x23244d(0x128)][_0x23244d(0xe9)](_0x260e84))[_0x23244d(0xe8)](_0x276ff8=>Boolean(_0x276ff8));if(_0x10af4e[_0x23244d(0x12b)]!==_0x324245[_0x23244d(0x12b)])return null;const _0x46ec4e=_0x10af4e[0x0]?.[_0x23244d(0xd5)];if(_0x46ec4e==null||_0x10af4e[_0x23244d(0xf5)](_0x5b78cf=>_0x5b78cf['parentId']!==_0x46ec4e))return null;const _0x48bdfb=_0x24462f['byId'][_0x23244d(0xe9)](_0x46ec4e);if(!_0x48bdfb||_0x48bdfb[_0x23244d(0xd5)]!=null||_0x48bdfb[_0x23244d(0xea)]['trim']()[_0x23244d(0xf2)]()!=='folder'||_0x48bdfb[_0x23244d(0xf3)]!==_0x2dda81)return null;const _0x56a57b=[..._0x324245][_0x23244d(0x124)]((_0x1101fc,_0x883d9c)=>_0x1101fc-_0x883d9c),_0xc5e5f4=[..._0x48bdfb['childrenIds']]['sort']((_0x5df51b,_0x459105)=>_0x5df51b-_0x459105);if(JSON[_0x23244d(0xf1)](_0xc5e5f4)!==JSON[_0x23244d(0xf1)](_0x56a57b))return null;return{'group':_0x48bdfb,'children':_0x10af4e};}async function inspectRegroupAfterFailure(_0x364e11,_0x59d502,_0xa3b4c4,_0x3d6604){const _0x2e586c=a119_0x109bc5;try{const _0x15a735=await fetchMenuSnapshot(_0x364e11,_0x59d502);return{'applied':findAppliedRegroup(_0x15a735,_0xa3b4c4,_0x3d6604),'readbackError':null};}catch(_0x5b2c2b){return{'applied':null,'readbackError':_0x5b2c2b instanceof Error?_0x5b2c2b[_0x2e586c(0x118)]:String(_0x5b2c2b)};}}
|