@lovrabet/rabetbase-cli 2.5.4-beta.1 → 2.5.4-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.js +1 -1
- package/lib/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/logs.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +1 -1
- package/lib/commands/config/init.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/batch-design.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/api-architecture-upgrade.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/feishu-bind.d.ts +2 -0
- package/lib/commands/user-account/feishu-bind.js +1 -0
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.js +1 -1
- package/lib/config/region-config.js +1 -1
- package/lib/config/schema.d.ts +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.d.ts +4 -0
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/region.d.ts +1 -1
- package/lib/constant/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.d.ts +14 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +1 -0
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/page/lr-smart-jsx.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/generated/official-routing.d.ts +15 -3
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +2 -2
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +5 -0
- 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/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 +4 -3
- package/skills/rabetbase/guides/sql-creation-workflow.md +1 -1
- package/skills/rabetbase/guides/sql-mybatis.md +12 -8
- package/skills/rabetbase/references/rabetbase-config.md +6 -4
- package/skills/rabetbase/references/rabetbase-init.md +7 -5
- package/skills/rabetbase/references/rabetbase-kb.md +8 -6
- package/skills/rabetbase/references/rabetbase-user-account.md +20 -2
- package/skills/rabetbase.manifest.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a159_0x36a4d2=a159_0x3a2e;(function(_0x5e528a,_0xf3ec43){const _0x15fbfb=a159_0x3a2e,_0x7be8c7=_0x5e528a();while(!![]){try{const _0x2aad6a=-parseInt(_0x15fbfb(0x1ab))/0x1*(-parseInt(_0x15fbfb(0x18f))/0x2)+parseInt(_0x15fbfb(0x1ad))/0x3*(-parseInt(_0x15fbfb(0x17c))/0x4)+parseInt(_0x15fbfb(0x19a))/0x5+parseInt(_0x15fbfb(0x1a3))/0x6+parseInt(_0x15fbfb(0x186))/0x7*(-parseInt(_0x15fbfb(0x16f))/0x8)+parseInt(_0x15fbfb(0x175))/0x9*(-parseInt(_0x15fbfb(0x19b))/0xa)+parseInt(_0x15fbfb(0x1af))/0xb*(parseInt(_0x15fbfb(0x15e))/0xc);if(_0x2aad6a===_0xf3ec43)break;else _0x7be8c7['push'](_0x7be8c7['shift']());}catch(_0x33aed8){_0x7be8c7['push'](_0x7be8c7['shift']());}}}(a159_0x444f,0xc8a6e));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';function a159_0x3a2e(_0x3e650d,_0x291192){_0x3e650d=_0x3e650d-0x15b;const _0x444fdf=a159_0x444f();let _0x3a2ea9=_0x444fdf[_0x3e650d];return _0x3a2ea9;}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':a159_0x36a4d2(0x17f),'path':a159_0x36a4d2(0x195)}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a159_0x36a4d2(0x1a0),'command':a159_0x36a4d2(0x182),'description':a159_0x36a4d2(0x179),'risk':a159_0x36a4d2(0x191),'structuredErrors':!![],'flags':[{'name':a159_0x36a4d2(0x187),'type':a159_0x36a4d2(0x168),'required':!![],'description':'Label\x20of\x20the\x20new\x20root\x20folder'},{'name':a159_0x36a4d2(0x17d),'type':a159_0x36a4d2(0x168),'required':!![],'description':a159_0x36a4d2(0x1b5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x133639){validateRegroupInput(_0x133639);},async 'dryRun'(_0x33cc5f){const _0x5f4052=a159_0x36a4d2;validateRegroupInput(_0x33cc5f);const _0xb269d6=await buildRegroupPlan(_0x33cc5f,!![]);return menuDryRunResult(_0xb269d6[_0x5f4052(0x199)],{'method':_0x5f4052(0x17f),'url':_0x5f4052(0x195),'body':_0xb269d6[_0x5f4052(0x16c)],'description':_0x5f4052(0x172)+JSON[_0x5f4052(0x169)](_0xb269d6['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0xb269d6[_0x5f4052(0x183)][_0x5f4052(0x165)](',\x20')+_0x5f4052(0x17b)});},async 'execute'(_0x274d39){const _0x4e44d0=a159_0x36a4d2;validateRegroupInput(_0x274d39);const _0x593739=await buildRegroupPlan(_0x274d39,![]);await recheckMutationSnapshot(_0x274d39,_0x593739[_0x4e44d0(0x199)],_0x4e44d0(0x19c));const _0x2f2900=buildMenuLookupCommand(_0x274d39[_0x4e44d0(0x188)]);let _0x49062c,_0xa437d2;try{_0x49062c=await startMenuRegroup(_0x274d39[_0x4e44d0(0x15c)],_0x593739['input']),_0xa437d2=normalizeAsyncTask(_0x49062c);}catch(_0x44ab0c){const _0x14e8d4=await inspectRegroupAfterFailure(_0x274d39['appCode'],_0x274d39[_0x4e44d0(0x15c)],_0x593739[_0x4e44d0(0x187)],_0x593739[_0x4e44d0(0x183)]),_0x4acdf4=typeof _0x49062c?.[_0x4e44d0(0x1a5)]==='string'&&_0x49062c[_0x4e44d0(0x1a5)]['trim']()?_0x49062c['taskId'][_0x4e44d0(0x177)]():null,_0x1d7a5c=_0x4acdf4?{'command':buildAsyncTaskStatusCommand(_0x4acdf4,_0x274d39['appCode'])}:null,_0x1ca865=mapMenuApiError(_0x44ab0c,'start\x20menu\x20regroup');throw menuFailure(_0x1ca865,_0x593739['plan'],{'stage':_0x4e44d0(0x19e),'failed':{'menuIds':_0x593739['menuIds'],'taskId':_0x4acdf4,'groupingApplied':_0x14e8d4[_0x4e44d0(0x1b4)]?!![]:'unconfirmed'},'after':_0x14e8d4[_0x4e44d0(0x1b4)]??null,'warnings':[_0x4e44d0(0x1b7),..._0x14e8d4[_0x4e44d0(0x17a)]?['Regroup\x20readback\x20also\x20failed:\x20'+_0x14e8d4[_0x4e44d0(0x17a)]]:[],..._0x4acdf4?[_0x4e44d0(0x194)]:[]],'verification':{'status':_0x4e44d0(0x189),'groupingApplied':_0x14e8d4['applied']?!![]:_0x4e44d0(0x16d),'taskId':_0x4acdf4,'query':_0x1d7a5c,'lookupCommand':_0x2f2900}});}const _0x1bce66=buildAsyncTaskStatusCommand(_0xa437d2['taskId'],_0x274d39[_0x4e44d0(0x188)]);let _0x37c5f4=null,_0x5ab028=null,_0x1a9e4b=null;try{_0x37c5f4=await fetchMenuSnapshot(_0x274d39[_0x4e44d0(0x188)],_0x274d39[_0x4e44d0(0x15c)]),_0x5ab028=findAppliedRegroup(_0x37c5f4,_0x593739[_0x4e44d0(0x187)],_0x593739[_0x4e44d0(0x183)]);}catch(_0x35da30){_0x1a9e4b=_0x35da30 instanceof Error?_0x35da30[_0x4e44d0(0x15f)]:String(_0x35da30);}const _0xc0ae83=mutationResult({..._0x593739[_0x4e44d0(0x199)],'after':_0x5ab028??null,'dryRun':![],'succeeded':[{'groupId':_0x5ab028?.['group']['id']??null,'menuIds':_0x593739[_0x4e44d0(0x183)],'taskId':_0xa437d2[_0x4e44d0(0x1a5)],'status':_0xa437d2[_0x4e44d0(0x1ae)],'groupingApplied':_0x5ab028?!![]:'unconfirmed'}],'verification':{'checkedBy':_0x4e44d0(0x18a),'snapshotHash':_0x37c5f4?.[_0x4e44d0(0x185)]??null,'groupId':_0x5ab028?.['group']['id']??null,'groupingApplied':_0x5ab028?!![]:_0x4e44d0(0x16d),'readbackError':_0x1a9e4b,'lookupCommand':_0x2f2900},'warnings':[..._0x593739[_0x4e44d0(0x199)]['warnings'],...!_0x5ab028?[unconfirmedRegroupWarning(_0xa437d2)]:[],..._0x1a9e4b?[_0x4e44d0(0x1a6)+_0x1a9e4b]:[]]}),_0x36f886=_0xa437d2[_0x4e44d0(0x1ae)]==='SUCCESS'&&!_0x5ab028?'Regroup\x20task\x20'+_0xa437d2[_0x4e44d0(0x1a5)]+_0x4e44d0(0x176):_0x4e44d0(0x17e)+asyncTaskMessage(_0xa437d2);return{'ok':!![],'message':_0x36f886,'data':{..._0xc0ae83,'task':_0xa437d2,'query':_0xa437d2[_0x4e44d0(0x197)]?null:{'command':_0x1bce66}}};}};function validateRegroupInput(_0x49cbaf){const _0x1992aa=a159_0x36a4d2;if(!_0x49cbaf[_0x1992aa(0x18e)]('label')[_0x1992aa(0x177)]())throw CliErrors[_0x1992aa(0x161)]('label');parseMenuIds(_0x49cbaf[_0x1992aa(0x18e)](_0x1992aa(0x17d)));}function parseMenuIds(_0x46c2ae){const _0x1035fb=a159_0x36a4d2,_0x11fcaa=_0x46c2ae['split'](',')[_0x1035fb(0x1a4)](_0x2ee52f=>_0x2ee52f['trim']());if(_0x11fcaa[_0x1035fb(0x19f)]===0x0||_0x11fcaa[_0x1035fb(0x15b)](_0x45ef52=>!_0x45ef52))throw CliErrors[_0x1035fb(0x16b)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x5580cd=_0x11fcaa[_0x1035fb(0x1a4)](_0x195371=>{const _0x1b2584=_0x1035fb;if(!/^\d+$/[_0x1b2584(0x1b3)](_0x195371))throw CliErrors[_0x1b2584(0x16b)](_0x1b2584(0x1a9));const _0xe51614=Number(_0x195371);if(!Number[_0x1b2584(0x18d)](_0xe51614)||_0xe51614<=0x0)throw CliErrors['validation'](_0x1b2584(0x1a9));return _0xe51614;});if(new Set(_0x5580cd)['size']!==_0x5580cd['length'])throw CliErrors[_0x1035fb(0x16b)](_0x1035fb(0x166));if(_0x5580cd[_0x1035fb(0x19f)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x1035fb(0x16b)](_0x1035fb(0x162)+MAX_REGROUP_MENU_COUNT+_0x1035fb(0x18c));return _0x5580cd;}function buildMenuLookupCommand(_0x5340ac){const _0x12dd81=a159_0x36a4d2,_0x124e51='\x27'+_0x5340ac[_0x12dd81(0x15d)](/'/g,_0x12dd81(0x1a8))+'\x27';return CLI_BIN_NAME+_0x12dd81(0x19d)+_0x124e51+_0x12dd81(0x164);}function unconfirmedRegroupWarning(_0x5371a1){const _0x1e8667=a159_0x36a4d2;if(_0x5371a1[_0x1e8667(0x1ae)]===_0x1e8667(0x1b1))return'The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x5371a1['status']==='FAILED')return _0x1e8667(0x184);if(_0x5371a1[_0x1e8667(0x16a)])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.';}async function buildRegroupPlan(_0x20798c,_0x3d05fd){const _0x39af58=a159_0x36a4d2,_0x295d76=_0x20798c[_0x39af58(0x18e)](_0x39af58(0x187))['trim'](),_0x133a73=parseMenuIds(_0x20798c[_0x39af58(0x18e)]('menu-ids')),_0x262681=await fetchMutationSnapshot(_0x20798c,_0x39af58(0x171)),_0x440529=_0x133a73[_0x39af58(0x1a4)](_0x46c91d=>requireMenu(_0x262681,_0x46c91d));for(const _0xa2f35f of _0x440529){if(_0xa2f35f[_0x39af58(0x160)][_0x39af58(0x177)]()['toLowerCase']()==='folder'||_0xa2f35f['childrenCount']>0x0)throw menuError(_0x39af58(0x1ac),_0x39af58(0x167)+_0xa2f35f['id']+_0x39af58(0x181),_0x39af58(0x1b9));if(!_0xa2f35f[_0x39af58(0x187)][_0x39af58(0x177)]())throw menuError(_0x39af58(0x16e),_0x39af58(0x167)+_0xa2f35f['id']+_0x39af58(0x1bb),_0x39af58(0x1b8));}const _0x30b565=findAppliedRegroup(_0x262681,_0x295d76,_0x133a73);if(_0x30b565)throw menuError(_0x39af58(0x174),_0x39af58(0x1aa)+_0x133a73[_0x39af58(0x165)](',\x20')+_0x39af58(0x170)+_0x30b565[_0x39af58(0x18b)]['id']+'\x20('+JSON[_0x39af58(0x169)](_0x295d76)+').',_0x39af58(0x1a1));const _0x25f118=_0x262681['menus'][_0x39af58(0x1b2)](_0x356d02=>_0x356d02[_0x39af58(0x1b6)]==null&&_0x356d02[_0x39af58(0x160)][_0x39af58(0x177)]()['toLowerCase']()===_0x39af58(0x1b0)&&_0x356d02[_0x39af58(0x187)]===_0x295d76);if(_0x25f118[_0x39af58(0x19f)]>0x0)throw menuError(_0x39af58(0x198),_0x39af58(0x193)+JSON[_0x39af58(0x169)](_0x295d76)+_0x39af58(0x163)+_0x25f118[_0x39af58(0x1a4)](_0x18f478=>_0x18f478['id'])[_0x39af58(0x165)](',\x20')+'.',_0x39af58(0x1bc));const _0x4024d7={'appCode':_0x20798c['appCode'],'menuGroups':[{'label':_0x295d76,'type':_0x39af58(0x1b0),'children':_0x440529[_0x39af58(0x1a4)](_0x5e4cc7=>({'id':_0x5e4cc7['id'],'label':_0x5e4cc7[_0x39af58(0x187)]}))}]},_0x52f4ff=mutationResult({'operation':_0x39af58(0x182),'selector':{'label':_0x295d76,'menuIds':_0x133a73},'before':{'menus':_0x440529},'after':{'group':{'id':null,'parentId':null,'label':_0x295d76,'path':_0x39af58(0x190),'type':_0x39af58(0x1b0),'childrenIds':_0x133a73},'children':_0x440529[_0x39af58(0x1a4)](_0x50acbb=>({'id':_0x50acbb['id'],'label':_0x50acbb[_0x39af58(0x187)],'beforeParentId':_0x50acbb[_0x39af58(0x1b6)],'afterParentId':_0x39af58(0x1a7)}))},'dryRun':_0x3d05fd,'backend':[...BACKEND],'plannedActions':[{'stage':_0x39af58(0x196),'method':_0x39af58(0x17f),'path':_0x39af58(0x195),'body':_0x4024d7}],'snapshotHash':_0x262681[_0x39af58(0x185)],'warnings':[_0x39af58(0x1ba),_0x39af58(0x180)]});return{'label':_0x295d76,'menuIds':_0x133a73,'input':_0x4024d7,'plan':_0x52f4ff};}function a159_0x444f(){const _0x569a54=['8207675IkddmJ','10806310GTxisw','start\x20regroup','\x20menu\x20list\x20--appcode\x20','regroup-submit','length','menu','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','byId','4117002hLYxix','map','taskId','Regroup\x20readback\x20failed:\x20','<new-group-id>','\x27\x5c\x27\x27','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','Menus\x20','31163HJwAlc','menu_regroup_target_not_leaf','1187364goQJzW','status','11737099PyXGzG','folder','SUCCESS','filter','test','applied','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','parentId','The\x20regroup\x20transaction\x20may\x20commit\x20before\x20task\x20scheduling\x20returns.\x20Do\x20not\x20submit\x20the\x20same\x20regroup\x20again\x20until\x20menu\x20list\x20confirms\x20the\x20current\x20grouping.','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','some','cookie','replace','12CaubJA','message','type','flagMissing','--menu-ids\x20supports\x20at\x20most\x20','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','\x20--format\x20compress','join','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','Menu\x20','string','stringify','knownStatus','validation','input','unconfirmed','menu_regroup_target_label_missing','91568jddDlI','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','plan\x20regroup','Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20','get','menu_regroup_already_applied','9tlfONI','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','trim','sort','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','readbackError',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','8BFnXfn','menu-ids','Regroup\x20task\x20accepted.\x20','POST','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.','regroup-start','menuIds','The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.','hash','924yluBcC','label','appCode','failed','menu\x20list','group','\x20menus\x20per\x20regroup\x20request.','isSafeInteger','str','52WOqcGT','<platform-generated>','write','childrenIds','Root\x20folder\x20label\x20','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','/smartapi/menu/regroup','submit-regroup-task','isTerminal','menu_regroup_label_conflict','plan'];a159_0x444f=function(){return _0x569a54;};return a159_0x444f();}function findAppliedRegroup(_0x485dce,_0x7430a3,_0x25d0c4){const _0x2bb2be=a159_0x36a4d2,_0x2cede0=_0x25d0c4['map'](_0x5ae75=>_0x485dce[_0x2bb2be(0x1a2)][_0x2bb2be(0x173)](_0x5ae75))[_0x2bb2be(0x1b2)](_0x4a2984=>Boolean(_0x4a2984));if(_0x2cede0[_0x2bb2be(0x19f)]!==_0x25d0c4[_0x2bb2be(0x19f)])return null;const _0xa8374f=_0x2cede0[0x0]?.[_0x2bb2be(0x1b6)];if(_0xa8374f==null||_0x2cede0['some'](_0x3ee4ae=>_0x3ee4ae[_0x2bb2be(0x1b6)]!==_0xa8374f))return null;const _0x1da984=_0x485dce[_0x2bb2be(0x1a2)][_0x2bb2be(0x173)](_0xa8374f);if(!_0x1da984||_0x1da984[_0x2bb2be(0x1b6)]!=null||_0x1da984[_0x2bb2be(0x160)][_0x2bb2be(0x177)]()['toLowerCase']()!==_0x2bb2be(0x1b0)||_0x1da984[_0x2bb2be(0x187)]!==_0x7430a3)return null;const _0xb76ef7=[..._0x25d0c4][_0x2bb2be(0x178)]((_0x541035,_0x47da3e)=>_0x541035-_0x47da3e),_0x26a7a3=[..._0x1da984[_0x2bb2be(0x192)]][_0x2bb2be(0x178)]((_0x181ff3,_0x4927ec)=>_0x181ff3-_0x4927ec);if(JSON[_0x2bb2be(0x169)](_0x26a7a3)!==JSON[_0x2bb2be(0x169)](_0xb76ef7))return null;return{'group':_0x1da984,'children':_0x2cede0};}async function inspectRegroupAfterFailure(_0x29728e,_0x3be2f3,_0x592843,_0x1ea37f){const _0x5e2584=a159_0x36a4d2;try{const _0x25e762=await fetchMenuSnapshot(_0x29728e,_0x3be2f3);return{'applied':findAppliedRegroup(_0x25e762,_0x592843,_0x1ea37f),'readbackError':null};}catch(_0x24007a){return{'applied':null,'readbackError':_0x24007a instanceof Error?_0x24007a[_0x5e2584(0x15f)]:String(_0x24007a)};}}
|
|
1
|
+
const a159_0x18727b=a159_0x41b0;(function(_0x2b49e0,_0x5e2a30){const _0x59602a=a159_0x41b0,_0x3cf02d=_0x2b49e0();while(!![]){try{const _0x2a4222=-parseInt(_0x59602a(0x120))/0x1*(parseInt(_0x59602a(0x129))/0x2)+parseInt(_0x59602a(0x132))/0x3*(parseInt(_0x59602a(0x109))/0x4)+parseInt(_0x59602a(0x11a))/0x5*(-parseInt(_0x59602a(0x10b))/0x6)+parseInt(_0x59602a(0x100))/0x7+parseInt(_0x59602a(0xdc))/0x8+-parseInt(_0x59602a(0x102))/0x9*(-parseInt(_0x59602a(0x112))/0xa)+-parseInt(_0x59602a(0x124))/0xb;if(_0x2a4222===_0x5e2a30)break;else _0x3cf02d['push'](_0x3cf02d['shift']());}catch(_0xe37bb9){_0x3cf02d['push'](_0x3cf02d['shift']());}}}(a159_0x2e14,0x74513));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';function a159_0x41b0(_0x363931,_0x31e2e1){_0x363931=_0x363931-0xd8;const _0x2e148e=a159_0x2e14();let _0x41b0cb=_0x2e148e[_0x363931];return _0x41b0cb;}const BACKEND=[{'method':a159_0x18727b(0xef),'path':'/smartapi/menu/regroup'}],MAX_REGROUP_MENU_COUNT=0x64;export const menuRegroupStart={'service':a159_0x18727b(0x10a),'command':'regroup-start','description':a159_0x18727b(0x12c),'risk':a159_0x18727b(0x128),'structuredErrors':!![],'flags':[{'name':'label','type':a159_0x18727b(0x119),'required':!![],'description':a159_0x18727b(0x10d)},{'name':a159_0x18727b(0x121),'type':'string','required':!![],'description':a159_0x18727b(0xe5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x463760){validateRegroupInput(_0x463760);},async 'dryRun'(_0x2573aa){const _0x2726c8=a159_0x18727b;validateRegroupInput(_0x2573aa);const _0x30ab38=await buildRegroupPlan(_0x2573aa,!![]);return menuDryRunResult(_0x30ab38[_0x2726c8(0xe6)],{'method':_0x2726c8(0xef),'url':_0x2726c8(0x12a),'body':_0x30ab38[_0x2726c8(0xe7)],'description':'Would\x20submit\x20an\x20asynchronous\x20task\x20to\x20create\x20root\x20folder\x20'+JSON[_0x2726c8(0xf3)](_0x30ab38['label'])+'\x20and\x20regroup\x20menu\x20ids\x20'+_0x30ab38[_0x2726c8(0xf6)][_0x2726c8(0x10f)](',\x20')+_0x2726c8(0xdd)});},async 'execute'(_0x3ebb09){const _0x253709=a159_0x18727b;validateRegroupInput(_0x3ebb09);const _0x346e24=await buildRegroupPlan(_0x3ebb09,![]);await recheckMutationSnapshot(_0x3ebb09,_0x346e24[_0x253709(0xe6)],_0x253709(0x127));const _0x1800ad=buildMenuLookupCommand(_0x3ebb09[_0x253709(0x110)]);let _0x289151,_0x221524;try{_0x289151=await startMenuRegroup(_0x3ebb09[_0x253709(0xf9)],_0x346e24[_0x253709(0xe7)]),_0x221524=normalizeAsyncTask(_0x289151);}catch(_0x5630ed){const _0x1918df=await inspectRegroupAfterFailure(_0x3ebb09['appCode'],_0x3ebb09[_0x253709(0xf9)],_0x346e24[_0x253709(0x111)],_0x346e24['menuIds']),_0x2074d9=typeof _0x289151?.[_0x253709(0x126)]==='string'&&_0x289151['taskId'][_0x253709(0x103)]()?_0x289151['taskId']['trim']():null,_0x39e493=_0x2074d9?{'command':buildAsyncTaskStatusCommand(_0x2074d9,_0x3ebb09[_0x253709(0x110)])}:null,_0x3ea78d=mapMenuApiError(_0x5630ed,'start\x20menu\x20regroup');throw menuFailure(_0x3ea78d,_0x346e24['plan'],{'stage':_0x253709(0xf5),'failed':{'menuIds':_0x346e24['menuIds'],'taskId':_0x2074d9,'groupingApplied':_0x1918df['applied']?!![]:'unconfirmed'},'after':_0x1918df[_0x253709(0xfe)]??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.',..._0x1918df['readbackError']?['Regroup\x20readback\x20also\x20failed:\x20'+_0x1918df[_0x253709(0xe0)]]:[],..._0x2074d9?[_0x253709(0xd8)]:[]],'verification':{'status':_0x253709(0x134),'groupingApplied':_0x1918df[_0x253709(0xfe)]?!![]:_0x253709(0xf8),'taskId':_0x2074d9,'query':_0x39e493,'lookupCommand':_0x1800ad}});}const _0x286fd1=buildAsyncTaskStatusCommand(_0x221524[_0x253709(0x126)],_0x3ebb09[_0x253709(0x110)]);let _0x40c264=null,_0x376f99=null,_0x311302=null;try{_0x40c264=await fetchMenuSnapshot(_0x3ebb09['appCode'],_0x3ebb09[_0x253709(0xf9)]),_0x376f99=findAppliedRegroup(_0x40c264,_0x346e24[_0x253709(0x111)],_0x346e24[_0x253709(0xf6)]);}catch(_0x1a3ef2){_0x311302=_0x1a3ef2 instanceof Error?_0x1a3ef2[_0x253709(0xfb)]:String(_0x1a3ef2);}const _0x3249db=mutationResult({..._0x346e24[_0x253709(0xe6)],'after':_0x376f99??null,'dryRun':![],'succeeded':[{'groupId':_0x376f99?.[_0x253709(0xeb)]['id']??null,'menuIds':_0x346e24[_0x253709(0xf6)],'taskId':_0x221524['taskId'],'status':_0x221524[_0x253709(0x123)],'groupingApplied':_0x376f99?!![]:_0x253709(0xf8)}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x40c264?.[_0x253709(0xf0)]??null,'groupId':_0x376f99?.[_0x253709(0xeb)]['id']??null,'groupingApplied':_0x376f99?!![]:_0x253709(0xf8),'readbackError':_0x311302,'lookupCommand':_0x1800ad},'warnings':[..._0x346e24[_0x253709(0xe6)][_0x253709(0x12e)],...!_0x376f99?[unconfirmedRegroupWarning(_0x221524)]:[],..._0x311302?[_0x253709(0xfc)+_0x311302]:[]]}),_0x39efae=_0x221524['status']==='SUCCESS'&&!_0x376f99?_0x253709(0x10e)+_0x221524[_0x253709(0x126)]+_0x253709(0x122):'Regroup\x20task\x20accepted.\x20'+asyncTaskMessage(_0x221524);return{'ok':!![],'message':_0x39efae,'data':{..._0x3249db,'task':_0x221524,'query':_0x221524[_0x253709(0x101)]?null:{'command':_0x286fd1}}};}};function validateRegroupInput(_0x5e53c3){const _0x4a05a4=a159_0x18727b;if(!_0x5e53c3[_0x4a05a4(0x11e)](_0x4a05a4(0x111))[_0x4a05a4(0x103)]())throw CliErrors[_0x4a05a4(0x10c)](_0x4a05a4(0x111));parseMenuIds(_0x5e53c3[_0x4a05a4(0x11e)](_0x4a05a4(0x121)));}function parseMenuIds(_0x47a7f3){const _0x25f264=a159_0x18727b,_0x1445ea=_0x47a7f3[_0x25f264(0xd9)](',')[_0x25f264(0x11b)](_0x178f0f=>_0x178f0f['trim']());if(_0x1445ea[_0x25f264(0xe8)]===0x0||_0x1445ea[_0x25f264(0x133)](_0x518800=>!_0x518800))throw CliErrors[_0x25f264(0xee)](_0x25f264(0x137));const _0x425bd0=_0x1445ea['map'](_0x12ed16=>{const _0x3fef0b=_0x25f264;if(!/^\d+$/['test'](_0x12ed16))throw CliErrors[_0x3fef0b(0xee)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');const _0x5075f6=Number(_0x12ed16);if(!Number[_0x3fef0b(0xfd)](_0x5075f6)||_0x5075f6<=0x0)throw CliErrors[_0x3fef0b(0xee)]('--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.');return _0x5075f6;});if(new Set(_0x425bd0)[_0x25f264(0x12b)]!==_0x425bd0['length'])throw CliErrors['validation'](_0x25f264(0x131));if(_0x425bd0[_0x25f264(0xe8)]>MAX_REGROUP_MENU_COUNT)throw CliErrors[_0x25f264(0xee)](_0x25f264(0xdf)+MAX_REGROUP_MENU_COUNT+'\x20menus\x20per\x20regroup\x20request.');return _0x425bd0;}function buildMenuLookupCommand(_0x389327){const _0x536764=a159_0x18727b,_0x22da5a='\x27'+_0x389327[_0x536764(0xda)](/'/g,'\x27\x5c\x27\x27')+'\x27';return CLI_BIN_NAME+'\x20menu\x20list\x20--appcode\x20'+_0x22da5a+'\x20--format\x20compress';}function unconfirmedRegroupWarning(_0x38450c){const _0x420920=a159_0x18727b;if(_0x38450c[_0x420920(0x123)]===_0x420920(0x135))return _0x420920(0x105);if(_0x38450c[_0x420920(0x123)]===_0x420920(0x12f))return'The\x20regroup\x20task\x20failed,\x20and\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Inspect\x20task.errorMessage\x20and\x20do\x20not\x20automatically\x20resubmit\x20this\x20non-idempotent\x20request.';if(_0x38450c['knownStatus'])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 _0x420920(0xea);}function a159_0x2e14(){const _0x1d4303=['taskId','start\x20regroup','write','548DdPmbq','/smartapi/menu/regroup','size','Start\x20an\x20asynchronous\x20menu\x20regroup;\x20query\x20the\x20returned\x20taskId\x20until\x20SUCCESS\x20or\x20FAILED','parentId','warnings','FAILED','Repair\x20the\x20menu\x20label\x20in\x20the\x20platform\x20before\x20regrouping\x20it.','--menu-ids\x20cannot\x20contain\x20duplicate\x20menu\x20ids.','375933stBgkf','some','failed','SUCCESS','Root\x20folder\x20label\x20','--menu-ids\x20must\x20contain\x20comma-separated\x20positive\x20integer\x20menu\x20ids.','The\x20response\x20included\x20a\x20taskId.\x20Query\x20that\x20taskId\x20instead\x20of\x20resubmitting\x20regroup.','split','replace','plan\x20regroup','3520504UKQHNW',';\x20the\x20response\x20will\x20contain\x20a\x20regroup\x20taskId.','Menu\x20','--menu-ids\x20supports\x20at\x20most\x20','readbackError','\x20already\x20belongs\x20to\x20menu\x20id(s)\x20','\x20are\x20already\x20the\x20exact\x20children\x20of\x20root\x20folder\x20','\x20has\x20no\x20non-empty\x20label\x20required\x20by\x20the\x20regroup\x20contract.','<platform-generated>','Comma-separated\x20exact\x20leaf\x20menu\x20ids\x20to\x20place\x20in\x20the\x20new\x20folder','plan','input','length','sort','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.','group','toLowerCase','menu_regroup_target_not_leaf','validation','POST','hash','childrenCount','The\x20regroup\x20endpoint\x20is\x20non-idempotent:\x20every\x20accepted\x20request\x20creates\x20a\x20new\x20root\x20folder.','stringify','Do\x20not\x20resubmit\x20the\x20non-idempotent\x20regroup\x20request.\x20Query\x20the\x20original\x20taskId\x20if\x20it\x20is\x20available.','regroup-submit','menuIds','byId','unconfirmed','cookie','menu_regroup_label_conflict','message','Regroup\x20readback\x20failed:\x20','isSafeInteger','applied','Choose\x20a\x20unique\x20root\x20folder\x20label\x20or\x20inspect\x20the\x20existing\x20folder\x20before\x20regrouping.','3521455igYdFH','isTerminal','103698yYmfIE','trim','Menus\x20','The\x20regroup\x20task\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.\x20Run\x20data.verification.lookupCommand\x20and\x20do\x20not\x20resubmit\x20this\x20non-idempotent\x20request.','<new-group-id>','submit-regroup-task','menus','20eWKmEq','menu','168690LtWZss','flagMissing','Label\x20of\x20the\x20new\x20root\x20folder','Regroup\x20task\x20','join','appCode','label','140IxJows','childrenIds','The\x20returned\x20task\x20performs\x20the\x20regroup\x20asynchronously.\x20Keep\x20taskId\x20and\x20never\x20auto-retry\x20this\x20request.','Use\x20exact\x20non-folder\x20leaf\x20menu\x20ids.\x20Existing\x20folder\x20hierarchy\x20changes\x20remain\x20platform-owned.','\x20is\x20not\x20a\x20leaf\x20menu\x20and\x20cannot\x20be\x20regrouped\x20by\x20this\x20command.','regroup-start','filter','string','60mJpIgR','map','type','menu_regroup_target_label_missing','str','get','973hQIJaO','menu-ids','\x20succeeded,\x20but\x20final\x20menu\x20grouping\x20is\x20unconfirmed.','status','7156314rxddla','folder'];a159_0x2e14=function(){return _0x1d4303;};return a159_0x2e14();}async function buildRegroupPlan(_0x12fde5,_0x20001e){const _0x323f32=a159_0x18727b,_0x319386=_0x12fde5['str'](_0x323f32(0x111))[_0x323f32(0x103)](),_0x56b260=parseMenuIds(_0x12fde5[_0x323f32(0x11e)](_0x323f32(0x121))),_0x3ffc5f=await fetchMutationSnapshot(_0x12fde5,_0x323f32(0xdb)),_0x45c045=_0x56b260['map'](_0x53d02f=>requireMenu(_0x3ffc5f,_0x53d02f));for(const _0x1a68f6 of _0x45c045){if(_0x1a68f6[_0x323f32(0x11c)][_0x323f32(0x103)]()[_0x323f32(0xec)]()===_0x323f32(0x125)||_0x1a68f6[_0x323f32(0xf1)]>0x0)throw menuError(_0x323f32(0xed),'Menu\x20'+_0x1a68f6['id']+_0x323f32(0x116),_0x323f32(0x115));if(!_0x1a68f6[_0x323f32(0x111)]['trim']())throw menuError(_0x323f32(0x11d),_0x323f32(0xde)+_0x1a68f6['id']+_0x323f32(0xe3),_0x323f32(0x130));}const _0x5ef35a=findAppliedRegroup(_0x3ffc5f,_0x319386,_0x56b260);if(_0x5ef35a)throw menuError('menu_regroup_already_applied',_0x323f32(0x104)+_0x56b260[_0x323f32(0x10f)](',\x20')+_0x323f32(0xe2)+_0x5ef35a['group']['id']+'\x20('+JSON['stringify'](_0x319386)+').',_0x323f32(0xf4));const _0xc40fa3=_0x3ffc5f[_0x323f32(0x108)]['filter'](_0x42f43e=>_0x42f43e[_0x323f32(0x12d)]==null&&_0x42f43e[_0x323f32(0x11c)][_0x323f32(0x103)]()['toLowerCase']()===_0x323f32(0x125)&&_0x42f43e[_0x323f32(0x111)]===_0x319386);if(_0xc40fa3[_0x323f32(0xe8)]>0x0)throw menuError(_0x323f32(0xfa),_0x323f32(0x136)+JSON[_0x323f32(0xf3)](_0x319386)+_0x323f32(0xe1)+_0xc40fa3[_0x323f32(0x11b)](_0x10563a=>_0x10563a['id'])['join'](',\x20')+'.',_0x323f32(0xff));const _0x5b4789={'appCode':_0x12fde5[_0x323f32(0x110)],'menuGroups':[{'label':_0x319386,'type':'folder','children':_0x45c045[_0x323f32(0x11b)](_0x248d03=>({'id':_0x248d03['id'],'label':_0x248d03[_0x323f32(0x111)]}))}]},_0x14118d=mutationResult({'operation':_0x323f32(0x117),'selector':{'label':_0x319386,'menuIds':_0x56b260},'before':{'menus':_0x45c045},'after':{'group':{'id':null,'parentId':null,'label':_0x319386,'path':_0x323f32(0xe4),'type':_0x323f32(0x125),'childrenIds':_0x56b260},'children':_0x45c045[_0x323f32(0x11b)](_0x258f7e=>({'id':_0x258f7e['id'],'label':_0x258f7e['label'],'beforeParentId':_0x258f7e[_0x323f32(0x12d)],'afterParentId':_0x323f32(0x106)}))},'dryRun':_0x20001e,'backend':[...BACKEND],'plannedActions':[{'stage':_0x323f32(0x107),'method':'POST','path':_0x323f32(0x12a),'body':_0x5b4789}],'snapshotHash':_0x3ffc5f[_0x323f32(0xf0)],'warnings':[_0x323f32(0xf2),_0x323f32(0x114)]});return{'label':_0x319386,'menuIds':_0x56b260,'input':_0x5b4789,'plan':_0x14118d};}function findAppliedRegroup(_0x2f8cb8,_0x20f69c,_0x2b882a){const _0x900a0b=a159_0x18727b,_0x3335e3=_0x2b882a['map'](_0x3382f1=>_0x2f8cb8[_0x900a0b(0xf7)]['get'](_0x3382f1))[_0x900a0b(0x118)](_0x65ba88=>Boolean(_0x65ba88));if(_0x3335e3[_0x900a0b(0xe8)]!==_0x2b882a['length'])return null;const _0x496e58=_0x3335e3[0x0]?.[_0x900a0b(0x12d)];if(_0x496e58==null||_0x3335e3[_0x900a0b(0x133)](_0x52cecd=>_0x52cecd[_0x900a0b(0x12d)]!==_0x496e58))return null;const _0x22f4d0=_0x2f8cb8[_0x900a0b(0xf7)][_0x900a0b(0x11f)](_0x496e58);if(!_0x22f4d0||_0x22f4d0['parentId']!=null||_0x22f4d0[_0x900a0b(0x11c)][_0x900a0b(0x103)]()[_0x900a0b(0xec)]()!=='folder'||_0x22f4d0[_0x900a0b(0x111)]!==_0x20f69c)return null;const _0x37b406=[..._0x2b882a][_0x900a0b(0xe9)]((_0x1e86b5,_0x46a8ca)=>_0x1e86b5-_0x46a8ca),_0x6f7cca=[..._0x22f4d0[_0x900a0b(0x113)]][_0x900a0b(0xe9)]((_0x2a6aab,_0x32de8c)=>_0x2a6aab-_0x32de8c);if(JSON[_0x900a0b(0xf3)](_0x6f7cca)!==JSON[_0x900a0b(0xf3)](_0x37b406))return null;return{'group':_0x22f4d0,'children':_0x3335e3};}async function inspectRegroupAfterFailure(_0x4474c9,_0x1ab510,_0x3bc013,_0x2bd355){try{const _0x43853a=await fetchMenuSnapshot(_0x4474c9,_0x1ab510);return{'applied':findAppliedRegroup(_0x43853a,_0x3bc013,_0x2bd355),'readbackError':null};}catch(_0x38eded){return{'applied':null,'readbackError':_0x38eded instanceof Error?_0x38eded['message']:String(_0x38eded)};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a160_0x52c58e=a160_0x1466;(function(_0x4ef34b,_0xafaa17){const _0x265f8b=a160_0x1466,_0x47742f=_0x4ef34b();while(!![]){try{const _0x5070b8=parseInt(_0x265f8b(0x142))/0x1+-parseInt(_0x265f8b(0x15f))/0x2*(-parseInt(_0x265f8b(0x16a))/0x3)+parseInt(_0x265f8b(0x145))/0x4*(parseInt(_0x265f8b(0x137))/0x5)+parseInt(_0x265f8b(0x13a))/0x6*(-parseInt(_0x265f8b(0x13e))/0x7)+parseInt(_0x265f8b(0x163))/0x8*(-parseInt(_0x265f8b(0x147))/0x9)+parseInt(_0x265f8b(0x164))/0xa*(-parseInt(_0x265f8b(0x14c))/0xb)+-parseInt(_0x265f8b(0x173))/0xc*(-parseInt(_0x265f8b(0x13f))/0xd);if(_0x5070b8===_0xafaa17)break;else _0x47742f['push'](_0x47742f['shift']());}catch(_0x4f8ef2){_0x47742f['push'](_0x47742f['shift']());}}}(a160_0x4c76,0xad785));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a160_0x1466(_0xaf7db7,_0x56420f){_0xaf7db7=_0xaf7db7-0x11f;const _0x4c76b7=a160_0x4c76();let _0x1466c2=_0x4c76b7[_0xaf7db7];return _0x1466c2;}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a160_0x52c58e(0x146),'path':a160_0x52c58e(0x139)}];export const menuRename={'service':a160_0x52c58e(0x140),'command':'rename','description':a160_0x52c58e(0x129),'risk':a160_0x52c58e(0x12b),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a160_0x52c58e(0x136),'type':a160_0x52c58e(0x13c),'required':!![],'description':a160_0x52c58e(0x122)},{'name':a160_0x52c58e(0x167),'type':'string','required':!![],'description':a160_0x52c58e(0x154)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2a81bb){validateInput(_0x2a81bb);},async 'dryRun'(_0x2abc3b){const _0x18bdc1=a160_0x52c58e;validateInput(_0x2abc3b);const _0x29e429=await buildPlan(_0x2abc3b,!![]);return menuDryRunResult(_0x29e429[_0x18bdc1(0x12d)],{'method':'POST','url':_0x18bdc1(0x139),'body':_0x29e429[_0x18bdc1(0x121)],'description':_0x18bdc1(0x12f)+_0x29e429['body']['id']+'.'});},async 'execute'(_0x1bf664){const _0x3e3e2c=a160_0x52c58e;validateInput(_0x1bf664);const _0x28a22b=await buildPlan(_0x1bf664,![]),{plan:_0x1ddfbd,body:_0x45f94,before:_0x56feea,noChanges:_0x1c8a96}=_0x28a22b,_0x501a92=_0x45f94['id'];if(_0x1c8a96)return renameSuccess(_0x1ddfbd,_0x28a22b[_0x3e3e2c(0x135)],_0x56feea,!![],![]);await recheckMutationSnapshot(_0x1bf664,_0x1ddfbd,_0x3e3e2c(0x13d),_0x501a92);try{await updateMenuEntity(_0x1bf664['appCode'],_0x1bf664[_0x3e3e2c(0x16c)],{'id':_0x501a92,'label':_0x45f94[_0x3e3e2c(0x136)]});}catch(_0x22f17a){const _0x3d509c=mapMenuApiError(_0x22f17a,_0x3e3e2c(0x16e),_0x501a92);if(isMenuResponseLoss(_0x22f17a)&&_0x3d509c[_0x3e3e2c(0x172)]!==_0x3e3e2c(0x15a))return recoverAfterResponseLoss(_0x1bf664,_0x28a22b);throw menuFailure(_0x3d509c,_0x1ddfbd,{'stage':'update','failed':{'id':_0x501a92},'warnings':[_0x3e3e2c(0x148)],'verification':{'status':_0x3e3e2c(0x13b),'targetId':_0x501a92,'lookupCommand':buildLookupCommand(_0x1bf664[_0x3e3e2c(0x150)])}});}let _0x8af0b0,_0x440918;try{_0x8af0b0=await fetchMenuSnapshot(_0x1bf664[_0x3e3e2c(0x150)],_0x1bf664[_0x3e3e2c(0x16c)]),_0x440918=requireMenu(_0x8af0b0,_0x501a92),verifyRenamedFact(_0x56feea,_0x440918,_0x45f94[_0x3e3e2c(0x136)]);}catch(_0x120508){const _0x2f2efa=describeMenuErrorCause(_0x120508,_0x3e3e2c(0x16f),_0x501a92),_0x53db35=asVerificationError(_0x120508,_0x3e3e2c(0x171)+_0x501a92+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x53db35,_0x1ddfbd,{'stage':'verification','succeeded':[{'id':_0x501a92,'updateRequested':!![]}],'failed':{'id':_0x501a92,'requestedStateConfirmed':![],..._0x2f2efa},'warnings':[_0x3e3e2c(0x14a)],'verification':{'status':_0x3e3e2c(0x13b),'targetId':_0x501a92,'lookupCommand':buildLookupCommand(_0x1bf664['appCode'])}});}return renameSuccess(_0x1ddfbd,_0x8af0b0,_0x440918,![],![]);}};function validateInput(_0x37ffd4){const _0x550d4e=a160_0x52c58e;validateExactId(_0x37ffd4);if(!_0x37ffd4[_0x550d4e(0x127)](_0x550d4e(0x136))[_0x550d4e(0x12a)]())throw CliErrors[_0x550d4e(0x133)](_0x550d4e(0x14d));if(!_0x37ffd4[_0x550d4e(0x127)](_0x550d4e(0x167))[_0x550d4e(0x12a)]())throw CliErrors[_0x550d4e(0x155)](_0x550d4e(0x167));}async function buildPlan(_0x43097e,_0x204fc0){const _0x2e27a7=a160_0x52c58e,_0x41dab8=validateExactId(_0x43097e),_0x49d191=_0x43097e[_0x2e27a7(0x127)]('label')[_0x2e27a7(0x12a)](),_0x56acd2=_0x43097e[_0x2e27a7(0x127)]('expect-label'),_0x219f7d=await fetchMutationSnapshot(_0x43097e,_0x2e27a7(0x13d),_0x41dab8),_0x18f0e1=requireMenu(_0x219f7d,_0x41dab8);if(_0x18f0e1[_0x2e27a7(0x136)]!==_0x56acd2)throw menuError('menu_state_drift',_0x2e27a7(0x144)+_0x41dab8+_0x2e27a7(0x170)+JSON['stringify'](_0x56acd2)+_0x2e27a7(0x168)+JSON[_0x2e27a7(0x162)](_0x18f0e1[_0x2e27a7(0x136)])+'.',_0x2e27a7(0x149));const _0x2aa880={'id':_0x41dab8,'appCode':_0x43097e[_0x2e27a7(0x150)],'label':_0x49d191},_0x3e928a={..._0x18f0e1,'label':_0x49d191},_0x5ea29e=_0x18f0e1['label']===_0x49d191,_0x539cf2=_0x5ea29e?[]:[{'stage':'rename-menu','method':_0x2e27a7(0x146),'path':'/smartapi/menu/update','body':_0x2aa880}];return{'snapshot':_0x219f7d,'before':_0x18f0e1,'body':_0x2aa880,'noChanges':_0x5ea29e,'plan':mutationResult({'operation':_0x2e27a7(0x16e),'selector':{'id':_0x41dab8},'before':_0x18f0e1,'after':_0x3e928a,'dryRun':_0x204fc0,'backend':[...BACKEND],'plannedActions':_0x539cf2,'snapshotHash':_0x219f7d[_0x2e27a7(0x131)],'warnings':_0x5ea29e?['The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.']:[]})};}function verifyRenamedFact(_0x45bbbc,_0x3f2983,_0x3edbc7){const _0x3761ac=a160_0x52c58e,_0xe8eff2=[['id',_0x3f2983['id'],_0x45bbbc['id']],['parentId',_0x3f2983[_0x3761ac(0x16b)],_0x45bbbc[_0x3761ac(0x16b)]],[_0x3761ac(0x123),_0x3f2983[_0x3761ac(0x123)],_0x45bbbc[_0x3761ac(0x123)]],[_0x3761ac(0x15b),_0x3f2983['path'],_0x45bbbc['path']],[_0x3761ac(0x126),_0x3f2983[_0x3761ac(0x126)],_0x45bbbc[_0x3761ac(0x126)]],[_0x3761ac(0x14b),_0x3f2983[_0x3761ac(0x14b)],_0x45bbbc[_0x3761ac(0x14b)]],[_0x3761ac(0x143),_0x3f2983['visible'],_0x45bbbc['visible']],[_0x3761ac(0x14f),_0x3f2983[_0x3761ac(0x14f)],_0x45bbbc['sort']],['resources',_0x3f2983[_0x3761ac(0x125)],_0x45bbbc['resources']],[_0x3761ac(0x12c),_0x3f2983[_0x3761ac(0x12c)],_0x45bbbc['resourcesValid']],[_0x3761ac(0x130),_0x3f2983[_0x3761ac(0x130)],_0x45bbbc[_0x3761ac(0x130)]],[_0x3761ac(0x128),_0x3f2983[_0x3761ac(0x128)],_0x45bbbc['childrenCount']],[_0x3761ac(0x169),_0x3f2983['pageId'],_0x45bbbc['pageId']],[_0x3761ac(0x15c),_0x3f2983['pageType'],_0x45bbbc[_0x3761ac(0x15c)]],[_0x3761ac(0x11f),_0x3f2983[_0x3761ac(0x11f)],_0x45bbbc[_0x3761ac(0x11f)]],['datasetId',_0x3f2983[_0x3761ac(0x156)],_0x45bbbc[_0x3761ac(0x156)]],[_0x3761ac(0x159),_0x3f2983[_0x3761ac(0x159)],_0x45bbbc[_0x3761ac(0x159)]]];for(const [_0x18ad0a,_0x12834a,_0x132263]of _0xe8eff2){assertVerified(sameValue(_0x12834a,_0x132263),_0x3761ac(0x144)+_0x45bbbc['id']+'\x20'+_0x18ad0a+'\x20changed\x20during\x20the\x20label-only\x20rename.');}assertVerified(_0x3f2983[_0x3761ac(0x136)]===_0x3edbc7,_0x3761ac(0x144)+_0x45bbbc['id']+_0x3761ac(0x174));}function a160_0x4c76(){const _0x194344=['datasetCode','menu_permission_denied','path','pageType','\x27\x5c\x27\x27','\x20could\x20not\x20be\x20verified\x20safely','2wbjbuJ','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','rabetbase\x20menu\x20list\x20--appcode\x20','stringify','1131160XMZuUN','9459610XrdwsW','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','byId','expect-label',',\x20current\x20','pageId','417048OOjKWx','parentId','cookie','menu\x20list','rename','verify\x20menu\x20rename','\x20label\x20changed:\x20expected\x20','Rename\x20request\x20for\x20menu\x20','code','24RVxhAz','\x20label\x20update\x20did\x20not\x20take\x20effect.','modelType','update-recovery','body','New\x20menu\x20label','depth','\x20--format\x20compress','resources','url','str','childrenCount','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','trim','write','resourcesValid','plan','replace','Would\x20rename\x20menu\x20','childrenIds','hash','Renamed\x20menu\x20','validation','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','snapshot','label','2327965ljXdNz','readbackFailed','/smartapi/menu/update','1996452nrDkZo','failed','string','rename\x20menu','21ivVtKP','13457522SzGcWD','menu','get','1110883UmcDHJ','visible','Menu\x20','4BicIDC','POST','72QvNNZr','The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','type','11RfdOAt','--label\x20cannot\x20be\x20empty.','requestedLabelObserved','sort','appCode','isArray','menu_update_recovery_required','after','Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches','flagMissing','datasetId','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','\x20already\x20has\x20the\x20requested\x20label.'];a160_0x4c76=function(){return _0x194344;};return a160_0x4c76();}function sameValue(_0x1fa49e,_0x4f5cf0){const _0x49cc17=a160_0x52c58e;if(Array['isArray'](_0x1fa49e)||Array[_0x49cc17(0x151)](_0x4f5cf0))return JSON[_0x49cc17(0x162)](_0x1fa49e)===JSON[_0x49cc17(0x162)](_0x4f5cf0);return _0x1fa49e===_0x4f5cf0;}function renameSuccess(_0x1019e7,_0x4eb1bf,_0x20e8df,_0x47d2b0,_0x1f26e8){const _0x8232bd=a160_0x52c58e,_0x46b1b4=_0x20e8df['id'],_0x3b9bff=mutationResult({..._0x1019e7,'after':_0x20e8df,'dryRun':![],'succeeded':[{'id':_0x46b1b4,'updated':!_0x47d2b0,'skipped':_0x47d2b0,'recovered':_0x1f26e8}],'verification':{'checkedBy':_0x8232bd(0x16d),'snapshotHash':_0x4eb1bf[_0x8232bd(0x131)],'targetId':_0x46b1b4,'matchesRequestedState':!![],'recovered':_0x1f26e8}});return{'ok':!![],'message':_0x1f26e8?_0x8232bd(0x134)+_0x46b1b4+'.':_0x47d2b0?_0x8232bd(0x144)+_0x46b1b4+_0x8232bd(0x158):_0x8232bd(0x132)+_0x46b1b4+'.','data':{..._0x3b9bff,'recovered':_0x1f26e8}};}async function recoverAfterResponseLoss(_0x2ba043,_0x64a9cb){const _0x30d538=a160_0x52c58e,{plan:_0x258709,before:_0x33e26c,body:_0x1d7078}=_0x64a9cb;let _0x41e636;try{_0x41e636=await fetchMenuSnapshot(_0x2ba043[_0x30d538(0x150)],_0x2ba043[_0x30d538(0x16c)]);}catch{throw recoveryRequired(_0x258709,_0x2ba043[_0x30d538(0x150)],{'id':_0x1d7078['id'],'readbackFailed':!![]});}const _0x48d13e=_0x41e636[_0x30d538(0x166)][_0x30d538(0x141)](_0x1d7078['id']);if(!_0x48d13e||_0x48d13e[_0x30d538(0x136)]!==_0x1d7078['label'])throw recoveryRequired(_0x258709,_0x2ba043[_0x30d538(0x150)],{'id':_0x1d7078['id'],'requestedLabelObserved':![],'after':_0x48d13e??null});try{verifyRenamedFact(_0x33e26c,_0x48d13e,_0x1d7078[_0x30d538(0x136)]);}catch(_0x24328b){const _0x30be46=asVerificationError(_0x24328b,'Response\x20was\x20lost\x20and\x20menu\x20'+_0x1d7078['id']+_0x30d538(0x15e));throw menuFailure(_0x30be46,_0x258709,{'stage':_0x30d538(0x120),'succeeded':[{'id':_0x1d7078['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x1d7078['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x48d13e,'warnings':[_0x30d538(0x165)],'verification':{'status':_0x30d538(0x13b),'targetId':_0x1d7078['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x2ba043['appCode'])}});}return renameSuccess(_0x258709,_0x41e636,_0x48d13e,![],!![]);}function recoveryRequired(_0xfa8f5d,_0x337668,_0x192c2e){const _0x1d6d6b=a160_0x52c58e,_0x3ac6e6=menuError(_0x1d6d6b(0x152),'The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x337668)+_0x1d6d6b(0x160));return menuFailure(_0x3ac6e6,_0xfa8f5d,{'stage':_0x1d6d6b(0x120),'failed':{'id':_0x192c2e['id'],..._0x192c2e[_0x1d6d6b(0x14e)]===undefined?{}:{'requestedLabelObserved':_0x192c2e[_0x1d6d6b(0x14e)]},..._0x192c2e['readbackFailed']?{'readbackFailed':!![]}:{}},'after':_0x192c2e[_0x1d6d6b(0x153)],'warnings':[_0x1d6d6b(0x157)],'verification':{'status':_0x1d6d6b(0x13b),'targetId':_0x192c2e['id'],..._0x192c2e[_0x1d6d6b(0x14e)]===undefined?{}:{'requestedLabelObserved':_0x192c2e['requestedLabelObserved']},..._0x192c2e[_0x1d6d6b(0x138)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x337668)}});}function buildLookupCommand(_0x57557a){const _0x4bc4dc=a160_0x52c58e,_0x53d920='\x27'+_0x57557a[_0x4bc4dc(0x12e)](/'/g,_0x4bc4dc(0x15d))+'\x27';return _0x4bc4dc(0x161)+_0x53d920+_0x4bc4dc(0x124);}
|
|
1
|
+
const a160_0x10af4f=a160_0x118f;(function(_0x1ff388,_0x300b14){const _0x196922=a160_0x118f,_0x16848c=_0x1ff388();while(!![]){try{const _0x44c7d0=parseInt(_0x196922(0x19c))/0x1*(-parseInt(_0x196922(0x182))/0x2)+parseInt(_0x196922(0x1a3))/0x3+parseInt(_0x196922(0x1ab))/0x4+parseInt(_0x196922(0x1ad))/0x5+-parseInt(_0x196922(0x1a1))/0x6*(parseInt(_0x196922(0x190))/0x7)+parseInt(_0x196922(0x16c))/0x8*(parseInt(_0x196922(0x17b))/0x9)+-parseInt(_0x196922(0x1b8))/0xa;if(_0x44c7d0===_0x300b14)break;else _0x16848c['push'](_0x16848c['shift']());}catch(_0x50bf8c){_0x16848c['push'](_0x16848c['shift']());}}}(a160_0xd865,0x790f0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,recheckMutationSnapshot,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';function a160_0x118f(_0xf6b931,_0x256426){_0xf6b931=_0xf6b931-0x16c;const _0xd865dd=a160_0xd865();let _0x118f5e=_0xd865dd[_0xf6b931];return _0x118f5e;}const BACKEND=[{'method':'POST','path':a160_0x10af4f(0x1b4)}];export const menuRename={'service':a160_0x10af4f(0x19f),'command':a160_0x10af4f(0x1a8),'description':a160_0x10af4f(0x18e),'risk':a160_0x10af4f(0x175),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'label','type':a160_0x10af4f(0x1b7),'required':!![],'description':a160_0x10af4f(0x16d)},{'name':a160_0x10af4f(0x187),'type':a160_0x10af4f(0x1b7),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20menu\x20label\x20exactly\x20matches'},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5cfa00){validateInput(_0x5cfa00);},async 'dryRun'(_0x47334a){const _0x1407d4=a160_0x10af4f;validateInput(_0x47334a);const _0x555a58=await buildPlan(_0x47334a,!![]);return menuDryRunResult(_0x555a58['plan'],{'method':_0x1407d4(0x1ba),'url':'/smartapi/menu/update','body':_0x555a58[_0x1407d4(0x17a)],'description':'Would\x20rename\x20menu\x20'+_0x555a58[_0x1407d4(0x17a)]['id']+'.'});},async 'execute'(_0x212c15){const _0x58e0ce=a160_0x10af4f;validateInput(_0x212c15);const _0x5dc695=await buildPlan(_0x212c15,![]),{plan:_0x22bfb6,body:_0x5463c8,before:_0x2e5e55,noChanges:_0x3aae1b}=_0x5dc695,_0xb5675=_0x5463c8['id'];if(_0x3aae1b)return renameSuccess(_0x22bfb6,_0x5dc695[_0x58e0ce(0x17f)],_0x2e5e55,!![],![]);await recheckMutationSnapshot(_0x212c15,_0x22bfb6,_0x58e0ce(0x194),_0xb5675);try{await updateMenuEntity(_0x212c15[_0x58e0ce(0x186)],_0x212c15['cookie'],{'id':_0xb5675,'label':_0x5463c8['label']});}catch(_0x2ed59f){const _0xbf7770=mapMenuApiError(_0x2ed59f,'rename',_0xb5675);if(isMenuResponseLoss(_0x2ed59f)&&_0xbf7770[_0x58e0ce(0x177)]!==_0x58e0ce(0x183))return recoverAfterResponseLoss(_0x212c15,_0x5dc695);throw menuFailure(_0xbf7770,_0x22bfb6,{'stage':_0x58e0ce(0x1a2),'failed':{'id':_0xb5675},'warnings':['The\x20rename\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x58e0ce(0x1b0),'targetId':_0xb5675,'lookupCommand':buildLookupCommand(_0x212c15[_0x58e0ce(0x186)])}});}let _0x1f4fe8,_0x3741f2;try{_0x1f4fe8=await fetchMenuSnapshot(_0x212c15[_0x58e0ce(0x186)],_0x212c15['cookie']),_0x3741f2=requireMenu(_0x1f4fe8,_0xb5675),verifyRenamedFact(_0x2e5e55,_0x3741f2,_0x5463c8[_0x58e0ce(0x19b)]);}catch(_0x5d3d83){const _0x2320e7=describeMenuErrorCause(_0x5d3d83,_0x58e0ce(0x18c),_0xb5675),_0x1df867=asVerificationError(_0x5d3d83,_0x58e0ce(0x16f)+_0xb5675+_0x58e0ce(0x17e));throw menuFailure(_0x1df867,_0x22bfb6,{'stage':_0x58e0ce(0x176),'succeeded':[{'id':_0xb5675,'updateRequested':!![]}],'failed':{'id':_0xb5675,'requestedStateConfirmed':![],..._0x2320e7},'warnings':[_0x58e0ce(0x198)],'verification':{'status':_0x58e0ce(0x1b0),'targetId':_0xb5675,'lookupCommand':buildLookupCommand(_0x212c15[_0x58e0ce(0x186)])}});}return renameSuccess(_0x22bfb6,_0x1f4fe8,_0x3741f2,![],![]);}};function validateInput(_0x29d0ee){const _0x3d8194=a160_0x10af4f;validateExactId(_0x29d0ee);if(!_0x29d0ee[_0x3d8194(0x19a)](_0x3d8194(0x19b))[_0x3d8194(0x1a4)]())throw CliErrors['validation'](_0x3d8194(0x181));if(!_0x29d0ee[_0x3d8194(0x19a)](_0x3d8194(0x187))[_0x3d8194(0x1a4)]())throw CliErrors[_0x3d8194(0x174)](_0x3d8194(0x187));}async function buildPlan(_0x4be0e0,_0x35c492){const _0x965609=a160_0x10af4f,_0x2724ba=validateExactId(_0x4be0e0),_0x9435d8=_0x4be0e0['str'](_0x965609(0x19b))['trim'](),_0x12b1dd=_0x4be0e0[_0x965609(0x19a)](_0x965609(0x187)),_0x4b4969=await fetchMutationSnapshot(_0x4be0e0,'rename\x20menu',_0x2724ba),_0x11e3ee=requireMenu(_0x4b4969,_0x2724ba);if(_0x11e3ee[_0x965609(0x19b)]!==_0x12b1dd)throw menuError('menu_state_drift',_0x965609(0x1a5)+_0x2724ba+_0x965609(0x192)+JSON[_0x965609(0x197)](_0x12b1dd)+_0x965609(0x19d)+JSON[_0x965609(0x197)](_0x11e3ee[_0x965609(0x19b)])+'.',_0x965609(0x195));const _0x334d78={'id':_0x2724ba,'appCode':_0x4be0e0[_0x965609(0x186)],'label':_0x9435d8},_0x257275={..._0x11e3ee,'label':_0x9435d8},_0x502131=_0x11e3ee[_0x965609(0x19b)]===_0x9435d8,_0x10281c=_0x502131?[]:[{'stage':_0x965609(0x179),'method':'POST','path':_0x965609(0x1b4),'body':_0x334d78}];return{'snapshot':_0x4b4969,'before':_0x11e3ee,'body':_0x334d78,'noChanges':_0x502131,'plan':mutationResult({'operation':'rename','selector':{'id':_0x2724ba},'before':_0x11e3ee,'after':_0x257275,'dryRun':_0x35c492,'backend':[...BACKEND],'plannedActions':_0x10281c,'snapshotHash':_0x4b4969['hash'],'warnings':_0x502131?['The\x20menu\x20already\x20has\x20the\x20requested\x20label;\x20no\x20write\x20is\x20needed.']:[]})};}function verifyRenamedFact(_0x1783c7,_0x5cce9b,_0x3f6920){const _0x356eda=a160_0x10af4f,_0x35b876=[['id',_0x5cce9b['id'],_0x1783c7['id']],[_0x356eda(0x18a),_0x5cce9b[_0x356eda(0x18a)],_0x1783c7[_0x356eda(0x18a)]],['depth',_0x5cce9b[_0x356eda(0x180)],_0x1783c7['depth']],[_0x356eda(0x1a0),_0x5cce9b[_0x356eda(0x1a0)],_0x1783c7[_0x356eda(0x1a0)]],['url',_0x5cce9b[_0x356eda(0x1aa)],_0x1783c7[_0x356eda(0x1aa)]],[_0x356eda(0x1b9),_0x5cce9b[_0x356eda(0x1b9)],_0x1783c7[_0x356eda(0x1b9)]],['visible',_0x5cce9b[_0x356eda(0x17c)],_0x1783c7[_0x356eda(0x17c)]],[_0x356eda(0x185),_0x5cce9b['sort'],_0x1783c7['sort']],[_0x356eda(0x199),_0x5cce9b[_0x356eda(0x199)],_0x1783c7[_0x356eda(0x199)]],[_0x356eda(0x173),_0x5cce9b['resourcesValid'],_0x1783c7[_0x356eda(0x173)]],[_0x356eda(0x171),_0x5cce9b['childrenIds'],_0x1783c7[_0x356eda(0x171)]],[_0x356eda(0x184),_0x5cce9b[_0x356eda(0x184)],_0x1783c7['childrenCount']],[_0x356eda(0x191),_0x5cce9b[_0x356eda(0x191)],_0x1783c7['pageId']],[_0x356eda(0x170),_0x5cce9b[_0x356eda(0x170)],_0x1783c7[_0x356eda(0x170)]],['modelType',_0x5cce9b[_0x356eda(0x178)],_0x1783c7[_0x356eda(0x178)]],[_0x356eda(0x19e),_0x5cce9b[_0x356eda(0x19e)],_0x1783c7[_0x356eda(0x19e)]],['datasetCode',_0x5cce9b['datasetCode'],_0x1783c7[_0x356eda(0x1bc)]]];for(const [_0x429368,_0x1a1643,_0x55093a]of _0x35b876){assertVerified(sameValue(_0x1a1643,_0x55093a),'Menu\x20'+_0x1783c7['id']+'\x20'+_0x429368+_0x356eda(0x18b));}assertVerified(_0x5cce9b[_0x356eda(0x19b)]===_0x3f6920,'Menu\x20'+_0x1783c7['id']+_0x356eda(0x1a6));}function sameValue(_0x3acf33,_0x13f5c6){const _0xd6c845=a160_0x10af4f;if(Array[_0xd6c845(0x1a9)](_0x3acf33)||Array[_0xd6c845(0x1a9)](_0x13f5c6))return JSON[_0xd6c845(0x197)](_0x3acf33)===JSON[_0xd6c845(0x197)](_0x13f5c6);return _0x3acf33===_0x13f5c6;}function a160_0xd865(){const _0x1b58db=['\x20label\x20changed:\x20expected\x20','cookie','rename\x20menu','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-label.','readbackFailed','stringify','The\x20rename\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','resources','str','label','556GZnzan',',\x20current\x20','datasetId','menu','path','84llMuoQ','update','2645316TPIyTq','trim','Menu\x20','\x20label\x20update\x20did\x20not\x20take\x20effect.','\x27\x5c\x27\x27','rename','isArray','url','2588516tcIgeU','\x20could\x20not\x20be\x20verified\x20safely','1737305gCBQPf','\x20already\x20has\x20the\x20requested\x20label.','get','failed','requestedLabelObserved','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','menu\x20list','/smartapi/menu/update','hash','The\x20rename\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','string','3148940TszpVi','type','POST','Response\x20was\x20lost\x20and\x20menu\x20','datasetCode','272xvgcBp','New\x20menu\x20label','The\x20requested\x20label\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','Rename\x20request\x20for\x20menu\x20','pageType','childrenIds','Renamed\x20menu\x20','resourcesValid','flagMissing','write','verification','code','modelType','rename-menu','body','173385DREzgI','visible','Run\x20','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','snapshot','depth','--label\x20cannot\x20be\x20empty.','2838EwSvgU','menu_permission_denied','childrenCount','sort','appCode','expect-label','menu_update_recovery_required','byId','parentId','\x20changed\x20during\x20the\x20label-only\x20rename.','verify\x20menu\x20rename','Recovered\x20confirmed\x20rename\x20for\x20menu\x20','Rename\x20one\x20existing\x20menu\x20without\x20changing\x20its\x20type\x20or\x20page\x20binding','rabetbase\x20menu\x20list\x20--appcode\x20','465829ntJYPs','pageId'];a160_0xd865=function(){return _0x1b58db;};return a160_0xd865();}function renameSuccess(_0x5b3b8a,_0x5e7e21,_0x204af9,_0x33c253,_0x9c9c42){const _0x47ceb1=a160_0x10af4f,_0x4110b9=_0x204af9['id'],_0x5f0f02=mutationResult({..._0x5b3b8a,'after':_0x204af9,'dryRun':![],'succeeded':[{'id':_0x4110b9,'updated':!_0x33c253,'skipped':_0x33c253,'recovered':_0x9c9c42}],'verification':{'checkedBy':_0x47ceb1(0x1b3),'snapshotHash':_0x5e7e21[_0x47ceb1(0x1b5)],'targetId':_0x4110b9,'matchesRequestedState':!![],'recovered':_0x9c9c42}});return{'ok':!![],'message':_0x9c9c42?_0x47ceb1(0x18d)+_0x4110b9+'.':_0x33c253?_0x47ceb1(0x1a5)+_0x4110b9+_0x47ceb1(0x1ae):_0x47ceb1(0x172)+_0x4110b9+'.','data':{..._0x5f0f02,'recovered':_0x9c9c42}};}async function recoverAfterResponseLoss(_0x21a7e5,_0x224799){const _0x35aee3=a160_0x10af4f,{plan:_0x2b7f4a,before:_0x372437,body:_0x2d49f4}=_0x224799;let _0x34a2b3;try{_0x34a2b3=await fetchMenuSnapshot(_0x21a7e5['appCode'],_0x21a7e5[_0x35aee3(0x193)]);}catch{throw recoveryRequired(_0x2b7f4a,_0x21a7e5['appCode'],{'id':_0x2d49f4['id'],'readbackFailed':!![]});}const _0x1bf090=_0x34a2b3[_0x35aee3(0x189)][_0x35aee3(0x1af)](_0x2d49f4['id']);if(!_0x1bf090||_0x1bf090[_0x35aee3(0x19b)]!==_0x2d49f4[_0x35aee3(0x19b)])throw recoveryRequired(_0x2b7f4a,_0x21a7e5[_0x35aee3(0x186)],{'id':_0x2d49f4['id'],'requestedLabelObserved':![],'after':_0x1bf090??null});try{verifyRenamedFact(_0x372437,_0x1bf090,_0x2d49f4[_0x35aee3(0x19b)]);}catch(_0x4b72f3){const _0x35b5b7=asVerificationError(_0x4b72f3,_0x35aee3(0x1bb)+_0x2d49f4['id']+_0x35aee3(0x1ac));throw menuFailure(_0x35b5b7,_0x2b7f4a,{'stage':'update-recovery','succeeded':[{'id':_0x2d49f4['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x2d49f4['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![]},'after':_0x1bf090,'warnings':[_0x35aee3(0x16e)],'verification':{'status':'failed','targetId':_0x2d49f4['id'],'requestedLabelObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x21a7e5[_0x35aee3(0x186)])}});}return renameSuccess(_0x2b7f4a,_0x34a2b3,_0x1bf090,![],!![]);}function recoveryRequired(_0x38bc57,_0x16bca7,_0x5f28fb){const _0x293fa2=a160_0x10af4f,_0x21f2bb=menuError(_0x293fa2(0x188),'The\x20rename\x20response\x20was\x20lost\x20and\x20the\x20requested\x20label\x20cannot\x20be\x20confirmed\x20safely.',_0x293fa2(0x17d)+buildLookupCommand(_0x16bca7)+_0x293fa2(0x1b2));return menuFailure(_0x21f2bb,_0x38bc57,{'stage':'update-recovery','failed':{'id':_0x5f28fb['id'],..._0x5f28fb[_0x293fa2(0x1b1)]===undefined?{}:{'requestedLabelObserved':_0x5f28fb[_0x293fa2(0x1b1)]},..._0x5f28fb[_0x293fa2(0x196)]?{'readbackFailed':!![]}:{}},'after':_0x5f28fb['after'],'warnings':[_0x293fa2(0x1b6)],'verification':{'status':'failed','targetId':_0x5f28fb['id'],..._0x5f28fb['requestedLabelObserved']===undefined?{}:{'requestedLabelObserved':_0x5f28fb[_0x293fa2(0x1b1)]},..._0x5f28fb[_0x293fa2(0x196)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x16bca7)}});}function buildLookupCommand(_0x1d4daf){const _0x3f6f83=a160_0x10af4f,_0x58aa4a='\x27'+_0x1d4daf['replace'](/'/g,_0x3f6f83(0x1a7))+'\x27';return _0x3f6f83(0x18f)+_0x58aa4a+'\x20--format\x20compress';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4cc524,_0x29fcdc){const _0x534de8=a161_0xef28,_0xda186a=_0x4cc524();while(!![]){try{const _0x3ce831=parseInt(_0x534de8(0xea))/0x1+parseInt(_0x534de8(0xe4))/0x2+-parseInt(_0x534de8(0xe3))/0x3*(-parseInt(_0x534de8(0xde))/0x4)+parseInt(_0x534de8(0xe1))/0x5*(-parseInt(_0x534de8(0xd4))/0x6)+-parseInt(_0x534de8(0xd7))/0x7+-parseInt(_0x534de8(0xe5))/0x8*(parseInt(_0x534de8(0xec))/0x9)+parseInt(_0x534de8(0xe9))/0xa*(parseInt(_0x534de8(0xdf))/0xb);if(_0x3ce831===_0x29fcdc)break;else _0xda186a['push'](_0xda186a['shift']());}catch(_0x34de9f){_0xda186a['push'](_0xda186a['shift']());}}}(a161_0x154a,0x90c14));function strWidth(_0x5aa740){const _0x4b08c5=a161_0xef28;let _0x2aa158=0x0;for(const _0x55c725 of _0x5aa740){_0x2aa158+=/[\u4e00-\u9fa5]/[_0x4b08c5(0xeb)](_0x55c725)?0x2:0x1;}return _0x2aa158;}function padRight(_0x43a610,_0x3cdeb9){const _0x4e1c45=a161_0xef28,_0x439032=strWidth(_0x43a610);return _0x43a610+'\x20'[_0x4e1c45(0xf4)](Math[_0x4e1c45(0xf1)](0x0,_0x3cdeb9-_0x439032));}export function renderCompareTable(_0x2f615d,_0x2648ef={}){const _0x19182e=a161_0xef28;if(_0x2f615d[_0x19182e(0xd5)]===0x0)return'';const _0x249e70=_0x2648ef[_0x19182e(0xe6)]??!![],_0x517a91=Math[_0x19182e(0xf1)](0x1e,..._0x2f615d[_0x19182e(0xd8)](_0x57f343=>strWidth(_0x57f343[_0x19182e(0xef)]))),_0x28a5ff=Math[_0x19182e(0xf1)](0x18,..._0x2f615d[_0x19182e(0xd8)](_0x30bf9a=>strWidth(_0x30bf9a['path']))),_0x572bfe=0x4,_0x5f1094=[],_0x9690ff='\x20\x20'+padRight(_0x19182e(0xed),_0x517a91),_0x23f722=padRight(_0x19182e(0xf2),_0x28a5ff),_0x589f83=padRight(_0x19182e(0xd9),_0x572bfe),_0x4d1e7e=_0x249e70?'\x20\x20'+padRight(_0x19182e(0xda),_0x572bfe):'';_0x5f1094[_0x19182e(0xdb)](_0x9690ff+'\x20\x20'+_0x23f722+'\x20\x20'+_0x589f83+(_0x249e70?_0x4d1e7e:'')),_0x5f1094[_0x19182e(0xdb)]('\x20\x20'+'─'['repeat'](_0x517a91)+'\x20\x20'+'─'[_0x19182e(0xf4)](_0x28a5ff)+'\x20\x20'+'─'[_0x19182e(0xf4)](_0x572bfe)+(_0x249e70?'\x20\x20'+'─'[_0x19182e(0xf4)](_0x572bfe):''));for(const _0x364b9e of _0x2f615d){const _0x24b353=padRight(_0x364b9e[_0x19182e(0xef)],_0x517a91),_0x5a048f=padRight(_0x364b9e[_0x19182e(0xf3)],_0x28a5ff),_0x52eb20=_0x364b9e[_0x19182e(0xd6)]?'✓':'✗',_0x53982b=padRight(_0x52eb20,_0x572bfe);let _0x27da36='\x20\x20'+_0x24b353+'\x20\x20'+_0x5a048f+'\x20\x20'+_0x53982b;if(_0x249e70){const _0x104e66=_0x364b9e['online']?'✓':'✗';_0x27da36+='\x20\x20'+padRight(_0x104e66,_0x572bfe);}_0x5f1094[_0x19182e(0xdb)](_0x27da36);}return _0x5f1094['join']('\x0a');}export function renderSyncSummary(_0x1e7b9e,_0x2073a0){const _0x3475a3=a161_0xef28;if(_0x1e7b9e[_0x3475a3(0xd5)]===0x0)return _0x2073a0?_0x3475a3(0xdd):'\x20\x20No\x20pages\x20to\x20sync.';const _0x84f39b=['\x20\x20'+_0x1e7b9e['length']+'\x20page(s)\x20will\x20be\x20created\x20on\x20platform:'];for(const _0x370e7e of _0x1e7b9e){_0x84f39b['push'](_0x3475a3(0xe7)+_0x370e7e[_0x3475a3(0xef)]+'\x20('+_0x370e7e[_0x3475a3(0xf3)]+')');}return _0x84f39b[_0x3475a3(0xee)]('\x0a');}export function renderUpdateSummary(_0x2cf26e,_0x5ee68a){const _0x50b560=a161_0xef28;if(_0x2cf26e[_0x50b560(0xd5)]===0x0)return _0x50b560(0xdc);const _0x3f2d3d=['\x20\x20'+_0x2cf26e['length']+_0x50b560(0xe8),_0x50b560(0xe2)+(_0x5ee68a[0x0]??_0x50b560(0xf0)),'\x20\x20\x20\x20CSS:\x20'+(_0x5ee68a[0x1]??_0x50b560(0xf0)),'',_0x50b560(0xe0)+_0x2cf26e[_0x50b560(0xee)](',\x20')];return _0x3f2d3d['join']('\x0a');}function a161_0xef28(_0x2af3c3,_0x55563b){_0x2af3c3=_0x2af3c3-0xd4;const _0x154ae1=a161_0x154a();let _0xef2855=_0x154ae1[_0x2af3c3];return _0xef2855;}function a161_0x154a(){const _0x212819=['max','Path','path','repeat','438vrXBSv','length','local','5325600rSSItJ','map','Local','Platform','push','\x20\x20No\x20menus\x20with\x20existing\x20resources\x20found.','\x20\x20All\x20local\x20pages\x20are\x20already\x20on\x20platform.','2589480IatKeV','11lCVnLQ','\x20\x20Affected\x20menus:\x20','78230Wqmtva','\x20\x20\x20\x20JS:\x20\x20','3OghpLL','1062404VZBJxR','584mCmURR','showOnline','\x20\x20\x20\x20•\x20','\x20menu(s)\x20will\x20be\x20updated\x20with\x20new\x20assets:','18632630KRwXff','458957TioWSu','test','123894acvEDS','Menu\x20Name','join','label','(unchanged)'];a161_0x154a=function(){return _0x212819;};return a161_0x154a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a162_0x3d4976=a162_0x3998;(function(_0xb0eb00,_0x8da981){const _0x4a8d12=a162_0x3998,_0x223a9c=_0xb0eb00();while(!![]){try{const _0x498ee7=parseInt(_0x4a8d12(0xb2))/0x1+parseInt(_0x4a8d12(0xbf))/0x2*(-parseInt(_0x4a8d12(0xda))/0x3)+-parseInt(_0x4a8d12(0xb8))/0x4*(-parseInt(_0x4a8d12(0xdc))/0x5)+-parseInt(_0x4a8d12(0xf8))/0x6+parseInt(_0x4a8d12(0xe3))/0x7*(-parseInt(_0x4a8d12(0xb3))/0x8)+-parseInt(_0x4a8d12(0xc5))/0x9+parseInt(_0x4a8d12(0xf1))/0xa*(parseInt(_0x4a8d12(0x10a))/0xb);if(_0x498ee7===_0x8da981)break;else _0x223a9c['push'](_0x223a9c['shift']());}catch(_0x2d5c05){_0x223a9c['push'](_0x223a9c['shift']());}}}(a162_0x561b,0x29676));import{createHash}from'node:crypto';function a162_0x561b(){const _0x48e191=['before','resources','modelType','version','290112ywxOgC','2250568IJgQiS','isFinite','number','command','datasetCode','4RxusaS','childrenCount','parse','extendHash','byId','batch-delete-menu','type','2ZfHoiJ','sha256','parentId','pageId','childrenIds','path','516897Ixtooz','depth','utf8','createdAt','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','size','/smartapi/menu/batchDelete','toISOString','plan-out','targetFingerprint','warnings','isArray','Menu\x20delete\x20plan\x20creation\x20time\x20','length','string','menu_plan_file_exists','extend','updateTime','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','93723DpdEKY','getTime','1097645jWTfAn','menu_plan_app_mismatch','recursive','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','visible','\x20is\x20in\x20the\x20future.',',\x20current\x20app\x20is\x20','7ouNhOZ','expiresAt','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20','delete','resourcesHash','sort','pageType','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','hash','Planned\x20menu\x20','pages','POST','trim','target','10HWdzCv','menu_plan_expired','appCode','test','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','\x20requires\x20a\x20non-empty\x20file\x20path.','update','381978HuKmiP','map','digest','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','targets','selector','object','Menu\x20delete\x20plan\x20targets\x20app\x20','Menu\x20delete\x20plan\x20expired\x20at\x20','cascade','menu_plan_invalid','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','every','menu_state_drift','isInteger','stringify','updateUserName','code','1029677MGfqEh','message','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','deleteOrder','hex','menu\x20delete','menu_plan_write_failed','pageSchemaAffected','isSafeInteger','updateUserId','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','label','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','datasetId','get','targetFingerprints','boolean','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','snapshotHash','resourcesValid'];a162_0x561b=function(){return _0x48e191;};return a162_0x561b();}import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a162_0x3d4976(0x9f),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x43cd62,_0x207c6f,_0x2997e6=new Date()){const _0x476540=a162_0x3d4976;if(!_0x207c6f['before']||!isMenuFact(_0x207c6f[_0x476540(0xae)]))throw menuError(_0x476540(0x102),_0x476540(0xa4));const _0x2c5d77=_0x207c6f[_0x476540(0xfc)]?.[_0x476540(0xd2)]?_0x207c6f[_0x476540(0xfc)]:[_0x207c6f[_0x476540(0xae)]],_0x3e66ae=_0x207c6f[_0x476540(0x10d)]?.[_0x476540(0xd2)]?_0x207c6f[_0x476540(0x10d)]:_0x2c5d77[_0x476540(0xf9)](_0x2c6479=>_0x2c6479['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x43cd62,'createdAt':_0x2997e6[_0x476540(0xcc)](),'expiresAt':new Date(_0x2997e6['getTime']()+PLAN_TTL_MS)[_0x476540(0xcc)](),'snapshotHash':_0x207c6f['snapshotHash'],'recursive':_0x207c6f[_0x476540(0xfd)]['recursive']===!![],'target':_0x207c6f[_0x476540(0xae)],'targetFingerprint':fingerprint(_0x207c6f['before']),'targets':_0x2c5d77,'targetFingerprints':_0x2c5d77[_0x476540(0xf9)](fingerprint),'deleteOrder':_0x3e66ae,'cascade':_0x207c6f[_0x476540(0x101)]??{'pages':_0x207c6f['before'][_0x476540(0xc2)]==null?[]:[_0x207c6f['before']['pageId']],'pageSchemaAffected':_0x207c6f[_0x476540(0xae)][_0x476540(0xc2)]!=null},'warnings':[..._0x207c6f[_0x476540(0xcf)]]};}export async function writeMenuDeletePlan(_0x3f86ae,_0x286add){const _0x3730fb=a162_0x3d4976,_0x5455f8=resolvePlanPath(_0x3f86ae,_0x3730fb(0xcd));await mkdir(dirname(_0x5455f8),{'recursive':!![]});try{await writeFile(_0x5455f8,JSON[_0x3730fb(0x107)](_0x286add,null,0x2)+'\x0a',{'encoding':_0x3730fb(0xc7),'flag':'wx'});}catch(_0x4896bd){if(_0x4896bd[_0x3730fb(0x109)]==='EEXIST')throw menuError(_0x3730fb(0xd4),_0x3730fb(0xd7)+_0x5455f8,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError(_0x3730fb(0xa0),_0x3730fb(0xe5)+_0x5455f8+':\x20'+errorMessage(_0x4896bd));}return _0x5455f8;}export async function readMenuDeletePlan(_0xd0bfbc){const _0x11f063=a162_0x3d4976,_0x428ee7=resolvePlanPath(_0xd0bfbc,'plan');let _0x76a966;try{_0x76a966=(await stat(_0x428ee7))['size'];}catch(_0x37225e){throw menuError(_0x11f063(0x102),'Cannot\x20read\x20menu\x20delete\x20plan\x20'+_0x428ee7+':\x20'+errorMessage(_0x37225e));}if(_0x76a966>MAX_PLAN_BYTES)throw menuError(_0x11f063(0x102),_0x11f063(0x10c)+_0x76a966+'\x20bytes.');let _0x1ee3d2;try{_0x1ee3d2=JSON[_0x11f063(0xba)](await readFile(_0x428ee7,'utf8'));}catch(_0x4c6781){throw menuError(_0x11f063(0x102),_0x11f063(0xa6)+errorMessage(_0x4c6781));}if(!isMenuDeletePlanFile(_0x1ee3d2))throw menuError(_0x11f063(0x102),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+'\x20of\x20the\x20'+PLAN_COMMAND+'\x20contract.');if(!sameFingerprint(_0x1ee3d2['targetFingerprint'],fingerprint(_0x1ee3d2[_0x11f063(0xf0)])))throw menuError('menu_plan_invalid',_0x11f063(0xc9),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.');if(!_0x1ee3d2[_0x11f063(0xfc)][_0x11f063(0x104)]((_0x33e7e7,_0xc663af)=>sameFingerprint(_0x1ee3d2[_0x11f063(0xa9)][_0xc663af],fingerprint(_0x33e7e7)))||!sameFingerprint(_0x1ee3d2['targetFingerprint'],fingerprint(_0x1ee3d2[_0x11f063(0xfc)][_0x1ee3d2['targets'][_0x11f063(0xd2)]-0x1])))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.',_0x11f063(0xdf));return{'path':_0x428ee7,'plan':_0x1ee3d2};}export function mutationPlanFromDeleteFile(_0x50b80d,_0x2e0c2e){const _0x2fd451=a162_0x3d4976;return mutationResult({'operation':_0x2fd451(0xe6),'selector':{'id':_0x50b80d['target']['id'],'recursive':_0x50b80d['recursive']},'before':_0x50b80d[_0x2fd451(0xf0)],'after':null,'dryRun':![],'backend':[{'method':_0x2fd451(0xee),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x2fd451(0xbd),'method':_0x2fd451(0xee),'path':_0x2fd451(0xcb),'body':{'idList':_0x50b80d[_0x2fd451(0x10d)]}}],'targets':_0x50b80d['targets'],'deleteOrder':_0x50b80d[_0x2fd451(0x10d)],'snapshotHash':_0x50b80d[_0x2fd451(0xac)],'cascade':_0x50b80d[_0x2fd451(0x101)],'planFile':{'path':_0x2e0c2e,'createdAt':_0x50b80d[_0x2fd451(0xc8)],'expiresAt':_0x50b80d[_0x2fd451(0xe4)]},'warnings':_0x50b80d['warnings']});}export function assertMenuDeletePlanCurrent(_0x3eff47,_0x799ac6,_0x116e60,_0x3aae28=new Date()){const _0x3bfdfe=a162_0x3d4976;assertMenuDeletePlanExecutable(_0x3eff47,_0x799ac6,_0x3aae28);if(_0x116e60[_0x3bfdfe(0xeb)]!==_0x3eff47['snapshotHash'])throw menuError('menu_state_drift',_0x3bfdfe(0xab),_0x3bfdfe(0xd9));return _0x3eff47[_0x3bfdfe(0xfc)][_0x3bfdfe(0xf9)]((_0x1d3bcc,_0x34d0bd)=>{const _0x3c2af5=_0x3bfdfe,_0x74bf8f=_0x116e60[_0x3c2af5(0xbc)][_0x3c2af5(0xa8)](_0x1d3bcc['id']);if(!_0x74bf8f)throw menuError('menu_state_drift',_0x3c2af5(0xec)+_0x1d3bcc['id']+_0x3c2af5(0xfb));if(!sameFingerprint(_0x3eff47[_0x3c2af5(0xa9)][_0x34d0bd],fingerprint(_0x74bf8f)))throw menuError(_0x3c2af5(0x105),_0x3c2af5(0xec)+_0x1d3bcc['id']+_0x3c2af5(0xea),_0x3c2af5(0x103));return _0x74bf8f;});}export function assertMenuDeletePlanExecutable(_0xe8ec19,_0x389d7e,_0x933336=new Date()){const _0x4f480d=a162_0x3d4976;if(_0xe8ec19[_0x4f480d(0xf3)]!==_0x389d7e)throw menuError(_0x4f480d(0xdd),_0x4f480d(0xff)+JSON[_0x4f480d(0x107)](_0xe8ec19[_0x4f480d(0xf3)])+_0x4f480d(0xe2)+JSON['stringify'](_0x389d7e)+'.');const _0x327652=Date[_0x4f480d(0xba)](_0xe8ec19['createdAt']),_0x220033=Date[_0x4f480d(0xba)](_0xe8ec19[_0x4f480d(0xe4)]);if(!Number['isFinite'](_0x327652)||!Number[_0x4f480d(0xb4)](_0x220033)||_0x220033-_0x327652!==PLAN_TTL_MS)throw menuError(_0x4f480d(0x102),_0x4f480d(0xd8));if(_0x327652>_0x933336[_0x4f480d(0xdb)]())throw menuError(_0x4f480d(0x102),_0x4f480d(0xd1)+_0xe8ec19[_0x4f480d(0xc8)]+_0x4f480d(0xe1),'Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.');if(_0x933336[_0x4f480d(0xdb)]()>_0x220033)throw menuError(_0x4f480d(0xf2),_0x4f480d(0x100)+_0xe8ec19[_0x4f480d(0xe4)]+'.',_0x4f480d(0xf5));}function fingerprint(_0x357b61){const _0x2a35bc=a162_0x3d4976;return{'id':_0x357b61['id'],'parentId':_0x357b61['parentId'],'depth':_0x357b61[_0x2a35bc(0xc6)],'label':_0x357b61[_0x2a35bc(0xa5)],'path':_0x357b61[_0x2a35bc(0xc4)],'type':_0x357b61[_0x2a35bc(0xbe)],'visible':_0x357b61[_0x2a35bc(0xe0)],'sort':_0x357b61[_0x2a35bc(0xe8)],'pageId':_0x357b61[_0x2a35bc(0xc2)],'pageType':_0x357b61['pageType'],'modelType':_0x357b61[_0x2a35bc(0xb0)],'datasetId':_0x357b61[_0x2a35bc(0xa7)],'datasetCode':_0x357b61[_0x2a35bc(0xb7)],'childrenIds':[..._0x357b61[_0x2a35bc(0xc3)]],'childrenCount':_0x357b61['childrenCount'],'resourcesValid':_0x357b61[_0x2a35bc(0xad)],'resourcesHash':hashValue(_0x357b61[_0x2a35bc(0xaf)]),'extendHash':hashValue(_0x357b61[_0x2a35bc(0xd5)]??null),'updateTime':_0x357b61[_0x2a35bc(0xd6)]};}function hashValue(_0x22e7ca){const _0x406001=a162_0x3d4976;return createHash(_0x406001(0xc0))[_0x406001(0xf7)](JSON[_0x406001(0x107)](_0x22e7ca))[_0x406001(0xfa)](_0x406001(0x9e));}function sameFingerprint(_0x591bf9,_0x363be6){const _0x3363d8=a162_0x3d4976;return JSON[_0x3363d8(0x107)](_0x591bf9)===JSON[_0x3363d8(0x107)](_0x363be6);}function resolvePlanPath(_0x558e11,_0x25d388){const _0x5c232a=a162_0x3d4976,_0x15fa4d=_0x558e11[_0x5c232a(0xef)]();if(!_0x15fa4d)throw menuError(_0x5c232a(0x102),'--'+_0x25d388+_0x5c232a(0xf6));return resolve(_0x15fa4d);}function a162_0x3998(_0x446b24,_0xe17394){_0x446b24=_0x446b24-0x9e;const _0x561b9c=a162_0x561b();let _0x39984f=_0x561b9c[_0x446b24];return _0x39984f;}function isMenuDeletePlanFile(_0x16a7ff){const _0x3a5d83=a162_0x3d4976;if(!isRecord(_0x16a7ff))return![];return _0x16a7ff[_0x3a5d83(0xb1)]===PLAN_VERSION&&_0x16a7ff[_0x3a5d83(0xb6)]===PLAN_COMMAND&&typeof _0x16a7ff[_0x3a5d83(0xf3)]==='string'&&_0x16a7ff[_0x3a5d83(0xf3)][_0x3a5d83(0xd2)]>0x0&&typeof _0x16a7ff[_0x3a5d83(0xc8)]==='string'&&typeof _0x16a7ff[_0x3a5d83(0xe4)]===_0x3a5d83(0xd3)&&typeof _0x16a7ff[_0x3a5d83(0xac)]===_0x3a5d83(0xd3)&&/^sha256:[a-f0-9]{64}$/['test'](_0x16a7ff[_0x3a5d83(0xac)])&&typeof _0x16a7ff[_0x3a5d83(0xde)]===_0x3a5d83(0xaa)&&isMenuFact(_0x16a7ff[_0x3a5d83(0xf0)])&&isTargetFingerprint(_0x16a7ff[_0x3a5d83(0xce)])&&Array['isArray'](_0x16a7ff[_0x3a5d83(0xfc)])&&_0x16a7ff[_0x3a5d83(0xfc)][_0x3a5d83(0xd2)]>0x0&&_0x16a7ff[_0x3a5d83(0xfc)][_0x3a5d83(0x104)](isMenuFact)&&Array[_0x3a5d83(0xd0)](_0x16a7ff['targetFingerprints'])&&_0x16a7ff[_0x3a5d83(0xa9)][_0x3a5d83(0xd2)]===_0x16a7ff[_0x3a5d83(0xfc)][_0x3a5d83(0xd2)]&&_0x16a7ff['targetFingerprints'][_0x3a5d83(0x104)](isTargetFingerprint)&&Array[_0x3a5d83(0xd0)](_0x16a7ff[_0x3a5d83(0x10d)])&&_0x16a7ff['deleteOrder'][_0x3a5d83(0xd2)]===_0x16a7ff['targets']['length']&&_0x16a7ff['deleteOrder'][_0x3a5d83(0x104)](isPositiveInteger)&&new Set(_0x16a7ff[_0x3a5d83(0x10d)])[_0x3a5d83(0xca)]===_0x16a7ff[_0x3a5d83(0x10d)][_0x3a5d83(0xd2)]&&_0x16a7ff[_0x3a5d83(0xfc)][_0x3a5d83(0x104)]((_0x1a53ef,_0x12b42f)=>_0x1a53ef['id']===_0x16a7ff['deleteOrder'][_0x12b42f])&&_0x16a7ff['targets'][_0x16a7ff[_0x3a5d83(0xfc)][_0x3a5d83(0xd2)]-0x1]?.['id']===_0x16a7ff[_0x3a5d83(0xf0)]['id']&&isRecord(_0x16a7ff[_0x3a5d83(0x101)])&&Array[_0x3a5d83(0xd0)](_0x16a7ff[_0x3a5d83(0x101)]['pages'])&&_0x16a7ff[_0x3a5d83(0x101)][_0x3a5d83(0xed)]['every'](isPositiveInteger)&&typeof _0x16a7ff[_0x3a5d83(0x101)][_0x3a5d83(0xa1)]===_0x3a5d83(0xaa)&&Array[_0x3a5d83(0xd0)](_0x16a7ff[_0x3a5d83(0xcf)])&&_0x16a7ff[_0x3a5d83(0xcf)][_0x3a5d83(0x104)](_0x438635=>typeof _0x438635===_0x3a5d83(0xd3));}function isMenuFact(_0x14f15c){const _0x3bca87=a162_0x3d4976;if(!isRecord(_0x14f15c))return![];return isPositiveInteger(_0x14f15c['id'])&&(_0x14f15c[_0x3bca87(0xc1)]===null||isPositiveInteger(_0x14f15c['parentId']))&&Number[_0x3bca87(0x106)](_0x14f15c[_0x3bca87(0xc6)])&&_0x14f15c[_0x3bca87(0xc6)]>=0x0&&typeof _0x14f15c[_0x3bca87(0xa5)]==='string'&&typeof _0x14f15c['path']===_0x3bca87(0xd3)&&typeof _0x14f15c[_0x3bca87(0xbe)]===_0x3bca87(0xd3)&&(_0x14f15c['visible']===null||typeof _0x14f15c['visible']===_0x3bca87(0xaa))&&(_0x14f15c[_0x3bca87(0xe8)]===null||Number['isInteger'](_0x14f15c[_0x3bca87(0xe8)]))&&Array['isArray'](_0x14f15c[_0x3bca87(0xaf)])&&_0x14f15c[_0x3bca87(0xaf)]['every'](_0x1ff422=>typeof _0x1ff422===_0x3bca87(0xd3))&&typeof _0x14f15c[_0x3bca87(0xad)]===_0x3bca87(0xaa)&&Array[_0x3bca87(0xd0)](_0x14f15c[_0x3bca87(0xc3)])&&_0x14f15c[_0x3bca87(0xc3)]['every'](isPositiveInteger)&&Number[_0x3bca87(0x106)](_0x14f15c['childrenCount'])&&_0x14f15c['childrenCount']>=0x0&&(_0x14f15c['pageId']===null||isPositiveInteger(_0x14f15c['pageId']))&&typeof _0x14f15c[_0x3bca87(0xe9)]==='string'&&typeof _0x14f15c[_0x3bca87(0xb0)]===_0x3bca87(0xd3)&&(_0x14f15c[_0x3bca87(0xa7)]===null||isPositiveInteger(_0x14f15c['datasetId']))&&typeof _0x14f15c['datasetCode']===_0x3bca87(0xd3)&&(_0x14f15c[_0x3bca87(0xa3)]===null||typeof _0x14f15c[_0x3bca87(0xa3)]===_0x3bca87(0xd3))&&(_0x14f15c['updateUserName']===null||typeof _0x14f15c[_0x3bca87(0x108)]===_0x3bca87(0xd3))&&(_0x14f15c[_0x3bca87(0xd6)]===null||typeof _0x14f15c[_0x3bca87(0xd6)]==='string'||typeof _0x14f15c[_0x3bca87(0xd6)]===_0x3bca87(0xb5))&&(_0x14f15c[_0x3bca87(0xd5)]===undefined||_0x14f15c[_0x3bca87(0xd5)]===null||isRecord(_0x14f15c[_0x3bca87(0xd5)]));}function isTargetFingerprint(_0x1da073){const _0x22fda3=a162_0x3d4976;if(!isRecord(_0x1da073))return![];return isPositiveInteger(_0x1da073['id'])&&(_0x1da073['parentId']===null||isPositiveInteger(_0x1da073['parentId']))&&Number[_0x22fda3(0x106)](_0x1da073[_0x22fda3(0xc6)])&&_0x1da073['depth']>=0x0&&typeof _0x1da073[_0x22fda3(0xa5)]===_0x22fda3(0xd3)&&typeof _0x1da073[_0x22fda3(0xc4)]===_0x22fda3(0xd3)&&typeof _0x1da073[_0x22fda3(0xbe)]==='string'&&(_0x1da073[_0x22fda3(0xe0)]===null||typeof _0x1da073[_0x22fda3(0xe0)]===_0x22fda3(0xaa))&&(_0x1da073[_0x22fda3(0xe8)]===null||Number['isInteger'](_0x1da073[_0x22fda3(0xe8)]))&&(_0x1da073[_0x22fda3(0xc2)]===null||isPositiveInteger(_0x1da073[_0x22fda3(0xc2)]))&&typeof _0x1da073[_0x22fda3(0xe9)]===_0x22fda3(0xd3)&&typeof _0x1da073['modelType']===_0x22fda3(0xd3)&&(_0x1da073[_0x22fda3(0xa7)]===null||isPositiveInteger(_0x1da073[_0x22fda3(0xa7)]))&&typeof _0x1da073[_0x22fda3(0xb7)]==='string'&&Array[_0x22fda3(0xd0)](_0x1da073[_0x22fda3(0xc3)])&&_0x1da073[_0x22fda3(0xc3)][_0x22fda3(0x104)](isPositiveInteger)&&Number[_0x22fda3(0x106)](_0x1da073[_0x22fda3(0xb9)])&&_0x1da073['childrenCount']>=0x0&&typeof _0x1da073[_0x22fda3(0xad)]==='boolean'&&typeof _0x1da073[_0x22fda3(0xe7)]===_0x22fda3(0xd3)&&/^[a-f0-9]{64}$/[_0x22fda3(0xf4)](_0x1da073['resourcesHash'])&&typeof _0x1da073['extendHash']==='string'&&/^[a-f0-9]{64}$/[_0x22fda3(0xf4)](_0x1da073[_0x22fda3(0xbb)])&&(_0x1da073['updateTime']===null||typeof _0x1da073[_0x22fda3(0xd6)]===_0x22fda3(0xd3)||typeof _0x1da073[_0x22fda3(0xd6)]===_0x22fda3(0xb5));}function isRecord(_0x3b723d){const _0x49ec0b=a162_0x3d4976;return typeof _0x3b723d===_0x49ec0b(0xfe)&&_0x3b723d!==null&&!Array[_0x49ec0b(0xd0)](_0x3b723d);}function isPositiveInteger(_0x54b3de){const _0x3173e9=a162_0x3d4976;return Number[_0x3173e9(0xa2)](_0x54b3de)&&Number(_0x54b3de)>0x0;}function errorMessage(_0x3608d7){const _0x35bc0f=a162_0x3d4976;return _0x3608d7 instanceof Error?_0x3608d7[_0x35bc0f(0x10b)]:String(_0x3608d7);}
|
|
1
|
+
const a162_0x3ce4c1=a162_0x5e20;function a162_0x47c0(){const _0x47d3c0=['Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','menu\x20delete','2905881fgpKUr','2960NvyktL','2980568XTOilb','Menu\x20delete\x20plan\x20targets\x20app\x20','childrenCount','depth','extend','cascade','toISOString','\x20is\x20in\x20the\x20future.','createdAt','batch-delete-menu','4020fURHlU','resourcesValid','pageType','/smartapi/menu/batchDelete','plan','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','\x20of\x20the\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','2yrWFAJ','path','every','isArray','datasetId','Planned\x20menu\x20','updateTime','string','updateUserName','menu_plan_write_failed','digest','length','pageId','visible','resources','pages','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','recursive','POST','Menu\x20delete\x20plan\x20creation\x20time\x20','label','extendHash','8154qYlTUj','Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20','snapshotHash','modelType','test','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','parentId','5124WnZReu','before','trim','selector','plan-out','childrenIds','size','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','12FUrWgr','deleteOrder','appCode','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','datasetCode','isFinite','targetFingerprints','type','command','\x20bytes.','object','targetFingerprint','code','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','menu_plan_invalid','stringify','map','warnings','sort','version','updateUserId','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20','getTime','boolean','update','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','\x20contract.','3513148jRiuJL','pageSchemaAffected','resourcesHash','Cannot\x20read\x20menu\x20delete\x20plan\x20','number','7FjMuUc','menu_plan_expired','menu_plan_file_exists','delete','4415673oHPYvK','target','targets','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20',',\x20current\x20app\x20is\x20','605093CKRohk','byId','isInteger','menu_state_drift','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','EEXIST'];a162_0x47c0=function(){return _0x47d3c0;};return a162_0x47c0();}(function(_0x4a02f2,_0xa1709e){const _0x5b6bfa=a162_0x5e20,_0x1546c2=_0x4a02f2();while(!![]){try{const _0x347f52=-parseInt(_0x5b6bfa(0xcc))/0x1*(parseInt(_0x5b6bfa(0xe8))/0x2)+parseInt(_0x5b6bfa(0xc7))/0x3+-parseInt(_0x5b6bfa(0xbe))/0x4+-parseInt(_0x5b6bfa(0xd5))/0x5*(-parseInt(_0x5b6bfa(0x106))/0x6)+parseInt(_0x5b6bfa(0xc3))/0x7*(parseInt(_0x5b6bfa(0xd6))/0x8)+parseInt(_0x5b6bfa(0xff))/0x9*(-parseInt(_0x5b6bfa(0xe0))/0xa)+-parseInt(_0x5b6bfa(0xd4))/0xb*(-parseInt(_0x5b6bfa(0x10e))/0xc);if(_0x347f52===_0xa1709e)break;else _0x1546c2['push'](_0x1546c2['shift']());}catch(_0x4d1438){_0x1546c2['push'](_0x1546c2['shift']());}}}(a162_0x47c0,0xbb291));function a162_0x5e20(_0x2d78a7,_0x28c8fc){_0x2d78a7=_0x2d78a7-0xb0;const _0x47c03b=a162_0x47c0();let _0x5e20af=_0x47c03b[_0x2d78a7];return _0x5e20af;}import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a162_0x3ce4c1(0xd3),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0xb01443,_0x13c242,_0x20cf84=new Date()){const _0x2ba4cc=a162_0x3ce4c1;if(!_0x13c242[_0x2ba4cc(0x107)]||!isMenuFact(_0x13c242[_0x2ba4cc(0x107)]))throw menuError(_0x2ba4cc(0xb1),_0x2ba4cc(0x111));const _0x64e4d4=_0x13c242[_0x2ba4cc(0xc9)]?.[_0x2ba4cc(0xf3)]?_0x13c242[_0x2ba4cc(0xc9)]:[_0x13c242[_0x2ba4cc(0x107)]],_0x4e7dc9=_0x13c242[_0x2ba4cc(0x10f)]?.[_0x2ba4cc(0xf3)]?_0x13c242[_0x2ba4cc(0x10f)]:_0x64e4d4['map'](_0xb539c5=>_0xb539c5['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0xb01443,'createdAt':_0x20cf84[_0x2ba4cc(0xdc)](),'expiresAt':new Date(_0x20cf84[_0x2ba4cc(0xb9)]()+PLAN_TTL_MS)[_0x2ba4cc(0xdc)](),'snapshotHash':_0x13c242[_0x2ba4cc(0x101)],'recursive':_0x13c242[_0x2ba4cc(0x109)]['recursive']===!![],'target':_0x13c242[_0x2ba4cc(0x107)],'targetFingerprint':fingerprint(_0x13c242['before']),'targets':_0x64e4d4,'targetFingerprints':_0x64e4d4[_0x2ba4cc(0xb3)](fingerprint),'deleteOrder':_0x4e7dc9,'cascade':_0x13c242[_0x2ba4cc(0xdb)]??{'pages':_0x13c242[_0x2ba4cc(0x107)][_0x2ba4cc(0xf4)]==null?[]:[_0x13c242[_0x2ba4cc(0x107)]['pageId']],'pageSchemaAffected':_0x13c242[_0x2ba4cc(0x107)][_0x2ba4cc(0xf4)]!=null},'warnings':[..._0x13c242[_0x2ba4cc(0xb4)]]};}export async function writeMenuDeletePlan(_0x6045c9,_0x1fbcf0){const _0x4d8a19=a162_0x3ce4c1,_0x2ea337=resolvePlanPath(_0x6045c9,_0x4d8a19(0x10a));await mkdir(dirname(_0x2ea337),{'recursive':!![]});try{await writeFile(_0x2ea337,JSON['stringify'](_0x1fbcf0,null,0x2)+'\x0a',{'encoding':'utf8','flag':'wx'});}catch(_0x914724){if(_0x914724[_0x4d8a19(0x11a)]===_0x4d8a19(0xd1))throw menuError(_0x4d8a19(0xc5),_0x4d8a19(0xca)+_0x2ea337,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError(_0x4d8a19(0xf1),_0x4d8a19(0xb8)+_0x2ea337+':\x20'+errorMessage(_0x914724));}return _0x2ea337;}export async function readMenuDeletePlan(_0x5458dc){const _0x2cf441=a162_0x3ce4c1,_0x546a82=resolvePlanPath(_0x5458dc,_0x2cf441(0xe4));let _0x2ef02a;try{_0x2ef02a=(await stat(_0x546a82))[_0x2cf441(0x10c)];}catch(_0x4f502a){throw menuError('menu_plan_invalid',_0x2cf441(0xc1)+_0x546a82+':\x20'+errorMessage(_0x4f502a));}if(_0x2ef02a>MAX_PLAN_BYTES)throw menuError(_0x2cf441(0xb1),_0x2cf441(0xd0)+_0x2ef02a+_0x2cf441(0x117));let _0x5db327;try{_0x5db327=JSON['parse'](await readFile(_0x546a82,'utf8'));}catch(_0x14bdb5){throw menuError(_0x2cf441(0xb1),_0x2cf441(0x10d)+errorMessage(_0x14bdb5));}if(!isMenuDeletePlanFile(_0x5db327))throw menuError(_0x2cf441(0xb1),_0x2cf441(0x100)+PLAN_VERSION+_0x2cf441(0xe6)+PLAN_COMMAND+_0x2cf441(0xbd));if(!sameFingerprint(_0x5db327[_0x2cf441(0x119)],fingerprint(_0x5db327[_0x2cf441(0xc8)])))throw menuError(_0x2cf441(0xb1),_0x2cf441(0xbc),_0x2cf441(0xe7));if(!_0x5db327['targets']['every']((_0x4ddf2f,_0x21615b)=>sameFingerprint(_0x5db327['targetFingerprints'][_0x21615b],fingerprint(_0x4ddf2f)))||!sameFingerprint(_0x5db327[_0x2cf441(0x119)],fingerprint(_0x5db327[_0x2cf441(0xc9)][_0x5db327['targets'][_0x2cf441(0xf3)]-0x1])))throw menuError(_0x2cf441(0xb1),'Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.',_0x2cf441(0xe7));return{'path':_0x546a82,'plan':_0x5db327};}export function mutationPlanFromDeleteFile(_0x410e67,_0xa15f81){const _0x4800b0=a162_0x3ce4c1;return mutationResult({'operation':_0x4800b0(0xc6),'selector':{'id':_0x410e67['target']['id'],'recursive':_0x410e67[_0x4800b0(0xfa)]},'before':_0x410e67[_0x4800b0(0xc8)],'after':null,'dryRun':![],'backend':[{'method':_0x4800b0(0xfb),'path':_0x4800b0(0xe3)}],'plannedActions':[{'stage':_0x4800b0(0xdf),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x410e67[_0x4800b0(0x10f)]}}],'targets':_0x410e67[_0x4800b0(0xc9)],'deleteOrder':_0x410e67[_0x4800b0(0x10f)],'snapshotHash':_0x410e67[_0x4800b0(0x101)],'cascade':_0x410e67[_0x4800b0(0xdb)],'planFile':{'path':_0xa15f81,'createdAt':_0x410e67[_0x4800b0(0xde)],'expiresAt':_0x410e67['expiresAt']},'warnings':_0x410e67['warnings']});}export function assertMenuDeletePlanCurrent(_0x3bbe02,_0x316f2d,_0x216497,_0x4abf8b=new Date()){const _0xb60af9=a162_0x3ce4c1;assertMenuDeletePlanExecutable(_0x3bbe02,_0x316f2d,_0x4abf8b);if(_0x216497['hash']!==_0x3bbe02[_0xb60af9(0x101)])throw menuError(_0xb60af9(0xcf),_0xb60af9(0xd2),_0xb60af9(0x104));return _0x3bbe02[_0xb60af9(0xc9)][_0xb60af9(0xb3)]((_0x1b1ec9,_0x506edb)=>{const _0x6865be=_0xb60af9,_0x54794e=_0x216497[_0x6865be(0xcd)]['get'](_0x1b1ec9['id']);if(!_0x54794e)throw menuError(_0x6865be(0xcf),_0x6865be(0xed)+_0x1b1ec9['id']+_0x6865be(0xe5));if(!sameFingerprint(_0x3bbe02[_0x6865be(0x114)][_0x506edb],fingerprint(_0x54794e)))throw menuError(_0x6865be(0xcf),_0x6865be(0xed)+_0x1b1ec9['id']+_0x6865be(0xf8),'Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.');return _0x54794e;});}export function assertMenuDeletePlanExecutable(_0x3a6825,_0x11453c,_0x2897c8=new Date()){const _0x5e7c04=a162_0x3ce4c1;if(_0x3a6825[_0x5e7c04(0x110)]!==_0x11453c)throw menuError('menu_plan_app_mismatch',_0x5e7c04(0xd7)+JSON[_0x5e7c04(0xb2)](_0x3a6825[_0x5e7c04(0x110)])+_0x5e7c04(0xcb)+JSON['stringify'](_0x11453c)+'.');const _0x426600=Date['parse'](_0x3a6825[_0x5e7c04(0xde)]),_0xe8fc86=Date['parse'](_0x3a6825['expiresAt']);if(!Number[_0x5e7c04(0x113)](_0x426600)||!Number[_0x5e7c04(0x113)](_0xe8fc86)||_0xe8fc86-_0x426600!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0x5e7c04(0xf9));if(_0x426600>_0x2897c8[_0x5e7c04(0xb9)]())throw menuError(_0x5e7c04(0xb1),_0x5e7c04(0xfc)+_0x3a6825[_0x5e7c04(0xde)]+_0x5e7c04(0xdd),_0x5e7c04(0xb0));if(_0x2897c8[_0x5e7c04(0xb9)]()>_0xe8fc86)throw menuError(_0x5e7c04(0xc4),'Menu\x20delete\x20plan\x20expired\x20at\x20'+_0x3a6825['expiresAt']+'.','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.');}function fingerprint(_0x4e8ead){const _0x1076c1=a162_0x3ce4c1;return{'id':_0x4e8ead['id'],'parentId':_0x4e8ead[_0x1076c1(0x105)],'depth':_0x4e8ead[_0x1076c1(0xd9)],'label':_0x4e8ead[_0x1076c1(0xfd)],'path':_0x4e8ead[_0x1076c1(0xe9)],'type':_0x4e8ead[_0x1076c1(0x115)],'visible':_0x4e8ead[_0x1076c1(0xf5)],'sort':_0x4e8ead[_0x1076c1(0xb5)],'pageId':_0x4e8ead[_0x1076c1(0xf4)],'pageType':_0x4e8ead[_0x1076c1(0xe2)],'modelType':_0x4e8ead[_0x1076c1(0x102)],'datasetId':_0x4e8ead[_0x1076c1(0xec)],'datasetCode':_0x4e8ead[_0x1076c1(0x112)],'childrenIds':[..._0x4e8ead[_0x1076c1(0x10b)]],'childrenCount':_0x4e8ead[_0x1076c1(0xd8)],'resourcesValid':_0x4e8ead[_0x1076c1(0xe1)],'resourcesHash':hashValue(_0x4e8ead[_0x1076c1(0xf6)]),'extendHash':hashValue(_0x4e8ead[_0x1076c1(0xda)]??null),'updateTime':_0x4e8ead[_0x1076c1(0xee)]};}function hashValue(_0x38eed0){const _0xa3649a=a162_0x3ce4c1;return createHash('sha256')[_0xa3649a(0xbb)](JSON[_0xa3649a(0xb2)](_0x38eed0))[_0xa3649a(0xf2)]('hex');}function sameFingerprint(_0x431b91,_0x5ca3d0){const _0xe4c726=a162_0x3ce4c1;return JSON[_0xe4c726(0xb2)](_0x431b91)===JSON[_0xe4c726(0xb2)](_0x5ca3d0);}function resolvePlanPath(_0x33a944,_0x21bb6b){const _0x42ad12=a162_0x3ce4c1,_0x39c2cb=_0x33a944[_0x42ad12(0x108)]();if(!_0x39c2cb)throw menuError(_0x42ad12(0xb1),'--'+_0x21bb6b+'\x20requires\x20a\x20non-empty\x20file\x20path.');return resolve(_0x39c2cb);}function isMenuDeletePlanFile(_0xf297e5){const _0x32c229=a162_0x3ce4c1;if(!isRecord(_0xf297e5))return![];return _0xf297e5[_0x32c229(0xb6)]===PLAN_VERSION&&_0xf297e5[_0x32c229(0x116)]===PLAN_COMMAND&&typeof _0xf297e5[_0x32c229(0x110)]===_0x32c229(0xef)&&_0xf297e5[_0x32c229(0x110)][_0x32c229(0xf3)]>0x0&&typeof _0xf297e5['createdAt']===_0x32c229(0xef)&&typeof _0xf297e5['expiresAt']==='string'&&typeof _0xf297e5[_0x32c229(0x101)]===_0x32c229(0xef)&&/^sha256:[a-f0-9]{64}$/[_0x32c229(0x103)](_0xf297e5[_0x32c229(0x101)])&&typeof _0xf297e5['recursive']==='boolean'&&isMenuFact(_0xf297e5['target'])&&isTargetFingerprint(_0xf297e5[_0x32c229(0x119)])&&Array[_0x32c229(0xeb)](_0xf297e5[_0x32c229(0xc9)])&&_0xf297e5[_0x32c229(0xc9)][_0x32c229(0xf3)]>0x0&&_0xf297e5[_0x32c229(0xc9)]['every'](isMenuFact)&&Array['isArray'](_0xf297e5[_0x32c229(0x114)])&&_0xf297e5[_0x32c229(0x114)][_0x32c229(0xf3)]===_0xf297e5['targets'][_0x32c229(0xf3)]&&_0xf297e5[_0x32c229(0x114)][_0x32c229(0xea)](isTargetFingerprint)&&Array[_0x32c229(0xeb)](_0xf297e5['deleteOrder'])&&_0xf297e5[_0x32c229(0x10f)]['length']===_0xf297e5[_0x32c229(0xc9)][_0x32c229(0xf3)]&&_0xf297e5[_0x32c229(0x10f)][_0x32c229(0xea)](isPositiveInteger)&&new Set(_0xf297e5[_0x32c229(0x10f)])[_0x32c229(0x10c)]===_0xf297e5[_0x32c229(0x10f)]['length']&&_0xf297e5[_0x32c229(0xc9)][_0x32c229(0xea)]((_0x56b01f,_0xbd637a)=>_0x56b01f['id']===_0xf297e5[_0x32c229(0x10f)][_0xbd637a])&&_0xf297e5[_0x32c229(0xc9)][_0xf297e5[_0x32c229(0xc9)]['length']-0x1]?.['id']===_0xf297e5[_0x32c229(0xc8)]['id']&&isRecord(_0xf297e5[_0x32c229(0xdb)])&&Array[_0x32c229(0xeb)](_0xf297e5['cascade'][_0x32c229(0xf7)])&&_0xf297e5[_0x32c229(0xdb)][_0x32c229(0xf7)][_0x32c229(0xea)](isPositiveInteger)&&typeof _0xf297e5[_0x32c229(0xdb)][_0x32c229(0xbf)]==='boolean'&&Array[_0x32c229(0xeb)](_0xf297e5[_0x32c229(0xb4)])&&_0xf297e5[_0x32c229(0xb4)][_0x32c229(0xea)](_0x2ecdd3=>typeof _0x2ecdd3===_0x32c229(0xef));}function isMenuFact(_0x533294){const _0x4ef8ed=a162_0x3ce4c1;if(!isRecord(_0x533294))return![];return isPositiveInteger(_0x533294['id'])&&(_0x533294[_0x4ef8ed(0x105)]===null||isPositiveInteger(_0x533294[_0x4ef8ed(0x105)]))&&Number[_0x4ef8ed(0xce)](_0x533294[_0x4ef8ed(0xd9)])&&_0x533294[_0x4ef8ed(0xd9)]>=0x0&&typeof _0x533294['label']===_0x4ef8ed(0xef)&&typeof _0x533294[_0x4ef8ed(0xe9)]===_0x4ef8ed(0xef)&&typeof _0x533294[_0x4ef8ed(0x115)]===_0x4ef8ed(0xef)&&(_0x533294['visible']===null||typeof _0x533294['visible']==='boolean')&&(_0x533294[_0x4ef8ed(0xb5)]===null||Number[_0x4ef8ed(0xce)](_0x533294[_0x4ef8ed(0xb5)]))&&Array[_0x4ef8ed(0xeb)](_0x533294[_0x4ef8ed(0xf6)])&&_0x533294[_0x4ef8ed(0xf6)][_0x4ef8ed(0xea)](_0x4169d3=>typeof _0x4169d3==='string')&&typeof _0x533294[_0x4ef8ed(0xe1)]===_0x4ef8ed(0xba)&&Array[_0x4ef8ed(0xeb)](_0x533294['childrenIds'])&&_0x533294['childrenIds']['every'](isPositiveInteger)&&Number[_0x4ef8ed(0xce)](_0x533294[_0x4ef8ed(0xd8)])&&_0x533294[_0x4ef8ed(0xd8)]>=0x0&&(_0x533294['pageId']===null||isPositiveInteger(_0x533294[_0x4ef8ed(0xf4)]))&&typeof _0x533294[_0x4ef8ed(0xe2)]===_0x4ef8ed(0xef)&&typeof _0x533294[_0x4ef8ed(0x102)]===_0x4ef8ed(0xef)&&(_0x533294['datasetId']===null||isPositiveInteger(_0x533294[_0x4ef8ed(0xec)]))&&typeof _0x533294[_0x4ef8ed(0x112)]==='string'&&(_0x533294[_0x4ef8ed(0xb7)]===null||typeof _0x533294[_0x4ef8ed(0xb7)]===_0x4ef8ed(0xef))&&(_0x533294['updateUserName']===null||typeof _0x533294[_0x4ef8ed(0xf0)]===_0x4ef8ed(0xef))&&(_0x533294[_0x4ef8ed(0xee)]===null||typeof _0x533294['updateTime']===_0x4ef8ed(0xef)||typeof _0x533294[_0x4ef8ed(0xee)]==='number')&&(_0x533294[_0x4ef8ed(0xda)]===undefined||_0x533294[_0x4ef8ed(0xda)]===null||isRecord(_0x533294[_0x4ef8ed(0xda)]));}function isTargetFingerprint(_0x383c49){const _0x38ad2b=a162_0x3ce4c1;if(!isRecord(_0x383c49))return![];return isPositiveInteger(_0x383c49['id'])&&(_0x383c49['parentId']===null||isPositiveInteger(_0x383c49['parentId']))&&Number['isInteger'](_0x383c49[_0x38ad2b(0xd9)])&&_0x383c49[_0x38ad2b(0xd9)]>=0x0&&typeof _0x383c49[_0x38ad2b(0xfd)]===_0x38ad2b(0xef)&&typeof _0x383c49[_0x38ad2b(0xe9)]===_0x38ad2b(0xef)&&typeof _0x383c49[_0x38ad2b(0x115)]===_0x38ad2b(0xef)&&(_0x383c49[_0x38ad2b(0xf5)]===null||typeof _0x383c49[_0x38ad2b(0xf5)]===_0x38ad2b(0xba))&&(_0x383c49[_0x38ad2b(0xb5)]===null||Number[_0x38ad2b(0xce)](_0x383c49['sort']))&&(_0x383c49[_0x38ad2b(0xf4)]===null||isPositiveInteger(_0x383c49['pageId']))&&typeof _0x383c49[_0x38ad2b(0xe2)]===_0x38ad2b(0xef)&&typeof _0x383c49['modelType']===_0x38ad2b(0xef)&&(_0x383c49[_0x38ad2b(0xec)]===null||isPositiveInteger(_0x383c49[_0x38ad2b(0xec)]))&&typeof _0x383c49[_0x38ad2b(0x112)]===_0x38ad2b(0xef)&&Array[_0x38ad2b(0xeb)](_0x383c49['childrenIds'])&&_0x383c49[_0x38ad2b(0x10b)][_0x38ad2b(0xea)](isPositiveInteger)&&Number['isInteger'](_0x383c49[_0x38ad2b(0xd8)])&&_0x383c49[_0x38ad2b(0xd8)]>=0x0&&typeof _0x383c49['resourcesValid']===_0x38ad2b(0xba)&&typeof _0x383c49[_0x38ad2b(0xc0)]===_0x38ad2b(0xef)&&/^[a-f0-9]{64}$/['test'](_0x383c49[_0x38ad2b(0xc0)])&&typeof _0x383c49[_0x38ad2b(0xfe)]===_0x38ad2b(0xef)&&/^[a-f0-9]{64}$/[_0x38ad2b(0x103)](_0x383c49[_0x38ad2b(0xfe)])&&(_0x383c49['updateTime']===null||typeof _0x383c49[_0x38ad2b(0xee)]===_0x38ad2b(0xef)||typeof _0x383c49[_0x38ad2b(0xee)]===_0x38ad2b(0xc2));}function isRecord(_0x428a88){const _0x1c6a2f=a162_0x3ce4c1;return typeof _0x428a88===_0x1c6a2f(0x118)&&_0x428a88!==null&&!Array[_0x1c6a2f(0xeb)](_0x428a88);}function isPositiveInteger(_0x59912c){return Number['isSafeInteger'](_0x59912c)&&Number(_0x59912c)>0x0;}function errorMessage(_0xc86ea){return _0xc86ea instanceof Error?_0xc86ea['message']:String(_0xc86ea);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4a2e3f,_0x48e394){const _0x52ff47=a163_0x2ce9,_0x5b8d18=_0x4a2e3f();while(!![]){try{const _0x2dab5c=parseInt(_0x52ff47(0xe2))/0x1+-parseInt(_0x52ff47(0xdb))/0x2+parseInt(_0x52ff47(0xe3))/0x3*(parseInt(_0x52ff47(0xbe))/0x4)+-parseInt(_0x52ff47(0xdc))/0x5+parseInt(_0x52ff47(0xb8))/0x6+-parseInt(_0x52ff47(0xc7))/0x7+parseInt(_0x52ff47(0xbc))/0x8*(parseInt(_0x52ff47(0xcf))/0x9);if(_0x2dab5c===_0x48e394)break;else _0x5b8d18['push'](_0x5b8d18['shift']());}catch(_0x3e63eb){_0x5b8d18['push'](_0x5b8d18['shift']());}}}(a163_0x2e6c,0x753dd));import{createHash}from'node:crypto';import{getMenuTree}from'../../../core/api-client.js';export async function fetchMenuSnapshot(_0x49a7fb,_0x6ec1a,_0x19a891={}){const _0x4d73bf=a163_0x2ce9,_0x50e4e7=await getMenuTree(_0x49a7fb,_0x6ec1a);return buildMenuSnapshot(Array[_0x4d73bf(0xd3)](_0x50e4e7)?_0x50e4e7:[],_0x19a891);}export function buildMenuSnapshot(_0x459fa3,_0x400713={}){const _0x55378a=a163_0x2ce9,_0x7a7678=flattenMenuItems(_0x459fa3,{'verbose':_0x400713['verbose']===!![],'parentId':null,'depth':0x0}),_0x312318=new Map(_0x7a7678[_0x55378a(0xc2)](_0x527269=>[_0x527269['id'],_0x527269])),_0x4d0ff3=createHash(_0x55378a(0xc5))[_0x55378a(0xe1)](JSON['stringify'](_0x7a7678['map'](toHashInput)))[_0x55378a(0xcd)](_0x55378a(0xd6));return{'total':_0x7a7678[_0x55378a(0xe0)],'hash':_0x55378a(0xc4)+_0x4d0ff3,'menus':_0x7a7678,'byId':_0x312318};}export function toProcessedMenuItem(_0x525ab1){const _0x3e1458=a163_0x2ce9;return{'id':_0x525ab1['id'],'path':_0x525ab1[_0x3e1458(0xb6)],'label':_0x525ab1[_0x3e1458(0xd8)],'resources':[..._0x525ab1['resources']],'extend':_0x525ab1['extend']??null};}function a163_0x2e6c(){const _0x456a3e=['2495270eVXybJ','resourcesValid','index','POSITIVE_INFINITY','length','update','578263HBIlmX','150906DiwAmW','path','updateUserName','1612002FvLzVA','visible','resources','filter','16aDmRKC','children','44fDIENG','depth','extend','pageId','map','modelType','sha256:','sha256','item','3720822QRAhnE','verbose','values','isFinite','string','push','digest','boolean','3595905cJBqDW','type','parse','parentId','isArray','sort','number','hex','datasetCode','label','datasetId','updateUserId','1377042DbpJXP'];a163_0x2e6c=function(){return _0x456a3e;};return a163_0x2e6c();}export function toMenuListItem(_0x21b4fd){const {modelType:_0x41f5d4,datasetId:_0x3b8d70,datasetCode:_0x1b7a4b,resourcesValid:_0x42df4a,..._0x5b9b92}=_0x21b4fd;return _0x5b9b92;}export function getChildren(_0x4f6844,_0x2273f5){const _0x3e18e3=a163_0x2ce9;return _0x4f6844['menus'][_0x3e18e3(0xbb)](_0x42fcf2=>_0x42fcf2[_0x3e18e3(0xd2)]===_0x2273f5);}function flattenMenuItems(_0xb0f613,_0xa3c05d){const _0x50b61b=a163_0x2ce9,_0x4a5466=sortMenuItems(_0xb0f613),_0xc871bb=[];for(const _0x317a77 of _0x4a5466){const _0x2ccfbb=sortMenuItems(Array['isArray'](_0x317a77[_0x50b61b(0xbd)])?_0x317a77[_0x50b61b(0xbd)]:[]);_0xc871bb['push'](toMenuFact(_0x317a77,_0x2ccfbb,_0xa3c05d)),_0x2ccfbb[_0x50b61b(0xe0)]>0x0&&_0xc871bb[_0x50b61b(0xcc)](...flattenMenuItems(_0x2ccfbb,{'verbose':_0xa3c05d['verbose'],'parentId':_0x317a77['id'],'depth':_0xa3c05d[_0x50b61b(0xbf)]+0x1}));}return _0xc871bb;}function sortMenuItems(_0x461dc2){const _0x21d46f=a163_0x2ce9;return _0x461dc2[_0x21d46f(0xc2)]((_0x58e35a,_0xbe01af)=>({'item':_0x58e35a,'index':_0xbe01af}))[_0x21d46f(0xd4)]((_0x5e2a14,_0x197007)=>{const _0x306437=_0x21d46f,_0x36f051=normalizeSort(_0x5e2a14['item']['sort']),_0x45e6a1=normalizeSort(_0x197007[_0x306437(0xc6)][_0x306437(0xd4)]);if(_0x36f051!==_0x45e6a1)return _0x36f051-_0x45e6a1;return _0x5e2a14[_0x306437(0xde)]-_0x197007['index'];})[_0x21d46f(0xc2)](({item:_0x5d12bc})=>_0x5d12bc);}function toMenuFact(_0x3ffe85,_0x816c8f,_0x2c164d){const _0x639751=a163_0x2ce9,_0x19f9b3=normalizeResourceValue(_0x3ffe85[_0x639751(0xc0)]?.[_0x639751(0xba)]),_0x1f5024={'id':_0x3ffe85['id'],'parentId':_0x2c164d[_0x639751(0xd2)],'depth':_0x2c164d['depth'],'label':normalizeString(_0x3ffe85['label']),'path':normalizeString(_0x3ffe85['path']),'url':normalizeString(_0x3ffe85['url']),'type':normalizeString(_0x3ffe85[_0x639751(0xd0)]),'visible':typeof _0x3ffe85[_0x639751(0xb9)]===_0x639751(0xce)?_0x3ffe85['visible']:null,'sort':typeof _0x3ffe85[_0x639751(0xd4)]==='number'&&Number[_0x639751(0xca)](_0x3ffe85['sort'])?_0x3ffe85[_0x639751(0xd4)]:null,'resources':_0x19f9b3[_0x639751(0xc9)],'resourcesValid':_0x19f9b3['valid'],'childrenIds':_0x816c8f[_0x639751(0xc2)](_0x521237=>_0x521237['id']),'childrenCount':_0x816c8f[_0x639751(0xe0)],'pageId':normalizeNullableNumber(_0x3ffe85['pageId']),'pageType':normalizeString(_0x3ffe85['pageType']),'modelType':normalizeString(_0x3ffe85['modelType']),'datasetId':normalizeNullableNumber(_0x3ffe85[_0x639751(0xd9)]),'datasetCode':normalizeString(_0x3ffe85[_0x639751(0xd7)]),'updateUserId':normalizeNullableString(_0x3ffe85[_0x639751(0xda)]),'updateUserName':normalizeNullableString(_0x3ffe85[_0x639751(0xb7)]),'updateTime':normalizeNullableTimestamp(_0x3ffe85['updateTime'])};return _0x2c164d[_0x639751(0xc8)]&&(_0x1f5024[_0x639751(0xc0)]=_0x3ffe85[_0x639751(0xc0)]??null),_0x1f5024;}function toHashInput(_0x1b52d9){const _0x298b9c=a163_0x2ce9;return{'id':_0x1b52d9['id'],'parentId':_0x1b52d9[_0x298b9c(0xd2)],'label':_0x1b52d9[_0x298b9c(0xd8)],'path':_0x1b52d9[_0x298b9c(0xb6)],'url':_0x1b52d9['url'],'type':_0x1b52d9['type'],'visible':_0x1b52d9[_0x298b9c(0xb9)],'sort':_0x1b52d9[_0x298b9c(0xd4)],'resources':_0x1b52d9[_0x298b9c(0xba)],'resourcesValid':_0x1b52d9[_0x298b9c(0xdd)],'childrenIds':_0x1b52d9['childrenIds'],'pageId':_0x1b52d9[_0x298b9c(0xc1)],'pageType':_0x1b52d9['pageType'],'modelType':_0x1b52d9[_0x298b9c(0xc3)],'datasetId':_0x1b52d9['datasetId'],'datasetCode':_0x1b52d9[_0x298b9c(0xd7)],'updateUserId':_0x1b52d9[_0x298b9c(0xda)],'updateUserName':_0x1b52d9[_0x298b9c(0xb7)],'updateTime':_0x1b52d9['updateTime']};}function normalizeSort(_0x28f62d){const _0x53ee05=a163_0x2ce9;return typeof _0x28f62d==='number'&&Number[_0x53ee05(0xca)](_0x28f62d)?_0x28f62d:Number[_0x53ee05(0xdf)];}function normalizeString(_0x316a93){return typeof _0x316a93==='string'?_0x316a93:'';}function a163_0x2ce9(_0x5f8814,_0x411be6){_0x5f8814=_0x5f8814-0xb6;const _0x2e6c4e=a163_0x2e6c();let _0x2ce96d=_0x2e6c4e[_0x5f8814];return _0x2ce96d;}function normalizeNullableNumber(_0x515d8e){const _0x3f5d0b=a163_0x2ce9;return typeof _0x515d8e==='number'&&Number[_0x3f5d0b(0xca)](_0x515d8e)?_0x515d8e:null;}function normalizeNullableString(_0x5bf160){const _0x1fe435=a163_0x2ce9;return typeof _0x5bf160===_0x1fe435(0xcb)&&_0x5bf160[_0x1fe435(0xe0)]>0x0?_0x5bf160:null;}function normalizeNullableTimestamp(_0x5278c0){const _0x483b5b=a163_0x2ce9;if(typeof _0x5278c0===_0x483b5b(0xcb))return _0x5278c0[_0x483b5b(0xe0)]>0x0?_0x5278c0:null;return typeof _0x5278c0===_0x483b5b(0xd5)&&Number[_0x483b5b(0xca)](_0x5278c0)?_0x5278c0:null;}export function normalizeResources(_0x256f4f){const _0x7da883=a163_0x2ce9;return normalizeResourceValue(_0x256f4f)[_0x7da883(0xc9)];}function normalizeResourceValue(_0x80b2e2){const _0x23ce4f=a163_0x2ce9;if(_0x80b2e2==null)return{'values':[],'valid':!![]};if(Array[_0x23ce4f(0xd3)](_0x80b2e2))return{'values':_0x80b2e2[_0x23ce4f(0xc2)](String),'valid':!![]};if(typeof _0x80b2e2!==_0x23ce4f(0xcb))return{'values':[],'valid':![]};try{const _0x30b3b9=JSON[_0x23ce4f(0xd1)](_0x80b2e2);return Array[_0x23ce4f(0xd3)](_0x30b3b9)?{'values':_0x30b3b9[_0x23ce4f(0xc2)](String),'valid':!![]}:{'values':[],'valid':![]};}catch{return{'values':[],'valid':![]};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1b5881,_0x4d5cca){var _0x213253=a164_0x44a6,_0x5baf2f=_0x1b5881();while(!![]){try{var _0x2fa658=parseInt(_0x213253(0x181))/0x1*(parseInt(_0x213253(0x17b))/0x2)+parseInt(_0x213253(0x17a))/0x3*(-parseInt(_0x213253(0x182))/0x4)+-parseInt(_0x213253(0x17c))/0x5+parseInt(_0x213253(0x17d))/0x6*(parseInt(_0x213253(0x17f))/0x7)+parseInt(_0x213253(0x17e))/0x8+-parseInt(_0x213253(0x179))/0x9+-parseInt(_0x213253(0x183))/0xa*(-parseInt(_0x213253(0x180))/0xb);if(_0x2fa658===_0x4d5cca)break;else _0x5baf2f['push'](_0x5baf2f['shift']());}catch(_0x1b243b){_0x5baf2f['push'](_0x5baf2f['shift']());}}}(a164_0x1089,0x2a167));export*from'../../../commands/menu/shared/types.js';export*from'../../../commands/menu/shared/logic.js';export*from'../../../commands/menu/shared/compare-table.js';export*from'../../../commands/menu/shared/inquirer.js';function a164_0x44a6(_0x45a3c1,_0xd7f88a){_0x45a3c1=_0x45a3c1-0x179;var _0x108900=a164_0x1089();var _0x44a6e8=_0x108900[_0x45a3c1];return _0x44a6e8;}export*from'../../../commands/menu/shared/valid-url.js';export*from'../../../commands/menu/shared/local-pages.js';export*from'../../../commands/menu/shared/service.js';function a164_0x1089(){var _0x46eea0=['469820OQJiKZ','834eqmQvu','735744WRkJQo','287HsDuAV','2486tvsGCP','16ZFskum','8qnRZQK','15270IoIJkw','2323368lgpgpj','365961JXVDPY','40714KLzItA'];a164_0x1089=function(){return _0x46eea0;};return a164_0x1089();}export*from'../../../commands/menu/shared/sync-core.js';export*from'../../../commands/menu/shared/update-core.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x443a22,_0x5afb3f){const _0x12007b=a165_0x3b86,_0x5f0c29=_0x443a22();while(!![]){try{const _0x3a463c=-parseInt(_0x12007b(0x1a5))/0x1*(-parseInt(_0x12007b(0x1c1))/0x2)+parseInt(_0x12007b(0x1c0))/0x3*(parseInt(_0x12007b(0x1b1))/0x4)+-parseInt(_0x12007b(0x1ae))/0x5+-parseInt(_0x12007b(0x1bf))/0x6*(-parseInt(_0x12007b(0x1a4))/0x7)+-parseInt(_0x12007b(0x1bd))/0x8*(-parseInt(_0x12007b(0x1a7))/0x9)+parseInt(_0x12007b(0x1aa))/0xa*(parseInt(_0x12007b(0x1b7))/0xb)+-parseInt(_0x12007b(0x1b9))/0xc;if(_0x3a463c===_0x5afb3f)break;else _0x5f0c29['push'](_0x5f0c29['shift']());}catch(_0x3a3b25){_0x5f0c29['push'](_0x5f0c29['shift']());}}}(a165_0x15a0,0x99dd8));import a165_0x43033d from'chalk';import{checkbox,input,confirm}from'@inquirer/prompts';function a165_0x15a0(){const _0xfadf9a=['gray','\x20\x20JS\x20URL:','11705570OnLrab','red','JS\x20URL\x20checked','map','5078460ADegrH','has','succeed','41264DGTwGA','\x20\x20CSS\x20URL:','error','CSS\x20URL\x20checked','test','\x20\x20✗\x20CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','11YSZihP','stdin','37820508oLfIcH','No\x20menus\x20selected.','isTTY','cancelled','2437664pMjyBs','CSS\x20URL\x20check\x20failed','68838ujhbDz','282NDcJMl','1936294LJGQXG','JS\x20URL\x20check\x20failed','catch','trim','\x20\x20Checking\x20JS\x20URL\x20reachability...','label','\x20\x20Select\x20menus\x20to\x20sync\x20(space\x20to\x20toggle,\x20a=all,\x20i=invert):','includes','start','No\x20local\x20pages\x20found.','\x20\x20✗\x20JS\x20URL\x20is\x20unreachable','green','path','\x20\x20✗\x20CSS\x20URL\x20is\x20unreachable','[new]','name','287uextDl','1SaoFZT','Cancelled.','36gxjCcD'];a165_0x15a0=function(){return _0xfadf9a;};return a165_0x15a0();}import a165_0xc7d8fd from'ora';import{isUrlReachable}from'../../../commands/menu/shared/valid-url.js';import{CliErrors}from'../../../errors.js';function onCancel(_0x7d6d0){const _0x3136d7=a165_0x3b86;return _0x7d6d0[_0x3136d7(0x1c3)](_0x5b2bb4=>{const _0x1b40e8=_0x3136d7;if(_0x5b2bb4?.[_0x1b40e8(0x1a3)]==='ExitPromptError')throw CliErrors['cancelled'](_0x1b40e8(0x1a6));throw _0x5b2bb4;});}export function startSpinner(_0x39d561){const _0x2d3e76=a165_0x3b86;return a165_0xc7d8fd({'text':_0x39d561,'color':'cyan'})[_0x2d3e76(0x1c9)]();}export function stopSpinner(_0x4bcc89,_0x24678d,_0x2cd79d){const _0x400ee8=a165_0x3b86;_0x2cd79d?_0x4bcc89[_0x400ee8(0x1b0)](_0x24678d):_0x4bcc89['fail'](_0x24678d);}export async function askConfirm(_0x495701){return onCancel(confirm({'message':_0x495701,'theme':{'prefix':''}}));}export async function askJsUrl(_0x963114){const _0x23b767=a165_0x3b86;while(!![]){const _0x442969=await onCancel(input({'message':_0x23b767(0x1a9),'default':_0x963114,'theme':{'prefix':''}}));if(_0x442969[_0x23b767(0x1c4)]()==='')throw CliErrors[_0x23b767(0x1bc)](_0x23b767(0x1a6));if(!/^https:\/\/.+\.js(\?.*)?$/[_0x23b767(0x1b5)](_0x442969[_0x23b767(0x1c4)]())){console[_0x23b767(0x1b3)](a165_0x43033d[_0x23b767(0x1ab)]('\x20\x20✗\x20JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'));continue;}const _0x23b7a5=startSpinner(_0x23b767(0x1c5));try{const _0x2e03f4=await isUrlReachable(_0x442969[_0x23b767(0x1c4)]());stopSpinner(_0x23b7a5,_0x23b767(0x1ac),_0x2e03f4);if(!_0x2e03f4){console[_0x23b767(0x1b3)](a165_0x43033d['red'](_0x23b767(0x1cb)));continue;}return _0x442969[_0x23b767(0x1c4)]();}catch(_0x1c4ffd){stopSpinner(_0x23b7a5,_0x23b767(0x1c2),![]);throw _0x1c4ffd;}}}export async function askCssUrl(_0x4c616f){const _0x43b261=a165_0x3b86;while(!![]){const _0xa46086=await onCancel(input({'message':_0x43b261(0x1b2),'default':_0x4c616f,'theme':{'prefix':''}}));if(_0xa46086[_0x43b261(0x1c4)]()==='')throw CliErrors[_0x43b261(0x1bc)]('Cancelled.');if(!/^https:\/\/.+\.css(\?.*)?$/[_0x43b261(0x1b5)](_0xa46086[_0x43b261(0x1c4)]())){console['error'](a165_0x43033d[_0x43b261(0x1ab)](_0x43b261(0x1b6)));continue;}const _0x17ced3=startSpinner('\x20\x20Checking\x20CSS\x20URL\x20reachability...');try{const _0x20c31c=await isUrlReachable(_0xa46086[_0x43b261(0x1c4)]());stopSpinner(_0x17ced3,_0x43b261(0x1b4),_0x20c31c);if(!_0x20c31c){console[_0x43b261(0x1b3)](a165_0x43033d[_0x43b261(0x1ab)](_0x43b261(0x1ce)));continue;}return _0xa46086[_0x43b261(0x1c4)]();}catch(_0x574bbf){stopSpinner(_0x17ced3,_0x43b261(0x1be),![]);throw _0x574bbf;}}}export async function selectPages(_0x1f86f2,_0x1c369d){const _0x53ce38=a165_0x3b86,_0x19695f=_0x1f86f2[_0x53ce38(0x1ad)](_0x1f6552=>{const _0x1aacb3=_0x53ce38,_0x7a52db=_0x1c369d[_0x1aacb3(0x1af)](_0x1f6552[_0x1aacb3(0x1cd)]);return{'name':_0x1f6552[_0x1aacb3(0x1c6)]+'\x20\x20'+a165_0x43033d[_0x1aacb3(0x1a8)](_0x1f6552[_0x1aacb3(0x1cd)])+'\x20\x20'+(_0x7a52db?a165_0x43033d[_0x1aacb3(0x1a8)]('[already\x20on\x20platform]'):a165_0x43033d[_0x1aacb3(0x1cc)](_0x1aacb3(0x1cf))),'value':_0x1f6552[_0x1aacb3(0x1cd)],'checked':!_0x7a52db,'disabled':_0x7a52db};});if(_0x19695f['length']===0x0)throw new Error(_0x53ce38(0x1ca));const _0x2b8dfd=await onCancel(checkbox({'message':_0x53ce38(0x1c7),'choices':_0x19695f,'loop':![],'theme':{'prefix':''}}));if(_0x2b8dfd['length']===0x0)throw new Error(_0x53ce38(0x1ba));return _0x1f86f2['filter'](_0x225ac0=>_0x2b8dfd[_0x53ce38(0x1c8)](_0x225ac0[_0x53ce38(0x1cd)]));}export function isInteractive(){const _0x27fd91=a165_0x3b86;return process[_0x27fd91(0x1b8)][_0x27fd91(0x1bb)]===!![];}function a165_0x3b86(_0x442cde,_0x23f2d7){_0x442cde=_0x442cde-0x1a3;const _0x15a0f2=a165_0x15a0();let _0x3b86c2=_0x15a0f2[_0x442cde];return _0x3b86c2;}export function requireInteractive(){if(!isInteractive())throw new Error('This\x20command\x20requires\x20an\x20interactive\x20terminal.\x20'+'Use\x20--yes\x20to\x20run\x20in\x20non-interactive\x20mode,\x20or\x20pipe\x20data\x20via\x20--params.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a166_0x2116ab=a166_0x3c57;(function(_0x54e9d5,_0x47b6f1){const _0x1a45f6=a166_0x3c57,_0x429cba=_0x54e9d5();while(!![]){try{const _0x4c0be6=parseInt(_0x1a45f6(0x84))/0x1+-parseInt(_0x1a45f6(0x7c))/0x2*(parseInt(_0x1a45f6(0x85))/0x3)+parseInt(_0x1a45f6(0x83))/0x4+-parseInt(_0x1a45f6(0x7a))/0x5*(-parseInt(_0x1a45f6(0x8b))/0x6)+parseInt(_0x1a45f6(0x82))/0x7+-parseInt(_0x1a45f6(0x7b))/0x8*(parseInt(_0x1a45f6(0x86))/0x9)+-parseInt(_0x1a45f6(0x7f))/0xa;if(_0x4c0be6===_0x47b6f1)break;else _0x429cba['push'](_0x429cba['shift']());}catch(_0xc42224){_0x429cba['push'](_0x429cba['shift']());}}}(a166_0x49ae,0x71bf1));import{readdirSync,statSync,readFileSync}from'fs';import{join,relative,resolve,sep}from'path';const pagesDir=resolve(process[a166_0x2116ab(0x81)](),a166_0x2116ab(0x80));export function extractTitleFromComment(_0x5ad90b){const _0x2b6e3c=a166_0x2116ab;try{const _0x485133=readFileSync(_0x5ad90b,'utf-8'),_0x432454=_0x485133[_0x2b6e3c(0x7d)](/^\s*\/\*\*?([\s\S]*?)\*\//);if(_0x432454&&_0x432454[0x1]){const _0x134f2d=_0x432454[0x1],_0x454c41=_0x134f2d[_0x2b6e3c(0x7d)](/^\s*\*?\s*title\s*:\s*(.+)/im);if(_0x454c41&&_0x454c41[0x1])return _0x454c41[0x1][_0x2b6e3c(0x8d)]();}let _0x2e9802=null;const _0x1cce50=_0x485133['match'](/export\s+default\s+([A-Z][a-zA-Z0-9]*)/);_0x1cce50&&_0x1cce50[0x1]&&(_0x2e9802=_0x1cce50[0x1]);if(!_0x2e9802){const _0x5b4b7c=_0x485133['match'](/export\s+default\s+function\s+([A-Z][a-zA-Z0-9]*)/);_0x5b4b7c&&_0x5b4b7c[0x1]&&(_0x2e9802=_0x5b4b7c[0x1]);}if(_0x2e9802){const _0x16f1b6=new RegExp('\x5cb'+_0x2e9802+'\x5c.displayName\x5cs*=\x5cs*[\x22\x27]([^\x22\x27]+)[\x22\x27]'),_0x3d9aa6=_0x485133[_0x2b6e3c(0x7d)](_0x16f1b6);if(_0x3d9aa6&&_0x3d9aa6[0x1])return _0x3d9aa6[0x1];return _0x2e9802;}return null;}catch(_0x4fa4b4){return null;}}function a166_0x49ae(){const _0x18c4e7=['.tsx','774006INipMV','path','trim','split','replaceAll','replace','join','25ePnPmO','6375368uZzCoI','118rzVkmM','match','isDirectory','1209010mLORXf','src/pages','cwd','3002881XgAJJw','643512MeUYKz','576198ZNLAir','21729WaxGPw','9HAAHvs','slice','filter','forEach'];a166_0x49ae=function(){return _0x18c4e7;};return a166_0x49ae();}function a166_0x3c57(_0x1635ee,_0x4e5696){_0x1635ee=_0x1635ee-0x79;const _0x49ae12=a166_0x49ae();let _0x3c5776=_0x49ae12[_0x1635ee];return _0x3c5776;}export function getLocalPages(_0x3336f0=pagesDir,_0x54eca7=pagesDir){const _0x32539c=a166_0x2116ab;let _0x4388a5=[];const _0x49e47b=readdirSync(_0x3336f0);return _0x49e47b[_0x32539c(0x89)](_0xc4656b=>{const _0x3956d4=_0x32539c,_0x351262=join(_0x3336f0,_0xc4656b),_0x1d052b=statSync(_0x351262);if(_0x1d052b&&_0x1d052b[_0x3956d4(0x7e)]())_0x4388a5=_0x4388a5['concat'](getLocalPages(_0x351262,_0x54eca7));else{if(_0xc4656b['endsWith'](_0x3956d4(0x8a))){let _0x1251e5=relative(_0x54eca7,_0x351262);_0x1251e5['endsWith']('index.tsx')?_0x1251e5=_0x1251e5[_0x3956d4(0x90)](/index\.tsx$/,''):_0x1251e5=_0x1251e5[_0x3956d4(0x90)](/\.tsx$/,'');_0x1251e5['endsWith'](sep)&&(_0x1251e5=_0x1251e5[_0x3956d4(0x87)](0x0,-0x1));const _0x46ef9a=_0x1251e5[_0x3956d4(0x8e)](sep)[_0x3956d4(0x79)]('/'),_0x208eba=extractTitleFromComment(_0x351262),_0x3f8aa8=_0x208eba||_0x46ef9a;_0x4388a5['push']({'path':_0x46ef9a[_0x3956d4(0x8f)]('$',':'),'label':_0x3f8aa8});}}}),_0x4388a5[_0x32539c(0x88)](_0x5cb3fc=>_0x5cb3fc[_0x32539c(0x8c)]!=='');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1307af,_0x2fbb03){const _0x87e44c=a167_0x5425,_0x238883=_0x1307af();while(!![]){try{const _0x33d0bc=parseInt(_0x87e44c(0x174))/0x1+parseInt(_0x87e44c(0x172))/0x2*(parseInt(_0x87e44c(0x17c))/0x3)+-parseInt(_0x87e44c(0x16e))/0x4*(-parseInt(_0x87e44c(0x16c))/0x5)+parseInt(_0x87e44c(0x171))/0x6+-parseInt(_0x87e44c(0x17a))/0x7*(parseInt(_0x87e44c(0x175))/0x8)+-parseInt(_0x87e44c(0x16f))/0x9+parseInt(_0x87e44c(0x17d))/0xa*(-parseInt(_0x87e44c(0x16b))/0xb);if(_0x33d0bc===_0x2fbb03)break;else _0x238883['push'](_0x238883['shift']());}catch(_0xa2addf){_0x238883['push'](_0x238883['shift']());}}}(a167_0x50ee,0xdc178));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';function a167_0x5425(_0x545fd3,_0x2af388){_0x545fd3=_0x545fd3-0x16a;const _0x50ee71=a167_0x50ee();let _0x54259e=_0x50ee71[_0x545fd3];return _0x54259e;}export function validateJsUrl(_0x1a7c7d){const _0x520022=a167_0x5425,_0x95ded3=[];return!isValidJsHttpsUrl(_0x1a7c7d)&&_0x95ded3[_0x520022(0x176)](_0x520022(0x179)),{'ok':_0x95ded3[_0x520022(0x16a)]===0x0,'errors':_0x95ded3};}export function validateCssUrl(_0x5200b8){const _0x3204ca=a167_0x5425,_0x42f983=[];return!isValidCssHttpsUrl(_0x5200b8)&&_0x42f983[_0x3204ca(0x176)](_0x3204ca(0x170)),{'ok':_0x42f983[_0x3204ca(0x16a)]===0x0,'errors':_0x42f983};}export async function validateJsUrlReachable(_0x977e39){const _0x5343b4=a167_0x5425,_0x11149a=validateJsUrl(_0x977e39);if(!_0x11149a['ok'])return _0x11149a;const _0x12121b=await isUrlReachable(_0x977e39);if(!_0x12121b)_0x11149a[_0x5343b4(0x17b)]['push']('JS\x20URL\x20is\x20unreachable');return{'ok':_0x11149a[_0x5343b4(0x17b)][_0x5343b4(0x16a)]===0x0,'errors':_0x11149a[_0x5343b4(0x17b)]};}export async function validateCssUrlReachable(_0x664b90){const _0x50bbf3=a167_0x5425,_0x670beb=validateCssUrl(_0x664b90);if(!_0x670beb['ok'])return _0x670beb;const _0x3abddb=await isUrlReachable(_0x664b90);if(!_0x3abddb)_0x670beb[_0x50bbf3(0x17b)]['push']('CSS\x20URL\x20is\x20unreachable');return{'ok':_0x670beb[_0x50bbf3(0x17b)][_0x50bbf3(0x16a)]===0x0,'errors':_0x670beb[_0x50bbf3(0x17b)]};}export function buildCompareRows(_0x2d1109,_0x327cd2){const _0x282a5e=a167_0x5425;return _0x2d1109[_0x282a5e(0x177)](_0x63a1d0=>({'label':_0x63a1d0[_0x282a5e(0x16d)],'path':_0x63a1d0['path'],'local':!![],'online':_0x327cd2[_0x282a5e(0x178)](_0x63a1d0[_0x282a5e(0x173)])}));}export async function doCreateMenus(_0x582703,_0x5cca98,_0x275028,_0x18a5d8){const _0xe8845a=a167_0x5425,_0x738bba=await createMenus(_0x582703,_0x5cca98,_0x275028,_0x18a5d8);return{'created':_0x738bba[_0xe8845a(0x16a)],'failed':0x0,'labels':_0x275028[_0xe8845a(0x177)](_0x3c1008=>_0x3c1008[_0xe8845a(0x16d)]),'menus':_0x738bba};}export function filterMenusWithResources(_0x5d1594){const _0x1aa1ad=a167_0x5425;return _0x5d1594['filter'](_0x2c5105=>_0x2c5105['resources'][_0x1aa1ad(0x16a)]>0x0);}export async function fetchMenuData(_0x1c6412,_0x1b8f60){const _0x18ac82=a167_0x5425,_0x2220c3=getLocalPages(),_0x5cbe0c=await getOnlineMenuList(_0x1c6412,_0x1b8f60),_0x50d2e7=new Set(_0x5cbe0c[_0x18ac82(0x177)](_0x3bdc18=>_0x3bdc18[_0x18ac82(0x173)]));return{'localPages':_0x2220c3,'onlineMenuList':_0x5cbe0c,'onlinePaths':_0x50d2e7};}function a167_0x50ee(){const _0x36286d=['path','764237ZzrKdG','4072kPbYQe','push','map','has','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','17311qAWLHI','errors','3273273cvzpDL','10OMawLW','length','19851403ZDRgbO','85qPbpYb','label','386752FNoPzv','7793082mdqUkd','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','7990800hFdGCb','2LIxJjb'];a167_0x50ee=function(){return _0x36286d;};return a167_0x50ee();}export async function fetchOnlineMenuList(_0x59580e,_0x459627){return getOnlineMenuList(_0x59580e,_0x459627);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a168_0x1c7c7b=a168_0x5396;(function(_0x19c2d6,_0x4c4b45){const _0x3b8e2b=a168_0x5396,_0x5922aa=_0x19c2d6();while(!![]){try{const _0xb74662=-parseInt(_0x3b8e2b(0x1d4))/0x1*(parseInt(_0x3b8e2b(0x1a5))/0x2)+-parseInt(_0x3b8e2b(0x1b4))/0x3*(-parseInt(_0x3b8e2b(0x1b5))/0x4)+-parseInt(_0x3b8e2b(0x1cd))/0x5*(parseInt(_0x3b8e2b(0x1cb))/0x6)+parseInt(_0x3b8e2b(0x201))/0x7*(-parseInt(_0x3b8e2b(0x1ac))/0x8)+parseInt(_0x3b8e2b(0x197))/0x9+parseInt(_0x3b8e2b(0x1ee))/0xa+parseInt(_0x3b8e2b(0x1e6))/0xb*(-parseInt(_0x3b8e2b(0x1c1))/0xc);if(_0xb74662===_0x4c4b45)break;else _0x5922aa['push'](_0x5922aa['shift']());}catch(_0x3839ad){_0x5922aa['push'](_0x5922aa['shift']());}}}(a168_0x2b6b,0x737ce));import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a168_0x1c7c7b(0x1f5),'required':!![],'description':'Exact\x20online\x20menu\x20id'};export const MENU_SORT_FLAG={'name':a168_0x1c7c7b(0x1ba),'type':'number','description':'Sibling\x20sort\x20value\x20(non-negative\x20integer)'};export const MENU_PARENT_ID_FLAG={'name':a168_0x1c7c7b(0x19e),'type':a168_0x1c7c7b(0x1ad),'description':a168_0x1c7c7b(0x1c6)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a168_0x1c7c7b(0x1a0),'type':a168_0x1c7c7b(0x1ad),'description':'Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level'};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a168_0x1c7c7b(0x1aa),'type':a168_0x1c7c7b(0x1ad),'description':a168_0x1c7c7b(0x19d)},{'name':'expected-children-count','type':a168_0x1c7c7b(0x1f5),'description':a168_0x1c7c7b(0x1e7)}];export function validateExactId(_0x2dd3a9){const _0x44ddca=a168_0x1c7c7b,_0x5634a4=_0x2dd3a9[_0x44ddca(0x1a8)]('id');if(!Number[_0x44ddca(0x1dd)](_0x5634a4)||_0x5634a4<=0x0)throw CliErrors['validation'](_0x44ddca(0x1d1));return _0x5634a4;}export function validateSort(_0x26f0f9,_0x34af16='sort'){const _0x38d579=a168_0x1c7c7b;if(!hasFlag(_0x26f0f9,_0x34af16))return undefined;const _0x4f015d=_0x26f0f9[_0x38d579(0x1a8)](_0x34af16);if(!Number[_0x38d579(0x1dd)](_0x4f015d)||_0x4f015d<0x0||_0x4f015d>MAX_MENU_SORT)throw menuError(_0x38d579(0x202),'--'+_0x34af16+_0x38d579(0x1d2)+MAX_MENU_SORT+'.',_0x38d579(0x1d8));return _0x4f015d;}export function nextSiblingSort(_0x401049,_0x7630a5,_0x31f2df){const _0x4e2a96=a168_0x1c7c7b,_0x51029b=getChildren(_0x401049,_0x7630a5)[_0x4e2a96(0x1b3)](_0x21c405=>_0x21c405['sort'])[_0x4e2a96(0x19f)](_0x26147d=>typeof _0x26147d==='number');if(_0x51029b[_0x4e2a96(0x1b1)]===0x0)return 0x0;const _0x3fac43=Math[_0x4e2a96(0x1c8)](..._0x51029b);if(_0x3fac43>=MAX_MENU_SORT)throw menuError(_0x4e2a96(0x1c3),'Cannot\x20append\x20a\x20'+_0x31f2df+_0x4e2a96(0x1fa)+_0x3fac43+'.',_0x4e2a96(0x1c0)+MAX_MENU_SORT+_0x4e2a96(0x1f4));return _0x3fac43+0x1;}export function requireExplicitYes(_0x3d90e2){const _0x2820bb=a168_0x1c7c7b;if(_0x3d90e2[_0x2820bb(0x1b9)]('dry-run'))return;if(!_0x3d90e2[_0x2820bb(0x1b9)](_0x2820bb(0x1a6)))throw menuError(_0x2820bb(0x194),'This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.',_0x2820bb(0x1ae));}export async function fetchMutationSnapshot(_0x452d64,_0x3a3e27,_0x34cd46){const _0x5345b8=a168_0x1c7c7b;try{return await fetchMenuSnapshot(_0x452d64[_0x5345b8(0x1f1)],_0x452d64[_0x5345b8(0x1c2)]);}catch(_0x5ab933){throw mapMenuApiError(_0x5ab933,_0x5345b8(0x199)+_0x3a3e27,_0x34cd46);}}export async function recheckMutationSnapshot(_0x20c835,_0x270a26,_0x12917a,_0x41acd9){const _0x395d54=a168_0x1c7c7b;let _0x1b4bb1;try{_0x1b4bb1=await fetchMenuSnapshot(_0x20c835[_0x395d54(0x1f1)],_0x20c835[_0x395d54(0x1c2)]);}catch(_0x801684){const _0x1a28d8=mapMenuApiError(_0x801684,'recheck\x20online\x20menu\x20facts\x20before\x20'+_0x12917a,_0x41acd9);throw menuFailure(_0x1a28d8,_0x270a26,{'stage':_0x395d54(0x196),'failed':_0x41acd9==null?{}:{'id':_0x41acd9}});}if(_0x1b4bb1[_0x395d54(0x1cf)]!==_0x270a26[_0x395d54(0x1e1)]){const _0x50c37f=menuError(_0x395d54(0x1dc),_0x395d54(0x200)+_0x12917a+_0x395d54(0x1de),_0x395d54(0x1e5));throw menuFailure(_0x50c37f,_0x270a26,{'stage':_0x395d54(0x196),'failed':{..._0x41acd9==null?{}:{'id':_0x41acd9},'expectedSnapshotHash':_0x270a26['snapshotHash'],'currentSnapshotHash':_0x1b4bb1[_0x395d54(0x1cf)]}});}return _0x1b4bb1;}export function parseParentId(_0x44867d,_0x4a70c5,_0x3c9a14={}){const _0x591059=a168_0x1c7c7b;if(!hasFlag(_0x44867d,_0x4a70c5)){if(_0x3c9a14[_0x591059(0x19a)])throw CliErrors[_0x591059(0x195)](_0x4a70c5);return undefined;}const _0xfe185b=_0x44867d[_0x591059(0x1ef)](_0x4a70c5)[_0x591059(0x1bb)]();if(_0xfe185b[_0x591059(0x1be)]()==='root')return null;if(!/^\d+$/['test'](_0xfe185b))throw CliErrors[_0x591059(0x1ec)]('--'+_0x4a70c5+_0x591059(0x1fc));const _0x2b9ce0=Number(_0xfe185b);if(!Number[_0x591059(0x1dd)](_0x2b9ce0)||_0x2b9ce0<=0x0)throw CliErrors[_0x591059(0x1ec)]('--'+_0x4a70c5+'\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.');return _0x2b9ce0;}export function requireMenu(_0x12c4e2,_0x351736){const _0x8c6df=a168_0x1c7c7b,_0x30e348=_0x12c4e2[_0x8c6df(0x1c5)]['get'](_0x351736);if(!_0x30e348)throw menuError(_0x8c6df(0x1e4),'Online\x20menu\x20not\x20found:\x20'+_0x351736,'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.');return _0x30e348;}export function requireFolder(_0x15d3f6,_0x1e80d5){const _0x280e39=a168_0x1c7c7b,_0x5721e9=requireMenu(_0x15d3f6,_0x1e80d5);if(_0x5721e9[_0x280e39(0x1bf)]!=='folder')throw menuError(_0x280e39(0x1eb),'Menu\x20'+_0x1e80d5+_0x280e39(0x198)+(_0x5721e9[_0x280e39(0x1bf)]||_0x280e39(0x1b8))+_0x280e39(0x1d9),_0x280e39(0x1cc));return _0x5721e9;}export function assertExpectedState(_0x129695,_0x3a596c){const _0x11f41a=a168_0x1c7c7b;if(hasFlag(_0x129695,_0x11f41a(0x1a0))){const _0x50d2f4=parseParentId(_0x129695,_0x11f41a(0x1a0),{'required':!![]});if(_0x3a596c[_0x11f41a(0x1df)]!==_0x50d2f4)throw stateDrift(_0x11f41a(0x1c9)+_0x3a596c['id']+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0x50d2f4)+_0x11f41a(0x1f7)+formatParent(_0x3a596c['parentId'])+'.');}if(hasFlag(_0x129695,_0x11f41a(0x1aa))){const _0x2b4c17=_0x129695['str'](_0x11f41a(0x1aa));if(_0x3a596c[_0x11f41a(0x1fb)]!==_0x2b4c17)throw stateDrift(_0x11f41a(0x1c9)+_0x3a596c['id']+_0x11f41a(0x1d7)+JSON[_0x11f41a(0x1fe)](_0x2b4c17)+',\x20current\x20'+JSON['stringify'](_0x3a596c['path'])+'.');}if(hasFlag(_0x129695,_0x11f41a(0x204))){const _0xe018ae=_0x129695[_0x11f41a(0x1a8)]('expected-children-count');if(!Number['isSafeInteger'](_0xe018ae)||_0xe018ae<0x0)throw CliErrors['validation'](_0x11f41a(0x203));if(_0x3a596c[_0x11f41a(0x1a3)]!==_0xe018ae)throw stateDrift(_0x11f41a(0x1c9)+_0x3a596c['id']+_0x11f41a(0x1af)+_0xe018ae+',\x20current\x20'+_0x3a596c[_0x11f41a(0x1a3)]+'.');}}export function assertVerified(_0x434aea,_0x4e4a7e,_0x181fc9=a168_0x1c7c7b(0x1f2)){if(!_0x434aea)throw menuError('menu_verification_failed',_0x4e4a7e,_0x181fc9);}export function mutationResult(_0x3719f0){const _0x2a96ae=a168_0x1c7c7b;return{'operation':_0x3719f0[_0x2a96ae(0x1ff)],'selector':_0x3719f0[_0x2a96ae(0x1d0)],'before':_0x3719f0[_0x2a96ae(0x1ed)],'after':_0x3719f0[_0x2a96ae(0x1f3)],'dryRun':_0x3719f0[_0x2a96ae(0x1fd)],'backend':_0x3719f0[_0x2a96ae(0x1b0)],..._0x3719f0[_0x2a96ae(0x1f6)]?{'plannedActions':_0x3719f0[_0x2a96ae(0x1f6)]}:{},..._0x3719f0[_0x2a96ae(0x1bc)]?{'targets':_0x3719f0[_0x2a96ae(0x1bc)]}:{},..._0x3719f0[_0x2a96ae(0x1d6)]?{'deleteOrder':_0x3719f0['deleteOrder']}:{},'snapshotHash':_0x3719f0['snapshotHash'],..._0x3719f0[_0x2a96ae(0x1c7)]?{'cascade':_0x3719f0[_0x2a96ae(0x1c7)]}:{},..._0x3719f0[_0x2a96ae(0x1e0)]?{'planFile':_0x3719f0['planFile']}:{},'succeeded':_0x3719f0[_0x2a96ae(0x1f9)]??[],'failed':_0x3719f0[_0x2a96ae(0x1e8)]??[],'warnings':_0x3719f0[_0x2a96ae(0x1ca)]??[],'verification':_0x3719f0[_0x2a96ae(0x1a7)],'error':_0x3719f0['error']};}function a168_0x5396(_0x5807cd,_0x200192){_0x5807cd=_0x5807cd-0x194;const _0x2b6b8d=a168_0x2b6b();let _0x53969a=_0x2b6b8d[_0x5807cd];return _0x53969a;}export function menuDryRunResult(_0x505f22,_0x385636){return{..._0x505f22,..._0x385636};}export function menuFailure(_0x10920a,_0x44885c,_0x398822){const _0x2f0773=a168_0x1c7c7b,_0x5f809c=mutationResult({..._0x44885c,'after':_0x398822['after']===undefined?_0x44885c[_0x2f0773(0x1f3)]:_0x398822[_0x2f0773(0x1f3)],'backend':_0x398822[_0x2f0773(0x1b0)]??_0x44885c[_0x2f0773(0x1b0)],'dryRun':![],'succeeded':_0x398822['succeeded']??[],'failed':_0x398822[_0x2f0773(0x19b)]??[{..._0x398822[_0x2f0773(0x1e8)]??{},'stage':_0x398822[_0x2f0773(0x1b2)],'code':_0x10920a['code'],'message':_0x10920a[_0x2f0773(0x1d5)]}],'warnings':[..._0x44885c[_0x2f0773(0x1ca)],..._0x398822['warnings']??[]],'verification':_0x398822[_0x2f0773(0x1a7)],'error':{'code':_0x10920a[_0x2f0773(0x1e3)],'message':_0x10920a[_0x2f0773(0x1d5)],..._0x10920a[_0x2f0773(0x1c4)]?{'hint':_0x10920a[_0x2f0773(0x1c4)]}:{}}});return Object[_0x2f0773(0x1f0)](_0x10920a,'data',{'value':_0x5f809c,'enumerable':!![],'configurable':!![]}),_0x10920a;}function a168_0x2b6b(){const _0x3713de=['unknown','bool','sort','trim','targets','menu_mutation_failed','toLowerCase','type','Reorder\x20sibling\x20menus\x20below\x20','408312lWkrxw','cookie','menu_sort_overflow','hint','byId','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','cascade','max','Menu\x20','warnings','2743854iyCzOH','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','5yzreyO','\x20menu\x20','hash','selector','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.','4zqlBTi','message','deleteOrder','\x20path\x20changed:\x20expected\x20','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','\x22,\x20not\x20folder.','menu_permission_denied','call','menu_state_drift','isSafeInteger',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','parentId','planFile','snapshotHash','Permission\x20denied\x20while\x20attempting\x20to\x20','code','menu_not_found','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','55PSmKMZ','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','failed','test','api_error','menu_parent_not_folder','validation','before','6021480LvrAAK','str','defineProperty','appCode','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','after',',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.','number','plannedActions',',\x20current\x20','Failed\x20to\x20','succeeded','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','path','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','dryRun','stringify','operation','Online\x20menu\x20state\x20changed\x20before\x20','2212672WtjjaQ','menu_sort_invalid','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','expected-children-count','menu_confirmation_required','flagMissing','pre-write-recheck','3318381rdGAZN','\x20is\x20type\x20\x22','read\x20online\x20menu\x20facts\x20before\x20','required','failedRecords','root','Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches','parent-id','filter','expect-parent-id','menu_verification_failed','hasOwnProperty','childrenCount','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','248278KUeVlJ','yes','verification','num','rawFlags','expect-path','prototype','8NCOHJY','string','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','\x20child\x20count\x20changed:\x20expected\x20','backend','length','stage','map','96tGwTah','117784LjjVmQ','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.'];a168_0x2b6b=function(){return _0x3713de;};return a168_0x2b6b();}export function asVerificationError(_0x326775,_0x2bef1){const _0x2559a7=a168_0x1c7c7b;if(_0x326775 instanceof CliError&&_0x326775['code']===_0x2559a7(0x1a1))return _0x326775;const _0x2b97b3=_0x326775 instanceof Error?_0x326775[_0x2559a7(0x1d5)]:String(_0x326775);return menuError(_0x2559a7(0x1a1),''+_0x2bef1+(_0x2b97b3?':\x20'+_0x2b97b3:''),_0x2559a7(0x1d3));}export function describeMenuErrorCause(_0x343e9c,_0x3d9e87,_0x197a6c){const _0x2f264c=a168_0x1c7c7b,_0x1bcee5=mapMenuApiError(_0x343e9c,_0x3d9e87,_0x197a6c);return{'causeCode':_0x1bcee5[_0x2f264c(0x1e3)],'causeMessage':_0x1bcee5[_0x2f264c(0x1d5)]};}export function hasFlag(_0x3a55f6,_0x331060){const _0x16762b=a168_0x1c7c7b;return Object[_0x16762b(0x1ab)][_0x16762b(0x1a2)][_0x16762b(0x1db)](_0x3a55f6[_0x16762b(0x1a9)],_0x331060)&&_0x3a55f6[_0x16762b(0x1a9)][_0x331060]!==undefined;}export function toApiParentId(_0x5b4c14){return _0x5b4c14??0x0;}export function formatParent(_0x2ef509){const _0x4e9a94=a168_0x1c7c7b;return _0x2ef509==null?_0x4e9a94(0x19c):String(_0x2ef509);}export function menuError(_0x3b179b,_0x49130d,_0x4c2e07){return new CliError(_0x3b179b,0x1,_0x49130d,_0x4c2e07);}export function mapMenuApiError(_0x3a7366,_0x1231f3,_0x1a6146){const _0x599169=a168_0x1c7c7b;if(_0x3a7366 instanceof CliError&&_0x3a7366[_0x599169(0x1e3)]!=='api_error')return _0x3a7366;const _0x3c5c3b=_0x3a7366 instanceof Error?_0x3a7366[_0x599169(0x1d5)]:String(_0x3a7366);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x599169(0x1e9)](_0x3c5c3b))return menuError(_0x599169(0x1da),_0x599169(0x1e2)+_0x1231f3+(_0x1a6146?_0x599169(0x1ce)+_0x1a6146:'')+'.',_0x599169(0x1b6));return menuError(_0x599169(0x1bd),_0x599169(0x1f8)+_0x1231f3+(_0x1a6146?'\x20menu\x20'+_0x1a6146:'')+':\x20'+_0x3c5c3b,_0x599169(0x1a4));}export function isMenuResponseLoss(_0x60e403){const _0x265d17=a168_0x1c7c7b,_0x1ea47b=_0x60e403 instanceof Error?_0x60e403[_0x265d17(0x1d5)]:String(_0x60e403);if(_0x60e403 instanceof CliError)return _0x60e403[_0x265d17(0x1e3)]===_0x265d17(0x1ea)&&/^Request (?:failed|timeout):/i[_0x265d17(0x1e9)](_0x1ea47b);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x265d17(0x1e9)](_0x1ea47b);}function stateDrift(_0x5b72b7){const _0x1758fa=a168_0x1c7c7b;return menuError(_0x1758fa(0x1dc),_0x5b72b7,_0x1758fa(0x1b7));}
|
|
1
|
+
const a168_0x1db2f7=a168_0x2bd3;function a168_0x2bd3(_0x19f25a,_0x1bb6de){_0x19f25a=_0x19f25a-0x10b;const _0xbe0c13=a168_0xbe0c();let _0x2bd3cc=_0xbe0c13[_0x19f25a];return _0x2bd3cc;}(function(_0x308f16,_0x10aab2){const _0x215bba=a168_0x2bd3,_0x24052e=_0x308f16();while(!![]){try{const _0x3af224=parseInt(_0x215bba(0x12f))/0x1*(-parseInt(_0x215bba(0x116))/0x2)+-parseInt(_0x215bba(0x16d))/0x3*(-parseInt(_0x215bba(0x146))/0x4)+-parseInt(_0x215bba(0x12c))/0x5*(-parseInt(_0x215bba(0x12b))/0x6)+-parseInt(_0x215bba(0x164))/0x7*(parseInt(_0x215bba(0x15c))/0x8)+-parseInt(_0x215bba(0x13a))/0x9*(parseInt(_0x215bba(0x132))/0xa)+parseInt(_0x215bba(0x11c))/0xb*(-parseInt(_0x215bba(0x112))/0xc)+parseInt(_0x215bba(0x16c))/0xd*(parseInt(_0x215bba(0x149))/0xe);if(_0x3af224===_0x10aab2)break;else _0x24052e['push'](_0x24052e['shift']());}catch(_0x47a9c6){_0x24052e['push'](_0x24052e['shift']());}}}(a168_0xbe0c,0x9aa49));import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';function a168_0xbe0c(){const _0x372ebd=['277936lMPOpC','Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches','\x20parent\x20changed:\x20expected\x20','error','menu_permission_denied','hint','backend','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','84eNZMkc','string','number','length','failed','stringify','byId','required','29439878OMXbBw','546DgwivS','Permission\x20denied\x20while\x20attempting\x20to\x20','message','\x20menu\x20','defineProperty','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','data','cookie','Online\x20menu\x20not\x20found:\x20','bool','menu_not_found','flagMissing','hash','cascade','warnings','3282828cxllvD','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','max','snapshotHash','1143148furXzf','test','selector','dryRun','sort','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','44POGpwW','unknown','type','Menu\x20','root','api_error','dry-run',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','\x20child\x20count\x20changed:\x20expected\x20','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','expect-path','menu_sort_invalid','deleteOrder','hasOwnProperty','call','17502eRJltE','830WFBCNK','filter',',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.','1SURdvu','str','Cannot\x20append\x20a\x20','1791670PRKPve','Sibling\x20sort\x20value\x20(non-negative\x20integer)','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.','planFile','after','num','code','9EWScPN','\x20path\x20changed:\x20expected\x20','menu_state_drift','read\x20online\x20menu\x20facts\x20before\x20','folder','appCode','expect-parent-id','Exact\x20online\x20menu\x20id','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','targets','validation','toLowerCase','3220PGIlmN','map','succeeded','14IwgJnW','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','path','verification','plannedActions','parent-id','menu_parent_not_folder','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','trim','rawFlags','parentId','isSafeInteger','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','menu_verification_failed','expected-children-count','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','pre-write-recheck',',\x20current\x20'];a168_0xbe0c=function(){return _0x372ebd;};return a168_0xbe0c();}export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a168_0x1db2f7(0x166),'required':!![],'description':a168_0x1db2f7(0x141)};export const MENU_SORT_FLAG={'name':a168_0x1db2f7(0x11a),'type':a168_0x1db2f7(0x166),'description':a168_0x1db2f7(0x133)};export const MENU_PARENT_ID_FLAG={'name':a168_0x1db2f7(0x14e),'type':a168_0x1db2f7(0x165),'description':a168_0x1db2f7(0x155)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a168_0x1db2f7(0x140),'type':a168_0x1db2f7(0x165),'description':'Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level'};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a168_0x1db2f7(0x126),'type':'string','description':a168_0x1db2f7(0x15d)},{'name':a168_0x1db2f7(0x157),'type':a168_0x1db2f7(0x166),'description':a168_0x1db2f7(0x159)}];export function validateExactId(_0x46c67c){const _0x2171f5=a168_0x1db2f7,_0x11ddf1=_0x46c67c[_0x2171f5(0x138)]('id');if(!Number[_0x2171f5(0x154)](_0x11ddf1)||_0x11ddf1<=0x0)throw CliErrors[_0x2171f5(0x144)](_0x2171f5(0x158));return _0x11ddf1;}export function validateSort(_0x2b35d9,_0x14330a=a168_0x1db2f7(0x11a)){const _0x1d9d8b=a168_0x1db2f7;if(!hasFlag(_0x2b35d9,_0x14330a))return undefined;const _0x42cd77=_0x2b35d9['num'](_0x14330a);if(!Number['isSafeInteger'](_0x42cd77)||_0x42cd77<0x0||_0x42cd77>MAX_MENU_SORT)throw menuError(_0x1d9d8b(0x127),'--'+_0x14330a+'\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20'+MAX_MENU_SORT+'.',_0x1d9d8b(0x150));return _0x42cd77;}export function nextSiblingSort(_0x24a6ce,_0x165592,_0x417cc1){const _0x53cb58=a168_0x1db2f7,_0x33dcb3=getChildren(_0x24a6ce,_0x165592)[_0x53cb58(0x147)](_0x27f61c=>_0x27f61c[_0x53cb58(0x11a)])[_0x53cb58(0x12d)](_0x17a071=>typeof _0x17a071==='number');if(_0x33dcb3[_0x53cb58(0x167)]===0x0)return 0x0;const _0x4529c2=Math[_0x53cb58(0x114)](..._0x33dcb3);if(_0x4529c2>=MAX_MENU_SORT)throw menuError('menu_sort_overflow',_0x53cb58(0x131)+_0x417cc1+_0x53cb58(0x11b)+_0x4529c2+'.','Reorder\x20sibling\x20menus\x20below\x20'+MAX_MENU_SORT+_0x53cb58(0x12e));return _0x4529c2+0x1;}export function requireExplicitYes(_0xed01da){const _0xbaf051=a168_0x1db2f7;if(_0xed01da[_0xbaf051(0x10c)](_0xbaf051(0x122)))return;if(!_0xed01da['bool']('yes'))throw menuError('menu_confirmation_required',_0xbaf051(0x14a),_0xbaf051(0x172));}export async function fetchMutationSnapshot(_0x15302d,_0x1b21a1,_0x21a5b5){const _0x95fd19=a168_0x1db2f7;try{return await fetchMenuSnapshot(_0x15302d['appCode'],_0x15302d['cookie']);}catch(_0x3e22d1){throw mapMenuApiError(_0x3e22d1,_0x95fd19(0x13d)+_0x1b21a1,_0x21a5b5);}}export async function recheckMutationSnapshot(_0x396e1b,_0x1f58e3,_0x4bc343,_0x4f2d83){const _0x1cc362=a168_0x1db2f7;let _0x5dfb41;try{_0x5dfb41=await fetchMenuSnapshot(_0x396e1b[_0x1cc362(0x13f)],_0x396e1b[_0x1cc362(0x174)]);}catch(_0x285dca){const _0x5bb7d4=mapMenuApiError(_0x285dca,'recheck\x20online\x20menu\x20facts\x20before\x20'+_0x4bc343,_0x4f2d83);throw menuFailure(_0x5bb7d4,_0x1f58e3,{'stage':_0x1cc362(0x15a),'failed':_0x4f2d83==null?{}:{'id':_0x4f2d83}});}if(_0x5dfb41['hash']!==_0x1f58e3[_0x1cc362(0x115)]){const _0x3829e0=menuError(_0x1cc362(0x13c),'Online\x20menu\x20state\x20changed\x20before\x20'+_0x4bc343+_0x1cc362(0x123),_0x1cc362(0x113));throw menuFailure(_0x3829e0,_0x1f58e3,{'stage':_0x1cc362(0x15a),'failed':{..._0x4f2d83==null?{}:{'id':_0x4f2d83},'expectedSnapshotHash':_0x1f58e3[_0x1cc362(0x115)],'currentSnapshotHash':_0x5dfb41[_0x1cc362(0x10f)]}});}return _0x5dfb41;}export function parseParentId(_0x45fba1,_0x559ced,_0x3617d2={}){const _0x5ac2ab=a168_0x1db2f7;if(!hasFlag(_0x45fba1,_0x559ced)){if(_0x3617d2[_0x5ac2ab(0x16b)])throw CliErrors[_0x5ac2ab(0x10e)](_0x559ced);return undefined;}const _0x1374d5=_0x45fba1[_0x5ac2ab(0x130)](_0x559ced)[_0x5ac2ab(0x151)]();if(_0x1374d5[_0x5ac2ab(0x145)]()==='root')return null;if(!/^\d+$/[_0x5ac2ab(0x117)](_0x1374d5))throw CliErrors[_0x5ac2ab(0x144)]('--'+_0x559ced+_0x5ac2ab(0x134));const _0x549168=Number(_0x1374d5);if(!Number['isSafeInteger'](_0x549168)||_0x549168<=0x0)throw CliErrors[_0x5ac2ab(0x144)]('--'+_0x559ced+_0x5ac2ab(0x134));return _0x549168;}export function requireMenu(_0x27b9e3,_0x1650b8){const _0x1b8d70=a168_0x1db2f7,_0x47a6fc=_0x27b9e3[_0x1b8d70(0x16a)]['get'](_0x1650b8);if(!_0x47a6fc)throw menuError(_0x1b8d70(0x10d),_0x1b8d70(0x10b)+_0x1650b8,'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.');return _0x47a6fc;}export function requireFolder(_0xe01ef2,_0x5b1342){const _0x1a0d35=a168_0x1db2f7,_0x56c175=requireMenu(_0xe01ef2,_0x5b1342);if(_0x56c175['type']!==_0x1a0d35(0x13e))throw menuError(_0x1a0d35(0x14f),_0x1a0d35(0x11f)+_0x5b1342+'\x20is\x20type\x20\x22'+(_0x56c175[_0x1a0d35(0x11e)]||_0x1a0d35(0x11d))+'\x22,\x20not\x20folder.','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.');return _0x56c175;}export function assertExpectedState(_0x13572f,_0x4077d7){const _0x54be1b=a168_0x1db2f7;if(hasFlag(_0x13572f,_0x54be1b(0x140))){const _0x22b9b4=parseParentId(_0x13572f,_0x54be1b(0x140),{'required':!![]});if(_0x4077d7[_0x54be1b(0x153)]!==_0x22b9b4)throw stateDrift(_0x54be1b(0x11f)+_0x4077d7['id']+_0x54be1b(0x15e)+formatParent(_0x22b9b4)+_0x54be1b(0x15b)+formatParent(_0x4077d7[_0x54be1b(0x153)])+'.');}if(hasFlag(_0x13572f,_0x54be1b(0x126))){const _0x1ebf31=_0x13572f[_0x54be1b(0x130)](_0x54be1b(0x126));if(_0x4077d7['path']!==_0x1ebf31)throw stateDrift(_0x54be1b(0x11f)+_0x4077d7['id']+_0x54be1b(0x13b)+JSON['stringify'](_0x1ebf31)+_0x54be1b(0x15b)+JSON[_0x54be1b(0x169)](_0x4077d7[_0x54be1b(0x14b)])+'.');}if(hasFlag(_0x13572f,_0x54be1b(0x157))){const _0x39d658=_0x13572f['num']('expected-children-count');if(!Number[_0x54be1b(0x154)](_0x39d658)||_0x39d658<0x0)throw CliErrors[_0x54be1b(0x144)]('--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.');if(_0x4077d7['childrenCount']!==_0x39d658)throw stateDrift(_0x54be1b(0x11f)+_0x4077d7['id']+_0x54be1b(0x124)+_0x39d658+',\x20current\x20'+_0x4077d7['childrenCount']+'.');}}export function assertVerified(_0x214326,_0x3efaac,_0x3cfedc=a168_0x1db2f7(0x163)){const _0x168e67=a168_0x1db2f7;if(!_0x214326)throw menuError(_0x168e67(0x156),_0x3efaac,_0x3cfedc);}export function mutationResult(_0x57f00c){const _0x5f537e=a168_0x1db2f7;return{'operation':_0x57f00c['operation'],'selector':_0x57f00c[_0x5f537e(0x118)],'before':_0x57f00c['before'],'after':_0x57f00c[_0x5f537e(0x137)],'dryRun':_0x57f00c[_0x5f537e(0x119)],'backend':_0x57f00c[_0x5f537e(0x162)],..._0x57f00c[_0x5f537e(0x14d)]?{'plannedActions':_0x57f00c[_0x5f537e(0x14d)]}:{},..._0x57f00c[_0x5f537e(0x143)]?{'targets':_0x57f00c[_0x5f537e(0x143)]}:{},..._0x57f00c[_0x5f537e(0x128)]?{'deleteOrder':_0x57f00c[_0x5f537e(0x128)]}:{},'snapshotHash':_0x57f00c['snapshotHash'],..._0x57f00c[_0x5f537e(0x110)]?{'cascade':_0x57f00c[_0x5f537e(0x110)]}:{},..._0x57f00c[_0x5f537e(0x136)]?{'planFile':_0x57f00c[_0x5f537e(0x136)]}:{},'succeeded':_0x57f00c[_0x5f537e(0x148)]??[],'failed':_0x57f00c[_0x5f537e(0x168)]??[],'warnings':_0x57f00c[_0x5f537e(0x111)]??[],'verification':_0x57f00c[_0x5f537e(0x14c)],'error':_0x57f00c[_0x5f537e(0x15f)]};}export function menuDryRunResult(_0x4b6107,_0x3bb9a9){return{..._0x4b6107,..._0x3bb9a9};}export function menuFailure(_0x1cb584,_0x46a976,_0x81e01c){const _0x2c2ce3=a168_0x1db2f7,_0x134544=mutationResult({..._0x46a976,'after':_0x81e01c[_0x2c2ce3(0x137)]===undefined?_0x46a976[_0x2c2ce3(0x137)]:_0x81e01c['after'],'backend':_0x81e01c[_0x2c2ce3(0x162)]??_0x46a976[_0x2c2ce3(0x162)],'dryRun':![],'succeeded':_0x81e01c[_0x2c2ce3(0x148)]??[],'failed':_0x81e01c['failedRecords']??[{..._0x81e01c[_0x2c2ce3(0x168)]??{},'stage':_0x81e01c['stage'],'code':_0x1cb584[_0x2c2ce3(0x139)],'message':_0x1cb584[_0x2c2ce3(0x16f)]}],'warnings':[..._0x46a976[_0x2c2ce3(0x111)],..._0x81e01c['warnings']??[]],'verification':_0x81e01c[_0x2c2ce3(0x14c)],'error':{'code':_0x1cb584[_0x2c2ce3(0x139)],'message':_0x1cb584[_0x2c2ce3(0x16f)],..._0x1cb584[_0x2c2ce3(0x161)]?{'hint':_0x1cb584['hint']}:{}}});return Object[_0x2c2ce3(0x171)](_0x1cb584,_0x2c2ce3(0x173),{'value':_0x134544,'enumerable':!![],'configurable':!![]}),_0x1cb584;}export function asVerificationError(_0x20e80,_0x54db5b){const _0x248dd2=a168_0x1db2f7;if(_0x20e80 instanceof CliError&&_0x20e80['code']===_0x248dd2(0x156))return _0x20e80;const _0x301d0a=_0x20e80 instanceof Error?_0x20e80[_0x248dd2(0x16f)]:String(_0x20e80);return menuError(_0x248dd2(0x156),''+_0x54db5b+(_0x301d0a?':\x20'+_0x301d0a:''),_0x248dd2(0x135));}export function describeMenuErrorCause(_0x98e12,_0x4d8cfe,_0x19d4b8){const _0x214cb9=a168_0x1db2f7,_0x349466=mapMenuApiError(_0x98e12,_0x4d8cfe,_0x19d4b8);return{'causeCode':_0x349466[_0x214cb9(0x139)],'causeMessage':_0x349466['message']};}export function hasFlag(_0x41c8db,_0x4c0ba6){const _0x5f7821=a168_0x1db2f7;return Object['prototype'][_0x5f7821(0x129)][_0x5f7821(0x12a)](_0x41c8db['rawFlags'],_0x4c0ba6)&&_0x41c8db[_0x5f7821(0x152)][_0x4c0ba6]!==undefined;}export function toApiParentId(_0xea63a6){return _0xea63a6??0x0;}export function formatParent(_0x6a4dff){const _0x184bef=a168_0x1db2f7;return _0x6a4dff==null?_0x184bef(0x120):String(_0x6a4dff);}export function menuError(_0x9d7709,_0x264975,_0x12ec64){return new CliError(_0x9d7709,0x1,_0x264975,_0x12ec64);}export function mapMenuApiError(_0x24cc57,_0x271c9a,_0x215295){const _0x22d2a1=a168_0x1db2f7;if(_0x24cc57 instanceof CliError&&_0x24cc57['code']!==_0x22d2a1(0x121))return _0x24cc57;const _0x170b9e=_0x24cc57 instanceof Error?_0x24cc57[_0x22d2a1(0x16f)]:String(_0x24cc57);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x22d2a1(0x117)](_0x170b9e))return menuError(_0x22d2a1(0x160),_0x22d2a1(0x16e)+_0x271c9a+(_0x215295?_0x22d2a1(0x170)+_0x215295:'')+'.',_0x22d2a1(0x125));return menuError('menu_mutation_failed','Failed\x20to\x20'+_0x271c9a+(_0x215295?'\x20menu\x20'+_0x215295:'')+':\x20'+_0x170b9e,'Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.');}export function isMenuResponseLoss(_0x5e1eec){const _0x39e98b=a168_0x1db2f7,_0x596294=_0x5e1eec instanceof Error?_0x5e1eec['message']:String(_0x5e1eec);if(_0x5e1eec instanceof CliError)return _0x5e1eec[_0x39e98b(0x139)]===_0x39e98b(0x121)&&/^Request (?:failed|timeout):/i[_0x39e98b(0x117)](_0x596294);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x39e98b(0x117)](_0x596294);}function stateDrift(_0x6e9a08){const _0x447de0=a168_0x1db2f7;return menuError(_0x447de0(0x13c),_0x6e9a08,_0x447de0(0x142));}
|