@lovrabet/rabetbase-cli 2.3.16-beta.6 → 2.4.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -10
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.d.ts +2 -0
- package/lib/commands/page/react/create.js +1 -0
- package/lib/commands/page/react/detail.d.ts +2 -0
- package/lib/commands/page/react/detail.js +1 -0
- package/lib/commands/page/react/list.d.ts +2 -0
- package/lib/commands/page/react/list.js +1 -0
- package/lib/commands/page/react/publish.d.ts +2 -0
- package/lib/commands/page/react/publish.js +1 -0
- package/lib/commands/page/react/shared.d.ts +78 -0
- package/lib/commands/page/react/shared.js +1 -0
- package/lib/commands/page/react/syntax.d.ts +18 -0
- package/lib/commands/page/react/syntax.js +1 -0
- package/lib/commands/page/react/template.d.ts +8 -0
- package/lib/commands/page/react/template.js +1 -0
- package/lib/commands/page/react/update.d.ts +2 -0
- package/lib/commands/page/react/update.js +1 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.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/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
- package/lib/commands/user-account/index.d.ts +2 -0
- package/lib/commands/user-account/index.js +1 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +117 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.d.ts +3 -0
- package/lib/postinstall.js +1 -0
- 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.d.ts +37 -0
- package/lib/skills/builtin-skill.js +1 -0
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +4 -2
- 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/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -3
- package/scripts/postinstall.mjs +24 -0
- package/skills/rabetbase/SKILL.md +493 -0
- package/skills/rabetbase/guides/backend-function.md +835 -0
- package/skills/rabetbase/guides/best-practices.md +137 -0
- package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
- package/skills/rabetbase/guides/conflict-detection.md +119 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
- package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
- package/skills/rabetbase/guides/frontend-development.md +179 -0
- package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
- package/skills/rabetbase/guides/page-development-workflow.md +187 -0
- package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
- package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
- package/skills/rabetbase/guides/sql-mybatis.md +126 -0
- package/skills/rabetbase/guides/troubleshooting.md +67 -0
- package/skills/rabetbase/guides/typescript-sdk.md +227 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
- package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
- package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
- package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
- package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
- package/skills/rabetbase/knowledge/react-page/components.md +225 -0
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
- package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
- package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
- package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
- package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
- package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
- package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
- package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
- package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
- package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
- package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
- package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
- package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
- package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
- package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
- package/skills/rabetbase/references/rabetbase-config.md +296 -0
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
- package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
- package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
- package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
- package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
- package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
- package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
- package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
- package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
- package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
- package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
- package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
- package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
- package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
- package/skills/rabetbase/references/rabetbase-file.md +35 -0
- package/skills/rabetbase/references/rabetbase-init.md +70 -0
- package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
- package/skills/rabetbase/references/rabetbase-kb.md +62 -0
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
- package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
- package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
- package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
- package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
- package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
- package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
- package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
- package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
- package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
- package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
- package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
- package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
- package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
- package/skills/rabetbase/references/rabetbase-run.md +53 -0
- package/skills/rabetbase/references/rabetbase-schema.md +22 -0
- package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
- package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
- package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
- package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
- package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
- package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
- package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
- package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
- package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
- package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
- package/skills/rabetbase/references/rabetbase-update.md +56 -0
- package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
- package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
- package/skills/rabetbase.manifest.json +137 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a105_0x364b7b=a105_0x4e05;function a105_0x4e05(_0x35c67e,_0x3dde5a){_0x35c67e=_0x35c67e-0x1a6;const _0x5f04ae=a105_0x5f04();let _0x4e0514=_0x5f04ae[_0x35c67e];return _0x4e0514;}(function(_0x3a3b61,_0x438c1b){const _0x34488e=a105_0x4e05,_0x486a2b=_0x3a3b61();while(!![]){try{const _0x2d1f99=-parseInt(_0x34488e(0x1c3))/0x1*(parseInt(_0x34488e(0x1bc))/0x2)+parseInt(_0x34488e(0x1a9))/0x3+-parseInt(_0x34488e(0x1d0))/0x4+-parseInt(_0x34488e(0x1c7))/0x5*(parseInt(_0x34488e(0x1c8))/0x6)+parseInt(_0x34488e(0x1b6))/0x7+-parseInt(_0x34488e(0x1ac))/0x8+parseInt(_0x34488e(0x1ce))/0x9;if(_0x2d1f99===_0x438c1b)break;else _0x486a2b['push'](_0x486a2b['shift']());}catch(_0x523717){_0x486a2b['push'](_0x486a2b['shift']());}}}(a105_0x5f04,0x4edbd));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a105_0x5f04(){const _0x27b5ef=['replacement','rabetbase\x20kb\x20detail\x20--id\x20','POST','file','string','21486GgBOOZ','high-risk-write','number','\x20--format\x20compress','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','46VmqtFw','kb_title_invalid','beforeRecord','push','3100390wIJcaz','6laRyfT','cookie','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','contentHash','kb_update_outcome_unknown','verified','13722606lLGzXO','company','2199584CoiUuq','appCode','title','expectedVersion','snapshotHash','--file\x20cannot\x20be\x20empty.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_verification_failed','trim','kb_file_required','version','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','484182zGSEKL','before','flag','2400256ezKhug','Nothing\x20to\x20update.','patch','isSafeInteger','New\x20knowledge-base\x20title','planned','content','update','expected-version','kb_update_empty','4207427lMJoaJ'];a105_0x5f04=function(){return _0x27b5ef;};return a105_0x5f04();}import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH='/admin/knowledge-base/update',NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x228ee3){const _0x187f34=a105_0x4e05,_0x34cf2e=readKbId(_0x228ee3),_0x416170=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1d2)),_0x1f436b=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1ba)),_0x4ce856=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1b4)),_0x5bdaec=_0x416170===undefined?undefined:String(_0x416170)[_0x187f34(0x1d8)]();if(_0x416170!==undefined&&!_0x5bdaec)throw kbError(_0x187f34(0x1c4),'--title\x20cannot\x20be\x20empty.');const _0x340aab=_0x1f436b===undefined?undefined:String(_0x1f436b)[_0x187f34(0x1d8)]();if(_0x1f436b!==undefined&&!_0x340aab)throw kbError(_0x187f34(0x1a6),_0x187f34(0x1d5));if(_0x5bdaec===undefined&&_0x340aab===undefined)throw kbError(_0x187f34(0x1b5),_0x187f34(0x1ad),_0x187f34(0x1a8));let _0x11d952;if(_0x4ce856!==undefined){_0x11d952=Number(_0x4ce856);if(!Number[_0x187f34(0x1af)](_0x11d952)||_0x11d952<0x0)throw kbError('kb_expected_version_invalid',_0x187f34(0x1d6));}return{'id':_0x34cf2e,'title':_0x5bdaec,'file':_0x340aab,'expectedVersion':_0x11d952};}async function prepareUpdate(_0x3fa021){const _0x23cb1c=a105_0x4e05,_0x43e52a=readUpdatePatch(_0x3fa021),_0x304882=await requireKb(_0x3fa021,_0x43e52a['id']);assertExpectedKbVersion(_0x304882,_0x43e52a['expectedVersion']);const _0x4e77bf=_0x43e52a[_0x23cb1c(0x1ba)]?await readKbFile(_0x43e52a[_0x23cb1c(0x1ba)]):undefined,_0x4f039e=projectKb(_0x304882),_0x23f650=projectKb({..._0x304882,..._0x43e52a[_0x23cb1c(0x1d2)]!==undefined?{'title':_0x43e52a['title']}:{},..._0x4e77bf?{'content':_0x4e77bf['content']}:{}});return{'patch':_0x43e52a,'beforeRecord':_0x304882,'before':_0x4f039e,'planned':_0x23f650,'replacement':_0x4e77bf};}export const kbUpdate={'service':'kb','command':a105_0x364b7b(0x1b3),'description':a105_0x364b7b(0x1ca),'risk':a105_0x364b7b(0x1bd),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x364b7b(0x1be),'required':!![],'description':'Company\x20knowledge-base\x20id'},{'name':a105_0x364b7b(0x1d2),'type':'string','required':![],'description':a105_0x364b7b(0x1b0)},{'name':a105_0x364b7b(0x1ba),'type':a105_0x364b7b(0x1bb),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':a105_0x364b7b(0x1b4),'type':a105_0x364b7b(0x1be),'required':![],'description':a105_0x364b7b(0x1c2)}],async 'validate'(_0x74c535){readUpdatePatch(_0x74c535),requireKbExplicitYes(_0x74c535);},async 'dryRun'(_0x3ab513){const _0x32f380=a105_0x364b7b,_0x1323ee=await prepareUpdate(_0x3ab513),_0x1217e8=_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':'update','selector':{'id':_0x1323ee[_0x32f380(0x1aa)]['id'],'scope':_0x32f380(0x1cf),'appCode':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d1)]},'before':_0x1323ee[_0x32f380(0x1aa)],'after':_0x1323ee[_0x32f380(0x1b1)],'dryRun':!![],'backend':{'method':_0x32f380(0x1b9),'path':UPDATE_PATH},'warnings':_0x1217e8,'verification':{'expectedVersion':_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d4)],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x1323ee['before']['id']+_0x32f380(0x1bf)}},{'method':_0x32f380(0x1b9),'url':UPDATE_PATH});},async 'execute'(_0x1d296f){const _0x316677=a105_0x364b7b;requireKbExplicitYes(_0x1d296f);const _0x52ddc4=await prepareUpdate(_0x1d296f),_0x2df4b5={'id':_0x52ddc4[_0x316677(0x1ae)]['id'],..._0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]!==undefined?{'title':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]}:{},..._0x52ddc4[_0x316677(0x1b7)]?{'content':_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1b2)]}:{}};let _0x278019=![];try{const _0x39af58=await updateEnterpriseKnowledgeBase(_0x1d296f[_0x316677(0x1c9)],_0x2df4b5);assertCompanyKnowledgeBase(_0x39af58,_0x1d296f[_0x316677(0x1d1)],_0x52ddc4[_0x316677(0x1ae)]['id']);}catch(_0x1cea7a){if(!isPlatformTransportFailure(_0x1cea7a))throw _0x1cea7a;_0x278019=!![];}const _0x43256b=await verifyKbMutationReadback('update',_0x278019,()=>requireKb(_0x1d296f,_0x52ddc4[_0x316677(0x1ae)]['id'])),_0x447587=projectKb(_0x43256b),_0x4c0bc=_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x43256b[_0x316677(0x1d2)]===_0x52ddc4['patch'][_0x316677(0x1d2)],_0xff8e2a=!_0x52ddc4['replacement']||inspectKbContent(_0x43256b[_0x316677(0x1b2)])['contentHash']===_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1cb)],_0x617a32=!_0x52ddc4[_0x316677(0x1b7)]||_0x43256b[_0x316677(0x1a7)]>_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1a7)],_0xe57e73=!_0x278019||_0x52ddc4[_0x316677(0x1b7)]!==undefined||_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1d2)]!==_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)];if(!_0x4c0bc||!_0xff8e2a||!_0x617a32||!_0xe57e73)throw kbError(_0x278019?_0x316677(0x1cc):_0x316677(0x1d7),'Company\x20knowledge\x20base\x20'+_0x52ddc4['patch']['id']+_0x316677(0x1c0),_0x316677(0x1c1)+_0x52ddc4[_0x316677(0x1ae)]['id']+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x47c23e=[];return _0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]!==undefined&&_0x47c23e[_0x316677(0x1c6)](NON_ATOMIC_WARNING),_0x278019&&_0x47c23e[_0x316677(0x1c6)]('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':_0x316677(0x1b3),'selector':{'id':_0x447587['id'],'scope':'company','appCode':_0x447587[_0x316677(0x1d1)]},'before':_0x52ddc4[_0x316677(0x1aa)],'after':_0x447587,'dryRun':![],'backend':{'method':_0x316677(0x1b9),'path':UPDATE_PATH},'warnings':_0x47c23e,'verification':{'status':_0x316677(0x1cd),'recoveredAfterUnknownResponse':_0x278019,'expectedVersion':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x316677(0x1b8)+_0x447587['id']+_0x316677(0x1bf)}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x447587['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a106_0x32646b=a106_0x187d;function a106_0x3aac(){const _0xc8b7ba=['message','\x20\x20\x20Details:\x20','699LGvorw','error','duration','clear','log','395064VTiUrW','222TcFYbj','*\x20No\x20logs\x20found','44310048pqSLcJ','\x20\x20\x20Time:\x20','level','write','493620oVUheb','153pmjXCK','5koykwW','readLogs','181531HUYyZV','logs','warn','details','70rPNBMm','keys','31702xjOEJH','258870iesvsu','9436xMrlRZ','show','*\x20Logs\x20cleared','stringify','*\x20Lovrabet\x20CLI\x20logs:\x0a','clearLogs','length'];a106_0x3aac=function(){return _0xc8b7ba;};return a106_0x3aac();}(function(_0x29fe86,_0x30ada4){const _0x5ef76b=a106_0x187d,_0x147722=_0x29fe86();while(!![]){try{const _0x568bdf=-parseInt(_0x5ef76b(0x151))/0x1*(parseInt(_0x5ef76b(0x139))/0x2)+parseInt(_0x5ef76b(0x143))/0x3*(-parseInt(_0x5ef76b(0x13a))/0x4)+-parseInt(_0x5ef76b(0x14f))/0x5+-parseInt(_0x5ef76b(0x149))/0x6*(parseInt(_0x5ef76b(0x153))/0x7)+-parseInt(_0x5ef76b(0x148))/0x8*(parseInt(_0x5ef76b(0x150))/0x9)+-parseInt(_0x5ef76b(0x136))/0xa*(-parseInt(_0x5ef76b(0x138))/0xb)+parseInt(_0x5ef76b(0x14b))/0xc;if(_0x568bdf===_0x30ada4)break;else _0x147722['push'](_0x147722['shift']());}catch(_0x166c8d){_0x147722['push'](_0x147722['shift']());}}}(a106_0x3aac,0x96e74));function a106_0x187d(_0x2b1586,_0x1387cc){_0x2b1586=_0x2b1586-0x133;const _0x3aac8b=a106_0x3aac();let _0x187dd0=_0x3aac8b[_0x2b1586];return _0x187dd0;}import{logger}from'../../utils/logger.js';function printLogs(_0x2f42d8){const _0x4c268c=a106_0x187d;if(_0x2f42d8[_0x4c268c(0x140)]===0x0){console['log'](_0x4c268c(0x14a));return;}console[_0x4c268c(0x147)](_0x4c268c(0x13e)),_0x2f42d8['forEach']((_0x266922,_0x15c368)=>{const _0x2189e4=_0x4c268c,_0x595eda=new Date(_0x266922['timestamp'])['toLocaleString']('en-US'),_0x20a3cd=_0x266922[_0x2189e4(0x14d)]==='success'?'√':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x144)?'×':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x134)?'!':'i';console[_0x2189e4(0x147)](_0x15c368+0x1+'.\x20'+_0x20a3cd+'\x20['+_0x266922['command']+']\x20'+_0x266922[_0x2189e4(0x141)]),console[_0x2189e4(0x147)](_0x2189e4(0x14c)+_0x595eda),_0x266922[_0x2189e4(0x145)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x266922[_0x2189e4(0x145)]+'ms'),_0x266922['details']&&Object[_0x2189e4(0x137)](_0x266922[_0x2189e4(0x135)])['length']>0x0&&console[_0x2189e4(0x147)](_0x2189e4(0x142)+JSON[_0x2189e4(0x13d)](_0x266922['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x13b),'description':'View\x20command\x20history\x20logs','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x339f42){const _0x258ddf=a106_0x32646b;return printLogs(logger[_0x258ddf(0x152)]()),{'ok':!![]};}},{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x146),'description':'Clear\x20command\x20history\x20logs','risk':a106_0x32646b(0x14e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xb527cc){const _0x421545=a106_0x32646b;return logger[_0x421545(0x13f)](),console[_0x421545(0x147)](_0x421545(0x13c)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_0x3bea88=a107_0x568c;(function(_0x1c5267,_0x5c69bf){const _0x3a0794=a107_0x568c,_0x4e16f9=_0x1c5267();while(!![]){try{const _0x17842b=-parseInt(_0x3a0794(0x1b4))/0x1*(-parseInt(_0x3a0794(0x1ac))/0x2)+parseInt(_0x3a0794(0x1e1))/0x3+parseInt(_0x3a0794(0x1b0))/0x4+-parseInt(_0x3a0794(0x1c0))/0x5*(-parseInt(_0x3a0794(0x1ca))/0x6)+-parseInt(_0x3a0794(0x1d4))/0x7+parseInt(_0x3a0794(0x1c5))/0x8*(parseInt(_0x3a0794(0x1e3))/0x9)+parseInt(_0x3a0794(0x1c9))/0xa*(-parseInt(_0x3a0794(0x1c1))/0xb);if(_0x17842b===_0x5c69bf)break;else _0x4e16f9['push'](_0x4e16f9['shift']());}catch(_0x31aa48){_0x4e16f9['push'](_0x4e16f9['shift']());}}}(a107_0x2d60,0xb5d32));import a107_0x129beb from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x3bea88(0x1ef),'command':a107_0x3bea88(0x1e8),'description':a107_0x3bea88(0x1d5),'risk':'high-risk-write','flags':[{'name':'params','type':a107_0x3bea88(0x1f9),'description':a107_0x3bea88(0x1b2)+a107_0x3bea88(0x1d8)},{'name':a107_0x3bea88(0x1a0),'type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x3bea88(0x1d3),'enum':['replace',a107_0x3bea88(0x1f6)],'default':a107_0x3bea88(0x1f6)},{'name':a107_0x3bea88(0x1e2),'type':'boolean','description':a107_0x3bea88(0x1b1)},{'name':a107_0x3bea88(0x1f7),'type':'string','description':a107_0x3bea88(0x1d9)},{'name':a107_0x3bea88(0x1e4),'type':a107_0x3bea88(0x1f9),'description':a107_0x3bea88(0x1a9)},{'name':a107_0x3bea88(0x1a5),'type':a107_0x3bea88(0x19f),'description':a107_0x3bea88(0x1f4)},{'name':'load-mode','type':a107_0x3bea88(0x1f9),'enum':[a107_0x3bea88(0x1c4),a107_0x3bea88(0x1de),'fetch'],'description':a107_0x3bea88(0x1a7)}],async 'dryRun'(_0x391359){const _0x48df48=a107_0x3bea88;ensureRunnableContext(_0x391359[_0x48df48(0x1fa)],_0x391359[_0x48df48(0x1e9)]);const _0x4d1267=await runMenuUpdateCore(_0x391359[_0x48df48(0x1be)],_0x391359['cookie'],_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1d6)),{'mode':parseMode(_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1a0))),'dryRun':!![],'force':_0x391359[_0x48df48(0x1ae)](_0x48df48(0x1e2)),'selection':parseSelection(_0x391359),'loadScriptMode':parseLoadScriptMode(_0x391359[_0x48df48(0x1c6)](_0x48df48(0x1a1)))});return{'method':'POST','url':_0x48df48(0x1b6),'body':_0x4d1267,'description':_0x4d1267['skipped']?_0x48df48(0x1bb):'Would\x20update\x20'+(_0x4d1267[_0x48df48(0x1db)]?.[_0x48df48(0x1bd)]??0x0)+_0x48df48(0x1dc)};},async 'execute'(_0x30a371){const _0xd0c534=a107_0x3bea88;ensureRunnableContext(_0x30a371[_0xd0c534(0x1fa)],_0x30a371['selectedAppName']);const _0x5bb1fc=_0x30a371['flag'](_0xd0c534(0x1a4)),_0xe1c856=_0x30a371['str']('params'),_0x2ace5c=parseMode(_0x30a371[_0xd0c534(0x1c6)](_0xd0c534(0x1a0))),_0x67e253=_0x30a371[_0xd0c534(0x1ae)](_0xd0c534(0x1e2)),_0x5c8cd8=parseLoadScriptMode(_0x30a371[_0xd0c534(0x1c6)](_0xd0c534(0x1a1))),_0x4769f7=parseParams(_0xe1c856),_0xaefc85=!!(_0x4769f7[_0xd0c534(0x1c7)]||_0x4769f7['cssUrl']);if(_0x5bb1fc||_0xaefc85&&!isInteractive()){const _0x51cad7=await runMenuUpdateCore(_0x30a371[_0xd0c534(0x1be)],_0x30a371['cookie'],_0xe1c856,{'mode':_0x2ace5c,'force':_0x67e253,'selection':parseSelection(_0x30a371),'loadScriptMode':_0x5c8cd8});return _0x51cad7[_0xd0c534(0x1f5)]?writeCliSideChannelLine(_0xd0c534(0x1ec)):(writeCliSideChannelLine(_0xd0c534(0x1e5)+_0x51cad7[_0xd0c534(0x1b9)]+_0xd0c534(0x1ce)),_0x51cad7[_0xd0c534(0x1b3)]>0x0&&writeCliSideChannelLine('!\x20'+_0x51cad7['failed']+_0xd0c534(0x1eb))),{'ok':_0x51cad7[_0xd0c534(0x1b3)]===0x0,'data':_0x51cad7,'message':_0x51cad7[_0xd0c534(0x1f5)]?_0xd0c534(0x1a2):_0xd0c534(0x1f2)+_0x51cad7['updated']+'\x20updated,\x20'+_0x51cad7[_0xd0c534(0x1b3)]+_0xd0c534(0x1f0)};}requireInteractive();const _0x1c5b6e=startSpinner(_0xd0c534(0x1cc));let _0x422272;try{_0x422272=await fetchOnlineMenuList(_0x30a371['appCode'],_0x30a371[_0xd0c534(0x1a3)]),stopSpinner(_0x1c5b6e,_0xd0c534(0x1e0),!![]);}catch(_0x3d5ac2){stopSpinner(_0x1c5b6e,_0xd0c534(0x1b7),![]);throw CliErrors[_0xd0c534(0x1cb)](_0x3d5ac2 instanceof Error?_0x3d5ac2[_0xd0c534(0x1dd)]:_0xd0c534(0x1b7));}const _0x351c9b=filterMenusWithResources(_0x422272),_0xfc506f=parseSelection(_0x30a371,![]),_0x336615=_0xfc506f?selectMenusForUpdate(_0x351c9b,_0xfc506f):_0x351c9b;if(_0x336615['length']===0x0)return writeCliSideChannelLine(a107_0x129beb[_0xd0c534(0x1c3)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x129beb[_0xd0c534(0x1ba)](_0xd0c534(0x1f1)+_0x336615[_0xd0c534(0x1bd)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0x336615['map'](_0x25909c=>_0x25909c[_0xd0c534(0x1bf)]),[_0x4769f7['jsUrl'],_0x4769f7[_0xd0c534(0x1d0)]])),writeCliSideChannelLine('');let _0x50eb63=_0x4769f7['jsUrl'],_0x405720=_0x4769f7[_0xd0c534(0x1d0)];!_0x50eb63&&(_0x50eb63=await askJsUrl());!_0x405720&&(_0x405720=await askCssUrl());const _0x2e4241=await askConfirm(_0xd0c534(0x1bc)+_0x336615[_0xd0c534(0x1bd)]+_0xd0c534(0x1a8)+_0x50eb63+_0xd0c534(0x19d)+_0x405720+'?');if(!_0x2e4241)return writeCliSideChannelLine(a107_0x129beb['gray'](_0xd0c534(0x1da))),{'ok':!![]};const _0x56ec14=startSpinner(_0xd0c534(0x1e6)+_0x336615[_0xd0c534(0x1bd)]+_0xd0c534(0x1d2));try{const _0x544320=await runMenuUpdateCore(_0x30a371[_0xd0c534(0x1be)],_0x30a371[_0xd0c534(0x1a3)],JSON[_0xd0c534(0x1aa)]({'jsUrl':_0x50eb63,'cssUrl':_0x405720}),{'mode':_0x2ace5c,'force':_0x67e253,'selection':{'all':![],'menuIds':_0x336615[_0xd0c534(0x1cd)](_0xf4b88c=>_0xf4b88c['id']),'paths':[]},'loadScriptMode':_0x5c8cd8});return stopSpinner(_0x56ec14,_0xd0c534(0x1cf)+_0x544320[_0xd0c534(0x1b9)]+_0xd0c534(0x1d1),_0x544320[_0xd0c534(0x1b3)]===0x0),{'ok':_0x544320[_0xd0c534(0x1b3)]===0x0,'data':_0x544320,'message':_0x544320['failed']>0x0?_0xd0c534(0x1f2)+_0x544320['updated']+_0xd0c534(0x1ad)+_0x544320['failed']+_0xd0c534(0x1f0):_0xd0c534(0x1f2)+_0x544320['updated']+'\x20updated.'};}catch(_0x96add7){stopSpinner(_0x56ec14,_0xd0c534(0x1b5),![]);throw CliErrors[_0xd0c534(0x1cb)](_0x96add7 instanceof Error?_0x96add7[_0xd0c534(0x1dd)]:_0xd0c534(0x1b5));}}};function ensureRunnableContext(_0x547bc2,_0x25a620){const _0x303847=a107_0x3bea88,_0x24e62e=_0x547bc2[_0x303847(0x1f3)]?String(_0x547bc2[_0x303847(0x1f3)])[_0x303847(0x1d7)]():'';if(!isInProject()&&!_0x25a620&&!_0x24e62e)throw CliErrors['validation'](_0x303847(0x1af)+_0x303847(0x1a6));}function parseMode(_0x44a24e){const _0x12a2a6=a107_0x3bea88;if(!_0x44a24e)return _0x12a2a6(0x1f6);if(_0x44a24e===_0x12a2a6(0x1df)||_0x44a24e===_0x12a2a6(0x1f6))return _0x44a24e;throw CliErrors[_0x12a2a6(0x1cb)](_0x12a2a6(0x19e));}function parseSelection(_0x5bdde4,_0x4c7925=!![]){const _0x4e93a9=a107_0x3bea88,_0x4e7b60=_0x5bdde4['bool'](_0x4e93a9(0x1a5)),_0x6f1ebf=parseMenuIds(_0x5bdde4[_0x4e93a9(0x1c6)](_0x4e93a9(0x1f7))),_0x262bec=parseCsv(_0x5bdde4['str'](_0x4e93a9(0x1e4))),_0x31c4b8=_0x6f1ebf['length']>0x0||_0x262bec[_0x4e93a9(0x1bd)]>0x0;if(_0x4e7b60&&_0x31c4b8)throw CliErrors[_0x4e93a9(0x1cb)](_0x4e93a9(0x1c2));if(!_0x4e7b60&&!_0x31c4b8){if(!_0x4c7925)return undefined;throw CliErrors['validation'](_0x4e93a9(0x1c8));}return{'all':_0x4e7b60,'menuIds':_0x6f1ebf,'paths':_0x262bec};}function parseMenuIds(_0x865d5){const _0x3e4277=a107_0x3bea88,_0x3e6a36=parseCsv(_0x865d5),_0x5d2517=_0x3e6a36[_0x3e4277(0x1cd)](Number);if(_0x5d2517[_0x3e4277(0x1e7)](_0xdc8e49=>!Number[_0x3e4277(0x1ea)](_0xdc8e49)||_0xdc8e49<=0x0))throw CliErrors[_0x3e4277(0x1cb)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x5d2517)];}function a107_0x568c(_0x1c3b09,_0x3bc536){_0x1c3b09=_0x1c3b09-0x19d;const _0x2d602e=a107_0x2d60();let _0x568c83=_0x2d602e[_0x1c3b09];return _0x568c83;}function parseCsv(_0x50a486){const _0x42660e=a107_0x3bea88;return[...new Set(_0x50a486[_0x42660e(0x1ed)](',')[_0x42660e(0x1cd)](_0x4e755f=>_0x4e755f['trim']())[_0x42660e(0x1ee)](Boolean))];}function parseLoadScriptMode(_0x45fd07){const _0x463407=a107_0x3bea88;if(!_0x45fd07)return undefined;if(_0x45fd07===_0x463407(0x1c4)||_0x45fd07==='script'||_0x45fd07===_0x463407(0x1f8))return _0x45fd07;throw CliErrors[_0x463407(0x1cb)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x267d61){const _0x40fb13=a107_0x3bea88;if(!_0x267d61)return{};try{const _0x3ac5d5=JSON[_0x40fb13(0x1ab)](_0x267d61);if(typeof _0x3ac5d5!==_0x40fb13(0x1b8)||_0x3ac5d5===null||Array['isArray'](_0x3ac5d5))return{};return{'jsUrl':typeof _0x3ac5d5['jsUrl']===_0x40fb13(0x1f9)?_0x3ac5d5[_0x40fb13(0x1c7)]['trim']():undefined,'cssUrl':typeof _0x3ac5d5[_0x40fb13(0x1d0)]===_0x40fb13(0x1f9)?_0x3ac5d5[_0x40fb13(0x1d0)][_0x40fb13(0x1d7)]():undefined};}catch{return{};}}function a107_0x2d60(){const _0x2eafee=['yes','all','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','\x20menu(s)\x20with\x20JS:\x20','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','stringify','parse','173458plVtsa','\x20updated,\x20','bool','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','4336436bEkNiS','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','failed','1omtbRH','Menu\x20asset\x20update\x20failed','/smartapi/menu/update','Failed\x20to\x20fetch\x20online\x20menu\x20list','object','updated','cyan','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','\x20\x20Update\x20','length','appCode','label','440dcZLpT','11vqKSOG','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','yellow','import','3198648HOxDem','str','jsUrl','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','11128940SskDXn','26898GJoLXs','validation','Fetching\x20online\x20menu\x20list...','map','\x20menu(s)\x20updated','Updated\x20','cssUrl','\x20menu(s)','\x20menu(s)...','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','7585879yCdmoP','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','params','trim','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20\x20Cancelled.','diffs','\x20menu\x20resource\x20set(s).','message','script','replace','Online\x20menu\x20list\x20fetched','2928516pxOwSN','force','9PYZlhc','paths','✓\x20Menu\x20asset\x20update\x20completed:\x20','Updating\x20','some','asset-update','selectedAppName','isSafeInteger','\x20menu(s)\x20failed','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','split','filter','menu','\x20failed.','\x20\x20Found\x20','Menu\x20asset\x20update\x20completed:\x20','appcode','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','skipped','patch','menu-ids','fetch','string','rawFlags','\x20and\x20CSS:\x20','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','boolean','mode','load-mode','Menu\x20asset\x20update\x20skipped','cookie'];a107_0x2d60=function(){return _0x2eafee;};return a107_0x2d60();}
|
|
1
|
+
const a107_0x4f8c40=a107_0x4fb5;(function(_0x341558,_0xc22d18){const _0x5c18a6=a107_0x4fb5,_0x237754=_0x341558();while(!![]){try{const _0x29c089=-parseInt(_0x5c18a6(0x9a))/0x1+parseInt(_0x5c18a6(0xa7))/0x2+parseInt(_0x5c18a6(0x92))/0x3+-parseInt(_0x5c18a6(0xb4))/0x4*(parseInt(_0x5c18a6(0xab))/0x5)+-parseInt(_0x5c18a6(0x90))/0x6*(-parseInt(_0x5c18a6(0x80))/0x7)+-parseInt(_0x5c18a6(0xa6))/0x8*(parseInt(_0x5c18a6(0xb0))/0x9)+-parseInt(_0x5c18a6(0xbe))/0xa*(-parseInt(_0x5c18a6(0x84))/0xb);if(_0x29c089===_0xc22d18)break;else _0x237754['push'](_0x237754['shift']());}catch(_0x2452cb){_0x237754['push'](_0x237754['shift']());}}}(a107_0x324f,0xcfdaa));import a107_0x3dc387 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a107_0x324f(){const _0x3fbd0b=['3454SaksnL','selectedAppName','object','rawFlags','bool','isSafeInteger','gray','validation','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Online\x20menu\x20list\x20fetched','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','label','10608XTVKqX','map','2416314iGJQeI','replace','POST','Updating\x20','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','Menu\x20asset\x20update\x20failed','\x20menu(s)\x20with\x20existing\x20resources','menu-ids','803856opXrdB','paths','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','mode','yellow','str','\x20menu(s)','script','\x20\x20Update\x20','jsUrl','force','trim','48GvMnkZ','257852FffdNu','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','flag','skipped','188755SpcfPF','message','\x20menu\x20resource\x20set(s).','\x20failed.','appcode','1277829LNfVLn','asset-update','yes','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','128YALAYx','Failed\x20to\x20fetch\x20online\x20menu\x20list','cookie','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','Menu\x20asset\x20update\x20completed:\x20','params','boolean','\x20updated,\x20','76060CspScv','load-mode','filter','\x20\x20Cancelled.','✓\x20Menu\x20asset\x20update\x20completed:\x20','fetch','/smartapi/menu/update','\x20menu(s)...','Menu\x20asset\x20update\x20skipped','split','high-risk-write','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','import','updated','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Fetching\x20online\x20menu\x20list...','length','menu','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','appCode','isArray','string','\x20menu(s)\x20updated','1554YXpuCD','all','cssUrl','Would\x20update\x20'];a107_0x324f=function(){return _0x3fbd0b;};return a107_0x324f();}import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';function a107_0x4fb5(_0x527465,_0x17fc9f){_0x527465=_0x527465-0x76;const _0x324f54=a107_0x324f();let _0x4fb57d=_0x324f54[_0x527465];return _0x4fb57d;}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x4f8c40(0x7a),'command':a107_0x4f8c40(0xb1),'description':a107_0x4f8c40(0xc9),'risk':a107_0x4f8c40(0xc8),'flags':[{'name':a107_0x4f8c40(0xbb),'type':a107_0x4f8c40(0x7e),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+'JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}'},{'name':'mode','type':a107_0x4f8c40(0x7e),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x4f8c40(0x77),'enum':[a107_0x4f8c40(0x93),'patch'],'default':a107_0x4f8c40(0xca)},{'name':a107_0x4f8c40(0xa4),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xa8)},{'name':'menu-ids','type':a107_0x4f8c40(0x7e),'description':a107_0x4f8c40(0x7b)},{'name':'paths','type':a107_0x4f8c40(0x7e),'description':'Exact\x20comma-separated\x20menu\x20paths\x20to\x20update'},{'name':a107_0x4f8c40(0x81),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xb3)},{'name':a107_0x4f8c40(0xbf),'type':a107_0x4f8c40(0x7e),'enum':['import',a107_0x4f8c40(0xa1),a107_0x4f8c40(0xc3)],'description':a107_0x4f8c40(0xb8)}],async 'dryRun'(_0x5c87b1){const _0x55bc84=a107_0x4f8c40;ensureRunnableContext(_0x5c87b1[_0x55bc84(0x87)],_0x5c87b1['selectedAppName']);const _0x24527c=await runMenuUpdateCore(_0x5c87b1[_0x55bc84(0x7c)],_0x5c87b1['cookie'],_0x5c87b1['str'](_0x55bc84(0xbb)),{'mode':parseMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0x9d))),'dryRun':!![],'force':_0x5c87b1['bool'](_0x55bc84(0xa4)),'selection':parseSelection(_0x5c87b1),'loadScriptMode':parseLoadScriptMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0xbf)))});return{'method':_0x55bc84(0x94),'url':_0x55bc84(0xc4),'body':_0x24527c,'description':_0x24527c[_0x55bc84(0xaa)]?_0x55bc84(0x8c):_0x55bc84(0x83)+(_0x24527c['diffs']?.[_0x55bc84(0x79)]??0x0)+_0x55bc84(0xad)};},async 'execute'(_0x35e22e){const _0x447500=a107_0x4f8c40;ensureRunnableContext(_0x35e22e['rawFlags'],_0x35e22e[_0x447500(0x85)]);const _0x4bd9c2=_0x35e22e[_0x447500(0xa9)](_0x447500(0xb2)),_0x9f95ee=_0x35e22e[_0x447500(0x9f)](_0x447500(0xbb)),_0x490668=parseMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0x9d))),_0xc02560=_0x35e22e[_0x447500(0x88)](_0x447500(0xa4)),_0x3bb86b=parseLoadScriptMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0xbf))),_0x4b0606=parseParams(_0x9f95ee),_0x30df1c=!!(_0x4b0606[_0x447500(0xa3)]||_0x4b0606[_0x447500(0x82)]);if(_0x4bd9c2||_0x30df1c&&!isInteractive()){const _0x4d0388=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)],_0x9f95ee,{'mode':_0x490668,'force':_0xc02560,'selection':parseSelection(_0x35e22e),'loadScriptMode':_0x3bb86b});return _0x4d0388['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0x447500(0xc2)+_0x4d0388[_0x447500(0x76)]+_0x447500(0x7f)),_0x4d0388[_0x447500(0xb7)]>0x0&&writeCliSideChannelLine('!\x20'+_0x4d0388['failed']+'\x20menu(s)\x20failed')),{'ok':_0x4d0388['failed']===0x0,'data':_0x4d0388,'message':_0x4d0388[_0x447500(0xaa)]?_0x447500(0xc6):_0x447500(0xba)+_0x4d0388[_0x447500(0x76)]+_0x447500(0xbd)+_0x4d0388[_0x447500(0xb7)]+_0x447500(0xae)};}requireInteractive();const _0x5cdf67=startSpinner(_0x447500(0x78));let _0x38965b;try{_0x38965b=await fetchOnlineMenuList(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)]),stopSpinner(_0x5cdf67,_0x447500(0x8d),!![]);}catch(_0x109b65){stopSpinner(_0x5cdf67,_0x447500(0xb5),![]);throw CliErrors['validation'](_0x109b65 instanceof Error?_0x109b65[_0x447500(0xac)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x44890b=filterMenusWithResources(_0x38965b),_0x273598=parseSelection(_0x35e22e,![]),_0x36b6df=_0x273598?selectMenusForUpdate(_0x44890b,_0x273598):_0x44890b;if(_0x36b6df[_0x447500(0x79)]===0x0)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x9e)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x3dc387['cyan']('\x20\x20Found\x20'+_0x36b6df[_0x447500(0x79)]+_0x447500(0x98))),writeCliSideChannelLine(renderUpdateSummary(_0x36b6df[_0x447500(0x91)](_0x41693d=>_0x41693d[_0x447500(0x8f)]),[_0x4b0606['jsUrl'],_0x4b0606[_0x447500(0x82)]])),writeCliSideChannelLine('');let _0xb7618b=_0x4b0606[_0x447500(0xa3)],_0x3aa13b=_0x4b0606[_0x447500(0x82)];!_0xb7618b&&(_0xb7618b=await askJsUrl());!_0x3aa13b&&(_0x3aa13b=await askCssUrl());const _0x4117af=await askConfirm(_0x447500(0xa2)+_0x36b6df['length']+'\x20menu(s)\x20with\x20JS:\x20'+_0xb7618b+'\x20and\x20CSS:\x20'+_0x3aa13b+'?');if(!_0x4117af)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x8a)](_0x447500(0xc1))),{'ok':!![]};const _0x58972c=startSpinner(_0x447500(0x95)+_0x36b6df[_0x447500(0x79)]+_0x447500(0xc5));try{const _0x6e17c7=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e['cookie'],JSON['stringify']({'jsUrl':_0xb7618b,'cssUrl':_0x3aa13b}),{'mode':_0x490668,'force':_0xc02560,'selection':{'all':![],'menuIds':_0x36b6df['map'](_0x1dd29f=>_0x1dd29f['id']),'paths':[]},'loadScriptMode':_0x3bb86b});return stopSpinner(_0x58972c,'Updated\x20'+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xa0),_0x6e17c7['failed']===0x0),{'ok':_0x6e17c7[_0x447500(0xb7)]===0x0,'data':_0x6e17c7,'message':_0x6e17c7['failed']>0x0?_0x447500(0xba)+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xbd)+_0x6e17c7[_0x447500(0xb7)]+'\x20failed.':'Menu\x20asset\x20update\x20completed:\x20'+_0x6e17c7['updated']+'\x20updated.'};}catch(_0x4bcd99){stopSpinner(_0x58972c,_0x447500(0x97),![]);throw CliErrors[_0x447500(0x8b)](_0x4bcd99 instanceof Error?_0x4bcd99['message']:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x3023cf,_0x3402f1){const _0x34b977=a107_0x4f8c40,_0x3bea20=_0x3023cf[_0x34b977(0xaf)]?String(_0x3023cf[_0x34b977(0xaf)])[_0x34b977(0xa5)]():'';if(!isInProject()&&!_0x3402f1&&!_0x3bea20)throw CliErrors['validation'](_0x34b977(0xb9)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x97a1f){const _0x444a6a=a107_0x4f8c40;if(!_0x97a1f)return _0x444a6a(0xca);if(_0x97a1f==='replace'||_0x97a1f===_0x444a6a(0xca))return _0x97a1f;throw CliErrors[_0x444a6a(0x8b)](_0x444a6a(0x9c));}function parseSelection(_0x201c6b,_0x5915e7=!![]){const _0x2d65de=a107_0x4f8c40,_0x416793=_0x201c6b[_0x2d65de(0x88)]('all'),_0x140e3=parseMenuIds(_0x201c6b[_0x2d65de(0x9f)](_0x2d65de(0x99))),_0x2e4009=parseCsv(_0x201c6b['str'](_0x2d65de(0x9b))),_0x1af8ae=_0x140e3[_0x2d65de(0x79)]>0x0||_0x2e4009[_0x2d65de(0x79)]>0x0;if(_0x416793&&_0x1af8ae)throw CliErrors[_0x2d65de(0x8b)]('--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.');if(!_0x416793&&!_0x1af8ae){if(!_0x5915e7)return undefined;throw CliErrors['validation'](_0x2d65de(0x8e));}return{'all':_0x416793,'menuIds':_0x140e3,'paths':_0x2e4009};}function parseMenuIds(_0x473114){const _0x2c3a32=a107_0x4f8c40,_0x44f9e9=parseCsv(_0x473114),_0x4b51ca=_0x44f9e9[_0x2c3a32(0x91)](Number);if(_0x4b51ca['some'](_0x19b55f=>!Number[_0x2c3a32(0x89)](_0x19b55f)||_0x19b55f<=0x0))throw CliErrors[_0x2c3a32(0x8b)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x4b51ca)];}function parseCsv(_0x413ce2){const _0x783a5b=a107_0x4f8c40;return[...new Set(_0x413ce2[_0x783a5b(0xc7)](',')[_0x783a5b(0x91)](_0x20779b=>_0x20779b['trim']())[_0x783a5b(0xc0)](Boolean))];}function parseLoadScriptMode(_0x4a52e5){const _0x20de02=a107_0x4f8c40;if(!_0x4a52e5)return undefined;if(_0x4a52e5===_0x20de02(0xcb)||_0x4a52e5==='script'||_0x4a52e5===_0x20de02(0xc3))return _0x4a52e5;throw CliErrors[_0x20de02(0x8b)](_0x20de02(0x96));}function parseParams(_0x5594ae){const _0x39daf0=a107_0x4f8c40;if(!_0x5594ae)return{};try{const _0x20e871=JSON['parse'](_0x5594ae);if(typeof _0x20e871!==_0x39daf0(0x86)||_0x20e871===null||Array[_0x39daf0(0x7d)](_0x20e871))return{};return{'jsUrl':typeof _0x20e871[_0x39daf0(0xa3)]===_0x39daf0(0x7e)?_0x20e871[_0x39daf0(0xa3)][_0x39daf0(0xa5)]():undefined,'cssUrl':typeof _0x20e871[_0x39daf0(0x82)]==='string'?_0x20e871[_0x39daf0(0x82)][_0x39daf0(0xa5)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_0x4a07ec=a108_0xb4c9;(function(_0x5aaf5d,_0x3b356c){const _0x5e8858=a108_0xb4c9,_0x438db3=_0x5aaf5d();while(!![]){try{const _0x5c6841=-parseInt(_0x5e8858(0x1b6))/0x1+-parseInt(_0x5e8858(0x1c4))/0x2+parseInt(_0x5e8858(0x1f7))/0x3+parseInt(_0x5e8858(0x1dc))/0x4+parseInt(_0x5e8858(0x1b1))/0x5+-parseInt(_0x5e8858(0x20c))/0x6+parseInt(_0x5e8858(0x211))/0x7;if(_0x5c6841===_0x3b356c)break;else _0x438db3['push'](_0x438db3['shift']());}catch(_0x215311){_0x438db3['push'](_0x438db3['shift']());}}}(a108_0x3c3f,0xbff87));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x4a07ec(0x1a7)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x4a07ec(0x1ad),'type':'boolean','description':a108_0x4a07ec(0x1e3)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x4a07ec(0x1d9),'type':a108_0x4a07ec(0x1b7),'description':a108_0x4a07ec(0x1fd)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a108_0x4a07ec(0x1b7),'description':a108_0x4a07ec(0x1c8)};function a108_0x3c3f(){const _0x28d151=['target','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','childrenCount','pages','):\x20','expect-parent-id','/smartapi/menu/batchDelete','unconfirmed','childrenIds','batch\x20delete','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','high-risk-write','\x20->\x20menu\x20','menu_batch_delete_count_mismatch','push','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','Menu\x20','plan-out','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','stringify','1529432SUSqjL','validation','menu_delete_page_bound','batch-delete-menu','plan-validation','plan','menu_recursive_requires_folder','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','\x20resource\x20URL(s).','byId','pageId','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','pre-write-plan-validation','bool','menu','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','createdAt','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','resources','map','cascade','Backend\x20reported\x20','filter','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','plan\x20delete','rabetbase\x20menu\x20list\x20--format\x20json','folder','4204893rQnObI','Deleted\x20','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Post-failure\x20menu\x20readback\x20failed\x20(','cookie','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Would\x20batch\x20delete\x20','message','forEach','toLowerCase','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','trim','type','absentIds','menu_folder_has_resources','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','Recursive\x20menu\x20delete\x20plan\x20root\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','\x20is\x20not\x20a\x20folder.','expect-path','8648844nEizcc','menu\x20list','menu_folder_resources_invalid','menu_plan_invalid','length','5444390INGfPg','add','menu_page_shared','verification','menu_verification_failed','\x20references\x20missing\x20child\x20','causeCode','flagMissing','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','Folder\x20','POST','failed','has','Post-mismatch\x20menu\x20readback\x20failed\x20(','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','\x20menu(s)\x20under\x20exact\x20id\x20','delete','causeMessage','\x20deleted\x20menus;\x20expected\x20','unknown','recursive','\x20and\x20cannot\x20be\x20deleted\x20safely.','execute\x20reviewed\x20delete\x20plan','batch-delete','4704010yyRkyK','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','deleteOrder','hash','snapshot','1118144mcXgqF','string','get','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','size','remainingIds','selector','\x20is\x20type\x20\x22','join','str','resourcesValid','dry-run','path','appCode','313264CgbrWR','menu_non_empty'];a108_0x3c3f=function(){return _0x28d151;};return a108_0x3c3f();}export const menuDelete={'service':a108_0x4a07ec(0x1ea),'command':a108_0x4a07ec(0x1a9),'description':'Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','risk':a108_0x4a07ec(0x1d2),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2de28f){const _0x557a14=a108_0x4a07ec;_0x2de28f[_0x557a14(0x1e9)](_0x557a14(0x1c1))?validateDeleteDryRunInput(_0x2de28f):validateDeleteExecuteInput(_0x2de28f),requireExplicitYes(_0x2de28f);},async 'dryRun'(_0x1135b1){const _0x55532d=a108_0x4a07ec;validateDeleteDryRunInput(_0x1135b1);const _0x2fc69b=await buildDeletePlan(_0x1135b1),_0x32b903=createMenuDeletePlanFile(_0x1135b1[_0x55532d(0x1c3)],_0x2fc69b),_0xf569d8=await writeMenuDeletePlan(_0x1135b1['str'](_0x55532d(0x1d9)),_0x32b903),_0x21d2bf=mutationResult({..._0x2fc69b,'planFile':{'path':_0xf569d8,'createdAt':_0x32b903[_0x55532d(0x1ec)],'expiresAt':_0x32b903['expiresAt']}});return menuDryRunResult(_0x21d2bf,{'method':_0x55532d(0x1a3),'url':_0x55532d(0x1cd),'body':{'idList':_0x21d2bf[_0x55532d(0x1b3)]},'description':_0x55532d(0x1fe)+(_0x21d2bf[_0x55532d(0x1b3)]?.[_0x55532d(0x210)]??0x1)+_0x55532d(0x1a8)+_0x21d2bf[_0x55532d(0x1bc)]['id']+';\x20execution\x20must\x20consume\x20'+_0xf569d8+'.'});},async 'execute'(_0x400113){const _0x1278e1=a108_0x4a07ec;requireExplicitYes(_0x400113),validateDeleteExecuteInput(_0x400113);const _0x13c4b5=await readMenuDeletePlan(_0x400113[_0x1278e1(0x1bf)](_0x1278e1(0x1e1))),_0x171a6e=mutationPlanFromDeleteFile(_0x13c4b5[_0x1278e1(0x1e1)],_0x13c4b5[_0x1278e1(0x1c2)]),_0x40ceb9=_0x13c4b5['plan'][_0x1278e1(0x1c6)]['id'];try{assertMenuDeletePlanExecutable(_0x13c4b5[_0x1278e1(0x1e1)],_0x400113['appCode']);}catch(_0x297566){throw menuFailure(asMenuError(_0x297566),_0x171a6e,{'stage':_0x1278e1(0x1e0),'failed':{'id':_0x40ceb9}});}let _0x369ce1,_0x3ae15b;try{_0x369ce1=await fetchMutationSnapshot(_0x400113,_0x1278e1(0x1af),_0x40ceb9),_0x3ae15b=assertMenuDeletePlanCurrent(_0x13c4b5[_0x1278e1(0x1e1)],_0x400113[_0x1278e1(0x1c3)],_0x369ce1),assertDeleteTargetsComplete(_0x13c4b5[_0x1278e1(0x1e1)],_0x369ce1),_0x3ae15b[_0x1278e1(0x200)](_0x5ae667=>assertDeleteSafety(_0x5ae667,_0x13c4b5[_0x1278e1(0x1e1)][_0x1278e1(0x1ad)])),assertNoSharedPages(_0x369ce1,_0x3ae15b),assertCascadeMatchesPlan(_0x171a6e,_0x3ae15b);}catch(_0x205dc2){throw menuFailure(asMenuError(_0x205dc2),_0x171a6e,{'stage':_0x1278e1(0x1e8),'failed':{'id':_0x40ceb9}});}const _0x48aba9=_0x13c4b5[_0x1278e1(0x1e1)]['deleteOrder'];let _0x2bad0a;try{_0x2bad0a=await batchDeleteMenuEntities(_0x400113[_0x1278e1(0x1fb)],_0x48aba9);}catch(_0x232445){const _0x538a6d=mapMenuApiError(_0x232445,_0x1278e1(0x1d0)),_0x5cb214=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x402d06;try{_0x402d06=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x435f8c){const _0x59a659=describeMenuErrorCause(_0x435f8c,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x40ceb9);_0x5cb214['push'](_0x1278e1(0x1fa)+_0x59a659['causeCode']+_0x1278e1(0x1cb)+_0x59a659[_0x1278e1(0x1aa)]);throw menuFailure(_0x538a6d,_0x171a6e,{'stage':_0x1278e1(0x1b0),'failed':{'targetIds':_0x48aba9,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x59a659},'warnings':_0x5cb214,'verification':{'status':_0x1278e1(0x1a4),'lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}throw menuFailure(_0x538a6d,_0x171a6e,{'stage':_0x1278e1(0x1b0),'succeeded':_0x402d06[_0x1278e1(0x205)][_0x1278e1(0x1ef)](_0x2d1301=>({'id':_0x2d1301,'deleted':!![]})),'failed':{'targetIds':_0x48aba9,'absentIds':_0x402d06['absentIds'],'remainingIds':_0x402d06['remainingIds']},'warnings':_0x5cb214,'verification':verificationFromOutcome(_0x402d06)});}if(_0x2bad0a!==_0x48aba9['length']){const _0x5f5bf9=menuError(_0x1278e1(0x1d4),_0x1278e1(0x1f1)+_0x2bad0a+_0x1278e1(0x1ab)+_0x48aba9[_0x1278e1(0x210)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x28aa92=[_0x1278e1(0x1c7)];let _0x11e99f;try{_0x11e99f=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x5869f7){const _0x528604=describeMenuErrorCause(_0x5869f7,_0x1278e1(0x1a1),_0x40ceb9);_0x28aa92[_0x1278e1(0x1d5)](_0x1278e1(0x1a6)+_0x528604[_0x1278e1(0x217)]+_0x1278e1(0x1cb)+_0x528604[_0x1278e1(0x1aa)]);throw menuFailure(_0x5f5bf9,_0x171a6e,{'stage':_0x1278e1(0x1b0),'failed':{'targetIds':_0x48aba9,'expectedCount':_0x48aba9['length'],'reportedDeletedCount':_0x2bad0a,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x528604},'warnings':_0x28aa92,'verification':{'status':'failed','lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}throw menuFailure(_0x5f5bf9,_0x171a6e,{'stage':_0x1278e1(0x1b0),'succeeded':_0x11e99f[_0x1278e1(0x205)]['map'](_0x4e7896=>({'id':_0x4e7896,'deleted':!![]})),'failed':{'targetIds':_0x48aba9,'expectedCount':_0x48aba9[_0x1278e1(0x210)],'reportedDeletedCount':_0x2bad0a,'absentIds':_0x11e99f[_0x1278e1(0x205)],'remainingIds':_0x11e99f['remainingIds']},'warnings':_0x28aa92,'verification':verificationFromOutcome(_0x11e99f)});}let _0x410d26;try{_0x410d26=await readDeleteOutcome(_0x400113,_0x48aba9);}catch(_0x234ffa){const _0x28b8d=describeMenuErrorCause(_0x234ffa,'verify\x20batch\x20delete',_0x40ceb9),_0x94fba6=asVerificationError(_0x234ffa,'Batch\x20delete\x20request\x20for\x20menu\x20'+_0x40ceb9+_0x1278e1(0x202));throw menuFailure(_0x94fba6,_0x171a6e,{'stage':'verification','succeeded':_0x48aba9['map'](_0x1e0173=>({'id':_0x1e0173,'deleteRequested':!![]})),'failed':{'id':_0x40ceb9,'targetIds':_0x48aba9,'targetIdsAbsent':_0x1278e1(0x1ce),..._0x28b8d},'warnings':[_0x1278e1(0x1d6)],'verification':{'status':_0x1278e1(0x1a4),'lookupCommand':_0x1278e1(0x1f5),'targetIds':_0x48aba9}});}if(_0x410d26[_0x1278e1(0x1bb)]['length']>0x0){const _0x4efd27=menuError(_0x1278e1(0x215),_0x1278e1(0x1ed)+_0x410d26['remainingIds'][_0x1278e1(0x1be)](',\x20')+'.',_0x1278e1(0x1b2));throw menuFailure(_0x4efd27,_0x171a6e,{'stage':_0x1278e1(0x214),'succeeded':_0x48aba9['map'](_0x184673=>({'id':_0x184673,'deleteRequested':!![]})),'failed':{'id':_0x40ceb9,'targetIds':_0x48aba9,'absentIds':_0x410d26[_0x1278e1(0x205)],'remainingIds':_0x410d26[_0x1278e1(0x1bb)]},'warnings':[_0x1278e1(0x1b9)],'verification':verificationFromOutcome(_0x410d26)});}const _0x4024cc=_0x48aba9['map'](_0x12235c=>({'id':_0x12235c,'deleted':!![]})),_0x4c7c97=mutationResult({..._0x171a6e,'dryRun':![],'succeeded':_0x4024cc,'verification':{'checkedBy':_0x1278e1(0x20d),'plannedSnapshotHash':_0x171a6e['snapshotHash'],'finalSnapshotHash':_0x410d26[_0x1278e1(0x1b5)][_0x1278e1(0x1b4)],'reportedDeletedCount':_0x2bad0a,'targetAbsent':!_0x410d26[_0x1278e1(0x1b5)]['byId']['has'](_0x40ceb9),'allTargetsAbsent':!![],'targetIds':_0x48aba9}});return{'ok':!![],'data':_0x4c7c97,'message':_0x1278e1(0x1f8)+_0x4024cc[_0x1278e1(0x210)]+_0x1278e1(0x1a8)+_0x40ceb9+'.'};}};async function readDeleteOutcome(_0x2cb260,_0x31400c){const _0xdb65bf=a108_0x4a07ec,_0x3a1dde=await fetchMenuSnapshot(_0x2cb260[_0xdb65bf(0x1c3)],_0x2cb260[_0xdb65bf(0x1fb)]);return{'snapshot':_0x3a1dde,'absentIds':_0x31400c[_0xdb65bf(0x1f2)](_0x42801e=>!_0x3a1dde[_0xdb65bf(0x1e5)][_0xdb65bf(0x1a5)](_0x42801e)),'remainingIds':_0x31400c[_0xdb65bf(0x1f2)](_0x302db5=>_0x3a1dde[_0xdb65bf(0x1e5)][_0xdb65bf(0x1a5)](_0x302db5))};}function verificationFromOutcome(_0xe18ce9){const _0x4de9b6=a108_0x4a07ec;return{'checkedBy':_0x4de9b6(0x20d),'absentIds':_0xe18ce9['absentIds'],'remainingIds':_0xe18ce9[_0x4de9b6(0x1bb)]};}function validateDeleteDryRunInput(_0x46b29f){const _0x47b339=a108_0x4a07ec;validateExactId(_0x46b29f);if(!hasFlag(_0x46b29f,'plan-out')||!_0x46b29f['str'](_0x47b339(0x1d9))[_0x47b339(0x203)]())throw CliErrors['flagMissing'](_0x47b339(0x1d9),_0x47b339(0x1eb));if(hasFlag(_0x46b29f,'plan'))throw CliErrors[_0x47b339(0x1dd)](_0x47b339(0x1f3));}function validateDeleteExecuteInput(_0x2aa2ee){const _0x22c554=a108_0x4a07ec;if(!hasFlag(_0x2aa2ee,_0x22c554(0x1e1))||!_0x2aa2ee['str'](_0x22c554(0x1e1))[_0x22c554(0x203)]())throw CliErrors[_0x22c554(0x1a0)](_0x22c554(0x1e1),_0x22c554(0x1fc));const _0x317f7f=['id',_0x22c554(0x1ad),_0x22c554(0x1d9),_0x22c554(0x1cc),_0x22c554(0x20b),'expected-children-count'][_0x22c554(0x1f2)](_0x946893=>hasFlag(_0x2aa2ee,_0x946893));if(_0x317f7f[_0x22c554(0x210)]>0x0)throw CliErrors[_0x22c554(0x1dd)](_0x22c554(0x209)+_0x317f7f[_0x22c554(0x1ef)](_0x5a5441=>'--'+_0x5a5441)[_0x22c554(0x1be)](',\x20')+'.');}async function buildDeletePlan(_0xf225e4){const _0x488759=a108_0x4a07ec,_0x548b34=validateExactId(_0xf225e4),_0x480fd7=await fetchMutationSnapshot(_0xf225e4,_0x488759(0x1f4),_0x548b34),_0x83cd45=requireMenu(_0x480fd7,_0x548b34);assertExpectedState(_0xf225e4,_0x83cd45);const _0x28ea73=_0xf225e4[_0x488759(0x1e9)](_0x488759(0x1ad));let _0x4fadac;if(_0x28ea73){if(_0x83cd45['type'][_0x488759(0x203)]()[_0x488759(0x201)]()!==_0x488759(0x1f6))throw menuError(_0x488759(0x1e2),_0x488759(0x1d8)+_0x83cd45['id']+_0x488759(0x1bd)+(_0x83cd45[_0x488759(0x204)]||_0x488759(0x1ac))+'\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.');_0x4fadac=collectDeleteTargets(_0x480fd7,_0x83cd45),_0x4fadac[_0x488759(0x200)](_0x5e8a1a=>assertDeleteSafety(_0x5e8a1a,!![]));}else assertDeleteSafety(_0x83cd45),_0x4fadac=[_0x83cd45];assertNoSharedPages(_0x480fd7,_0x4fadac);const _0x34b821=_0x4fadac[_0x488759(0x1ef)](_0x3c2d5c=>_0x3c2d5c['id']),_0x499447=cascadeForTargets(_0x4fadac),_0x2a7eb7=_0x499447[_0x488759(0x1ca)][_0x488759(0x210)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':_0x488759(0x1a9),'selector':{'id':_0x548b34,'recursive':_0x28ea73},'before':_0x83cd45,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x488759(0x1df),'method':_0x488759(0x1a3),'path':_0x488759(0x1cd),'body':{'idList':_0x34b821}}],'targets':_0x4fadac,'deleteOrder':_0x34b821,'snapshotHash':_0x480fd7[_0x488759(0x1b4)],'cascade':_0x499447,'warnings':_0x2a7eb7});}function assertDeleteSafety(_0x3e4b44,_0x24fb97=![]){const _0x1f8bb5=a108_0x4a07ec,_0x1c8bd8=_0x3e4b44[_0x1f8bb5(0x204)]['trim']()[_0x1f8bb5(0x201)]()===_0x1f8bb5(0x1f6);if(_0x3e4b44['childrenCount']>0x0&&(!_0x24fb97||!_0x1c8bd8))throw menuError(_0x1f8bb5(0x1c5),_0x1f8bb5(0x1d8)+_0x3e4b44['id']+'\x20has\x20'+_0x3e4b44[_0x1f8bb5(0x1c9)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x3e4b44[_0x1f8bb5(0x1cf)][_0x1f8bb5(0x1be)](',\x20'));if(_0x1c8bd8&&_0x3e4b44[_0x1f8bb5(0x1e6)]!=null)throw menuError(_0x1f8bb5(0x1de),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+_0x1f8bb5(0x1e7)+_0x3e4b44[_0x1f8bb5(0x1e6)]+_0x1f8bb5(0x1ae),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x1c8bd8)return;if(!_0x3e4b44[_0x1f8bb5(0x1c0)])throw menuError(_0x1f8bb5(0x20e),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+_0x1f8bb5(0x1d7),_0x1f8bb5(0x1da));if(_0x3e4b44[_0x1f8bb5(0x1ee)][_0x1f8bb5(0x210)]>0x0)throw menuError(_0x1f8bb5(0x206),_0x1f8bb5(0x1a2)+_0x3e4b44['id']+'\x20still\x20references\x20'+_0x3e4b44[_0x1f8bb5(0x1ee)]['length']+_0x1f8bb5(0x1e4),_0x1f8bb5(0x1f9));}function a108_0xb4c9(_0x23de66,_0x2d9858){_0x23de66=_0x23de66-0x1a0;const _0x3c3ffb=a108_0x3c3f();let _0xb4c9f7=_0x3c3ffb[_0x23de66];return _0xb4c9f7;}function collectDeleteTargets(_0x3ba1bb,_0x506ff7){const _0x2bbfbd=[],_0x246c42=new Set(),_0x316f20=new Set(),_0x54502b=_0x346cd5=>{const _0x13c46a=a108_0xb4c9;if(_0x246c42[_0x13c46a(0x1a5)](_0x346cd5['id']))throw menuError('menu_tree_invalid','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x346cd5['id']+'.');if(_0x316f20['has'](_0x346cd5['id']))return;_0x246c42[_0x13c46a(0x212)](_0x346cd5['id']);for(const _0x1e1145 of _0x346cd5['childrenIds']){const _0x576823=_0x3ba1bb['byId'][_0x13c46a(0x1b8)](_0x1e1145);if(!_0x576823)throw menuError('menu_tree_invalid',_0x13c46a(0x1d8)+_0x346cd5['id']+_0x13c46a(0x216)+_0x1e1145+'.');_0x54502b(_0x576823);}_0x246c42[_0x13c46a(0x1a9)](_0x346cd5['id']),_0x316f20['add'](_0x346cd5['id']),_0x2bbfbd[_0x13c46a(0x1d5)](_0x346cd5);};return _0x54502b(_0x506ff7),_0x2bbfbd;}function assertDeleteTargetsComplete(_0x2da26b,_0x2810e2){const _0x124087=a108_0x4a07ec,_0x4ae977=requireMenu(_0x2810e2,_0x2da26b[_0x124087(0x1c6)]['id']);if(_0x2da26b[_0x124087(0x1ad)]&&_0x4ae977[_0x124087(0x204)]['trim']()[_0x124087(0x201)]()!==_0x124087(0x1f6))throw menuError(_0x124087(0x20f),_0x124087(0x208)+_0x4ae977['id']+_0x124087(0x20a));const _0x4e050c=_0x2da26b[_0x124087(0x1ad)]?collectDeleteTargets(_0x2810e2,_0x4ae977)['map'](_0x1ddb07=>_0x1ddb07['id']):[_0x4ae977['id']];if(JSON[_0x124087(0x1db)](_0x2da26b[_0x124087(0x1b3)])!==JSON[_0x124087(0x1db)](_0x4e050c))throw menuError(_0x124087(0x20f),_0x124087(0x207),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x1e1f1b,_0xfb2d36){const _0x1235c8=a108_0x4a07ec,_0x4e4950=new Set(_0xfb2d36[_0x1235c8(0x1ef)](_0x342855=>_0x342855['id'])),_0x20bdc6=new Set(_0xfb2d36[_0x1235c8(0x1ef)](_0x4f7377=>_0x4f7377['pageId'])[_0x1235c8(0x1f2)](_0x119432=>_0x119432!=null));if(_0x20bdc6[_0x1235c8(0x1ba)]===0x0)return;const _0x566530=_0x1e1f1b['menus'][_0x1235c8(0x1f2)](_0x5a66ba=>!_0x4e4950[_0x1235c8(0x1a5)](_0x5a66ba['id'])&&_0x5a66ba[_0x1235c8(0x1e6)]!=null&&_0x20bdc6['has'](_0x5a66ba[_0x1235c8(0x1e6)]));if(_0x566530[_0x1235c8(0x210)]===0x0)return;const _0x51c4a3=_0x566530[_0x1235c8(0x1ef)](_0x420c2d=>'page\x20'+_0x420c2d['pageId']+_0x1235c8(0x1d3)+_0x420c2d['id'])['join'](',\x20');throw menuError(_0x1235c8(0x213),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x51c4a3+'.',_0x1235c8(0x1d1));}function assertCascadeMatchesPlan(_0x56bcef,_0x39da93){const _0xabac73=a108_0x4a07ec,_0x1d759e=cascadeForTargets(_0x39da93);if(JSON[_0xabac73(0x1db)](_0x56bcef[_0xabac73(0x1f0)])!==JSON[_0xabac73(0x1db)](_0x1d759e))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x1a3803){const _0x3027f0=a108_0x4a07ec,_0xf940fc=_0x1a3803['map'](_0x3301f8=>_0x3301f8['pageId'])[_0x3027f0(0x1f2)](_0xc96f51=>_0xc96f51!=null)[_0x3027f0(0x1f2)]((_0x9606d2,_0x353d60,_0x10b401)=>_0x10b401['indexOf'](_0x9606d2)===_0x353d60);return{'pages':_0xf940fc,'pageSchemaAffected':_0xf940fc[_0x3027f0(0x210)]>0x0};}function asMenuError(_0x36e4d5){const _0x39c4aa=a108_0x4a07ec;return _0x36e4d5 instanceof CliError?_0x36e4d5:menuError(_0x39c4aa(0x20f),_0x36e4d5 instanceof Error?_0x36e4d5[_0x39c4aa(0x1ff)]:String(_0x36e4d5));}
|
|
1
|
+
const a108_0x42aa36=a108_0x36d9;(function(_0xba7495,_0xa96a23){const _0x4942c2=a108_0x36d9,_0x4df4da=_0xba7495();while(!![]){try{const _0x4a211c=parseInt(_0x4942c2(0xd6))/0x1+parseInt(_0x4942c2(0x87))/0x2*(parseInt(_0x4942c2(0x7f))/0x3)+parseInt(_0x4942c2(0xdf))/0x4*(parseInt(_0x4942c2(0xe3))/0x5)+-parseInt(_0x4942c2(0x84))/0x6+-parseInt(_0x4942c2(0x8a))/0x7+-parseInt(_0x4942c2(0xd3))/0x8+parseInt(_0x4942c2(0xca))/0x9;if(_0x4a211c===_0xa96a23)break;else _0x4df4da['push'](_0x4df4da['shift']());}catch(_0x42e5c7){_0x4df4da['push'](_0x4df4da['shift']());}}}(a108_0x248c,0x7b38d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a108_0x36d9(_0x49a947,_0x40890a){_0x49a947=_0x49a947-0x77;const _0x248c27=a108_0x248c();let _0x36d926=_0x248c27[_0x49a947];return _0x36d926;}import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a108_0x42aa36(0xbc)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x42aa36(0xe1)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x42aa36(0xf0),'type':a108_0x42aa36(0xbf),'description':a108_0x42aa36(0xc5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x42aa36(0xb8),'type':a108_0x42aa36(0x97),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a108_0x42aa36(0xee),'type':a108_0x42aa36(0x97),'description':a108_0x42aa36(0xc9)};export const menuDelete={'service':a108_0x42aa36(0xe2),'command':a108_0x42aa36(0x9e),'description':a108_0x42aa36(0xdc),'risk':a108_0x42aa36(0x95),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x489e38){const _0x47616d=a108_0x42aa36;_0x489e38['bool'](_0x47616d(0x8d))?validateDeleteDryRunInput(_0x489e38):validateDeleteExecuteInput(_0x489e38),requireExplicitYes(_0x489e38);},async 'dryRun'(_0x5b0537){const _0x28b8b1=a108_0x42aa36;validateDeleteDryRunInput(_0x5b0537);const _0x1918b3=await buildDeletePlan(_0x5b0537),_0x451a7f=createMenuDeletePlanFile(_0x5b0537[_0x28b8b1(0x9d)],_0x1918b3),_0xc48a93=await writeMenuDeletePlan(_0x5b0537['str']('plan-out'),_0x451a7f),_0x7e0a91=mutationResult({..._0x1918b3,'planFile':{'path':_0xc48a93,'createdAt':_0x451a7f['createdAt'],'expiresAt':_0x451a7f['expiresAt']}});return menuDryRunResult(_0x7e0a91,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x7e0a91[_0x28b8b1(0x9b)]},'description':_0x28b8b1(0xd4)+(_0x7e0a91[_0x28b8b1(0x9b)]?.[_0x28b8b1(0xc0)]??0x1)+_0x28b8b1(0x9a)+_0x7e0a91['selector']['id']+_0x28b8b1(0x8c)+_0xc48a93+'.'});},async 'execute'(_0x5219f2){const _0x41f997=a108_0x42aa36;requireExplicitYes(_0x5219f2),validateDeleteExecuteInput(_0x5219f2);const _0x4cbf8f=await readMenuDeletePlan(_0x5219f2[_0x41f997(0xd2)](_0x41f997(0xee))),_0x2bf237=mutationPlanFromDeleteFile(_0x4cbf8f[_0x41f997(0xee)],_0x4cbf8f['path']),_0x455d32=_0x4cbf8f['plan']['target']['id'];try{assertMenuDeletePlanExecutable(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)]);}catch(_0x47958e){throw menuFailure(asMenuError(_0x47958e),_0x2bf237,{'stage':_0x41f997(0x81),'failed':{'id':_0x455d32}});}let _0x809127,_0x292e84;try{_0x809127=await fetchMutationSnapshot(_0x5219f2,_0x41f997(0xe7),_0x455d32),_0x292e84=assertMenuDeletePlanCurrent(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)],_0x809127),assertDeleteTargetsComplete(_0x4cbf8f[_0x41f997(0xee)],_0x809127),_0x292e84[_0x41f997(0xac)](_0x1700ba=>assertDeleteSafety(_0x1700ba,_0x4cbf8f[_0x41f997(0xee)][_0x41f997(0xf0)])),assertNoSharedPages(_0x809127,_0x292e84),assertCascadeMatchesPlan(_0x2bf237,_0x292e84);}catch(_0x54f6df){throw menuFailure(asMenuError(_0x54f6df),_0x2bf237,{'stage':_0x41f997(0xe0),'failed':{'id':_0x455d32}});}const _0x3cfcaf=_0x4cbf8f[_0x41f997(0xee)]['deleteOrder'];let _0x1ffe1a;try{_0x1ffe1a=await batchDeleteMenuEntities(_0x5219f2[_0x41f997(0x92)],_0x3cfcaf);}catch(_0x1c1b5a){const _0x22072a=mapMenuApiError(_0x1c1b5a,_0x41f997(0xda)),_0x3cdafc=[_0x41f997(0xd1)];let _0x5a06ba;try{_0x5a06ba=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x3a5d03){const _0x1ac8e2=describeMenuErrorCause(_0x3a5d03,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x455d32);_0x3cdafc[_0x41f997(0x80)](_0x41f997(0xed)+_0x1ac8e2['causeCode']+'):\x20'+_0x1ac8e2[_0x41f997(0xa4)]);throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'failed':{'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x1ac8e2},'warnings':_0x3cdafc,'verification':{'status':_0x41f997(0x93),'lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x5a06ba['absentIds'][_0x41f997(0xa9)](_0x1157ea=>({'id':_0x1157ea,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'absentIds':_0x5a06ba['absentIds'],'remainingIds':_0x5a06ba[_0x41f997(0xd7)]},'warnings':_0x3cdafc,'verification':verificationFromOutcome(_0x5a06ba)});}if(_0x1ffe1a!==_0x3cfcaf[_0x41f997(0xc0)]){const _0xe2760c=menuError(_0x41f997(0xaa),'Backend\x20reported\x20'+_0x1ffe1a+'\x20deleted\x20menus;\x20expected\x20'+_0x3cfcaf[_0x41f997(0xc0)]+'.',_0x41f997(0x9c)),_0x40bc3e=[_0x41f997(0xd9)];let _0x56b86a;try{_0x56b86a=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x579562){const _0x527fc2=describeMenuErrorCause(_0x579562,_0x41f997(0x8e),_0x455d32);_0x40bc3e[_0x41f997(0x80)](_0x41f997(0x89)+_0x527fc2[_0x41f997(0xaf)]+_0x41f997(0xa0)+_0x527fc2[_0x41f997(0xa4)]);throw menuFailure(_0xe2760c,_0x2bf237,{'stage':'batch-delete','failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'targetIdsAbsent':_0x41f997(0x82),..._0x527fc2},'warnings':_0x40bc3e,'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0xe2760c,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x56b86a[_0x41f997(0xa6)][_0x41f997(0xa9)](_0x45351b=>({'id':_0x45351b,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'absentIds':_0x56b86a[_0x41f997(0xa6)],'remainingIds':_0x56b86a[_0x41f997(0xd7)]},'warnings':_0x40bc3e,'verification':verificationFromOutcome(_0x56b86a)});}let _0xeb7ae;try{_0xeb7ae=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x35b5e4){const _0x5c7de6=describeMenuErrorCause(_0x35b5e4,'verify\x20batch\x20delete',_0x455d32),_0x13ebe3=asVerificationError(_0x35b5e4,_0x41f997(0x83)+_0x455d32+_0x41f997(0xb0));throw menuFailure(_0x13ebe3,_0x2bf237,{'stage':'verification','succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x3b359c=>({'id':_0x3b359c,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x5c7de6},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}if(_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xc0)]>0x0){const _0x26a3dd=menuError(_0x41f997(0x90),_0x41f997(0xf1)+_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xbd)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x26a3dd,_0x2bf237,{'stage':_0x41f997(0xd8),'succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x5b26d9=>({'id':_0x5b26d9,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'absentIds':_0xeb7ae[_0x41f997(0xa6)],'remainingIds':_0xeb7ae[_0x41f997(0xd7)]},'warnings':[_0x41f997(0x8b)],'verification':verificationFromOutcome(_0xeb7ae)});}const _0x24c3c6=_0x3cfcaf[_0x41f997(0xa9)](_0x3209f3=>({'id':_0x3209f3,'deleted':!![]})),_0x2b762f=mutationResult({..._0x2bf237,'dryRun':![],'succeeded':_0x24c3c6,'verification':{'checkedBy':_0x41f997(0x98),'plannedSnapshotHash':_0x2bf237[_0x41f997(0x94)],'finalSnapshotHash':_0xeb7ae['snapshot'][_0x41f997(0xa2)],'reportedDeletedCount':_0x1ffe1a,'targetAbsent':!_0xeb7ae[_0x41f997(0x96)][_0x41f997(0xdb)][_0x41f997(0xb9)](_0x455d32),'allTargetsAbsent':!![],'targetIds':_0x3cfcaf}});return{'ok':!![],'data':_0x2b762f,'message':_0x41f997(0xc2)+_0x24c3c6[_0x41f997(0xc0)]+_0x41f997(0x9a)+_0x455d32+'.'};}};async function readDeleteOutcome(_0x51c05e,_0x4f804f){const _0x57d364=a108_0x42aa36,_0x476d3a=await fetchMenuSnapshot(_0x51c05e[_0x57d364(0x9d)],_0x51c05e[_0x57d364(0x92)]);return{'snapshot':_0x476d3a,'absentIds':_0x4f804f[_0x57d364(0xcf)](_0x306a8d=>!_0x476d3a['byId'][_0x57d364(0xb9)](_0x306a8d)),'remainingIds':_0x4f804f[_0x57d364(0xcf)](_0x152e0b=>_0x476d3a[_0x57d364(0xdb)]['has'](_0x152e0b))};}function verificationFromOutcome(_0x172b47){const _0xf493cc=a108_0x42aa36;return{'checkedBy':_0xf493cc(0x98),'absentIds':_0x172b47[_0xf493cc(0xa6)],'remainingIds':_0x172b47[_0xf493cc(0xd7)]};}function a108_0x248c(){const _0x3b92a6=['menu_tree_invalid','boolean','length','menu_page_shared','Deleted\x20','menu_delete_page_bound','childrenCount','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','menu_folder_has_resources','unknown','menu_plan_invalid','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','6736725nOawVN','resources','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','get','filter','plan\x20delete','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','str','3376064nTkgSd','Would\x20batch\x20delete\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','266286TFQhoS','remainingIds','verification','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','batch\x20delete','byId','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Recursive\x20menu\x20delete\x20plan\x20root\x20','resourcesValid','1867044vgkcSz','pre-write-plan-validation','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu','5WZVvmF','Folder\x20','batch-delete','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','execute\x20reviewed\x20delete\x20plan','\x20has\x20','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','expect-path','Post-failure\x20menu\x20readback\x20failed\x20(','plan','add','recursive','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20still\x20references\x20','\x20is\x20not\x20a\x20folder.','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','POST','rabetbase\x20menu\x20list\x20--format\x20json','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','34989rEmFOM','push','plan-validation','unconfirmed','Batch\x20delete\x20request\x20for\x20menu\x20','701172VaIWMh','type','validation','38HJExik','menu_folder_resources_invalid','Post-mismatch\x20menu\x20readback\x20failed\x20(','4617074ZZIhKQ','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.',';\x20execution\x20must\x20consume\x20','dry-run','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','target','menu_verification_failed','folder','cookie','failed','snapshotHash','high-risk-write','snapshot','string','menu\x20list','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','\x20menu(s)\x20under\x20exact\x20id\x20','deleteOrder','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','appCode','delete','trim','):\x20','menu_non_empty','hash','Menu\x20','causeMessage','pages','absentIds','toLowerCase','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','map','menu_batch_delete_count_mismatch','pageId','forEach','menus','stringify','causeCode','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','expected-children-count','cascade','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','batch-delete-menu','plan-out','has','size','childrenIds','/smartapi/menu/batchDelete','join'];a108_0x248c=function(){return _0x3b92a6;};return a108_0x248c();}function validateDeleteDryRunInput(_0x7438a9){const _0x3d3a4f=a108_0x42aa36;validateExactId(_0x7438a9);if(!hasFlag(_0x7438a9,_0x3d3a4f(0xb8))||!_0x7438a9['str'](_0x3d3a4f(0xb8))[_0x3d3a4f(0x9f)]())throw CliErrors['flagMissing']('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x7438a9,_0x3d3a4f(0xee)))throw CliErrors['validation']('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x2a0eee){const _0x2c8ccf=a108_0x42aa36;if(!hasFlag(_0x2a0eee,_0x2c8ccf(0xee))||!_0x2a0eee['str'](_0x2c8ccf(0xee))[_0x2c8ccf(0x9f)]())throw CliErrors['flagMissing'](_0x2c8ccf(0xee),_0x2c8ccf(0x99));const _0x4a79a7=['id',_0x2c8ccf(0xf0),'plan-out','expect-parent-id',_0x2c8ccf(0xec),_0x2c8ccf(0xb4)][_0x2c8ccf(0xcf)](_0x421147=>hasFlag(_0x2a0eee,_0x421147));if(_0x4a79a7[_0x2c8ccf(0xc0)]>0x0)throw CliErrors[_0x2c8ccf(0x86)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4a79a7[_0x2c8ccf(0xa9)](_0x3c3c74=>'--'+_0x3c3c74)[_0x2c8ccf(0xbd)](',\x20')+'.');}async function buildDeletePlan(_0x26f416){const _0x402484=a108_0x42aa36,_0x4744cd=validateExactId(_0x26f416),_0x10e05a=await fetchMutationSnapshot(_0x26f416,_0x402484(0xd0),_0x4744cd),_0x186c81=requireMenu(_0x10e05a,_0x4744cd);assertExpectedState(_0x26f416,_0x186c81);const _0x3c9ca8=_0x26f416['bool']('recursive');let _0x440d1a;if(_0x3c9ca8){if(_0x186c81[_0x402484(0x85)]['trim']()[_0x402484(0xa7)]()!==_0x402484(0x91))throw menuError('menu_recursive_requires_folder','Menu\x20'+_0x186c81['id']+_0x402484(0xe9)+(_0x186c81[_0x402484(0x85)]||_0x402484(0xc7))+_0x402484(0xe6));_0x440d1a=collectDeleteTargets(_0x10e05a,_0x186c81),_0x440d1a[_0x402484(0xac)](_0x83548e=>assertDeleteSafety(_0x83548e,!![]));}else assertDeleteSafety(_0x186c81),_0x440d1a=[_0x186c81];assertNoSharedPages(_0x10e05a,_0x440d1a);const _0x5cdea8=_0x440d1a[_0x402484(0xa9)](_0x3511c5=>_0x3511c5['id']),_0x286103=cascadeForTargets(_0x440d1a),_0x3cf8f5=_0x286103[_0x402484(0xa5)]['length']>0x0?[_0x402484(0x7e)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x4744cd,'recursive':_0x3c9ca8},'before':_0x186c81,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x402484(0xb7),'method':_0x402484(0x7c),'path':_0x402484(0xbc),'body':{'idList':_0x5cdea8}}],'targets':_0x440d1a,'deleteOrder':_0x5cdea8,'snapshotHash':_0x10e05a['hash'],'cascade':_0x286103,'warnings':_0x3cf8f5});}function assertDeleteSafety(_0x4ebabd,_0x412a95=![]){const _0x462534=a108_0x42aa36,_0x58d9ee=_0x4ebabd[_0x462534(0x85)]['trim']()['toLowerCase']()===_0x462534(0x91);if(_0x4ebabd[_0x462534(0xc4)]>0x0&&(!_0x412a95||!_0x58d9ee))throw menuError(_0x462534(0xa1),_0x462534(0xa3)+_0x4ebabd['id']+_0x462534(0xe8)+_0x4ebabd[_0x462534(0xc4)]+_0x462534(0xb2),_0x462534(0xb3)+_0x4ebabd['childrenIds'][_0x462534(0xbd)](',\x20'));if(_0x58d9ee&&_0x4ebabd[_0x462534(0xab)]!=null)throw menuError(_0x462534(0xc3),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xd5)+_0x4ebabd[_0x462534(0xab)]+_0x462534(0xea),_0x462534(0xb6));if(!_0x58d9ee)return;if(!_0x4ebabd[_0x462534(0xde)])throw menuError(_0x462534(0x88),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xeb),_0x462534(0xcd));if(_0x4ebabd[_0x462534(0xcb)]['length']>0x0)throw menuError(_0x462534(0xc6),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0x77)+_0x4ebabd['resources'][_0x462534(0xc0)]+'\x20resource\x20URL(s).',_0x462534(0x79));}function collectDeleteTargets(_0xd69062,_0x3212ed){const _0x3a3617=[],_0x47e2cd=new Set(),_0x4b25fd=new Set(),_0x112b6f=_0x4ee43a=>{const _0x3ae775=a108_0x36d9;if(_0x47e2cd['has'](_0x4ee43a['id']))throw menuError(_0x3ae775(0xbe),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x4ee43a['id']+'.');if(_0x4b25fd[_0x3ae775(0xb9)](_0x4ee43a['id']))return;_0x47e2cd[_0x3ae775(0xef)](_0x4ee43a['id']);for(const _0x57ad91 of _0x4ee43a[_0x3ae775(0xbb)]){const _0x48af25=_0xd69062['byId'][_0x3ae775(0xce)](_0x57ad91);if(!_0x48af25)throw menuError(_0x3ae775(0xbe),_0x3ae775(0xa3)+_0x4ee43a['id']+'\x20references\x20missing\x20child\x20'+_0x57ad91+'.');_0x112b6f(_0x48af25);}_0x47e2cd[_0x3ae775(0x9e)](_0x4ee43a['id']),_0x4b25fd['add'](_0x4ee43a['id']),_0x3a3617['push'](_0x4ee43a);};return _0x112b6f(_0x3212ed),_0x3a3617;}function assertDeleteTargetsComplete(_0x2ba81c,_0x491779){const _0x171534=a108_0x42aa36,_0x4b79bd=requireMenu(_0x491779,_0x2ba81c[_0x171534(0x8f)]['id']);if(_0x2ba81c[_0x171534(0xf0)]&&_0x4b79bd[_0x171534(0x85)][_0x171534(0x9f)]()[_0x171534(0xa7)]()!==_0x171534(0x91))throw menuError(_0x171534(0xc8),_0x171534(0xdd)+_0x4b79bd['id']+_0x171534(0x78));const _0x2f0027=_0x2ba81c['recursive']?collectDeleteTargets(_0x491779,_0x4b79bd)[_0x171534(0xa9)](_0x2eae37=>_0x2eae37['id']):[_0x4b79bd['id']];if(JSON[_0x171534(0xae)](_0x2ba81c[_0x171534(0x9b)])!==JSON[_0x171534(0xae)](_0x2f0027))throw menuError('menu_plan_invalid',_0x171534(0xa8),_0x171534(0x7b));}function assertNoSharedPages(_0x545fff,_0x1c1d8f){const _0x3f7daf=a108_0x42aa36,_0x2c9a92=new Set(_0x1c1d8f['map'](_0x244fbb=>_0x244fbb['id'])),_0x32f1f2=new Set(_0x1c1d8f[_0x3f7daf(0xa9)](_0xa54085=>_0xa54085[_0x3f7daf(0xab)])[_0x3f7daf(0xcf)](_0x588d84=>_0x588d84!=null));if(_0x32f1f2[_0x3f7daf(0xba)]===0x0)return;const _0x2b5aeb=_0x545fff[_0x3f7daf(0xad)]['filter'](_0x3239a0=>!_0x2c9a92[_0x3f7daf(0xb9)](_0x3239a0['id'])&&_0x3239a0[_0x3f7daf(0xab)]!=null&&_0x32f1f2[_0x3f7daf(0xb9)](_0x3239a0[_0x3f7daf(0xab)]));if(_0x2b5aeb[_0x3f7daf(0xc0)]===0x0)return;const _0x3f5cb8=_0x2b5aeb[_0x3f7daf(0xa9)](_0x3d0e25=>'page\x20'+_0x3d0e25['pageId']+'\x20->\x20menu\x20'+_0x3d0e25['id'])['join'](',\x20');throw menuError(_0x3f7daf(0xc1),_0x3f7daf(0x7a)+_0x3f5cb8+'.',_0x3f7daf(0xb1));}function assertCascadeMatchesPlan(_0x9ec973,_0x1c2101){const _0x1e05a8=a108_0x42aa36,_0x499d5b=cascadeForTargets(_0x1c2101);if(JSON['stringify'](_0x9ec973[_0x1e05a8(0xb5)])!==JSON[_0x1e05a8(0xae)](_0x499d5b))throw menuError(_0x1e05a8(0xc8),_0x1e05a8(0xcc));}function cascadeForTargets(_0x5c5705){const _0x38ed86=a108_0x42aa36,_0x944734=_0x5c5705['map'](_0x19f16e=>_0x19f16e[_0x38ed86(0xab)])[_0x38ed86(0xcf)](_0x3f48c6=>_0x3f48c6!=null)[_0x38ed86(0xcf)]((_0x230a5e,_0x512d8e,_0x101a07)=>_0x101a07['indexOf'](_0x230a5e)===_0x512d8e);return{'pages':_0x944734,'pageSchemaAffected':_0x944734[_0x38ed86(0xc0)]>0x0};}function asMenuError(_0x16974f){const _0x41320c=a108_0x42aa36;return _0x16974f instanceof CliError?_0x16974f:menuError(_0x41320c(0xc8),_0x16974f instanceof Error?_0x16974f['message']:String(_0x16974f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x4a22bb=a109_0xa36e;(function(_0x2c7f8c,_0x1755ed){const _0x3f8198=a109_0xa36e,_0x28f745=_0x2c7f8c();while(!![]){try{const _0x82cb28=parseInt(_0x3f8198(0x156))/0x1*(parseInt(_0x3f8198(0x16c))/0x2)+parseInt(_0x3f8198(0x139))/0x3+parseInt(_0x3f8198(0xfc))/0x4+parseInt(_0x3f8198(0x113))/0x5+parseInt(_0x3f8198(0x13b))/0x6*(-parseInt(_0x3f8198(0x128))/0x7)+parseInt(_0x3f8198(0x15a))/0x8+-parseInt(_0x3f8198(0xf2))/0x9;if(_0x82cb28===_0x1755ed)break;else _0x28f745['push'](_0x28f745['shift']());}catch(_0x147a0e){_0x28f745['push'](_0x28f745['shift']());}}}(a109_0x110f,0x81d8b));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a109_0x4a22bb(0x122),'new-window':a109_0x4a22bb(0x17e)};export function validateExternalMenuUrl(_0xefd5f7){const _0x2226c3=a109_0x4a22bb,_0x4ff90e=_0xefd5f7[_0x2226c3(0x14b)]();let _0x1525ce;try{_0x1525ce=new URL(_0x4ff90e);}catch{throw menuError('menu_url_invalid',_0x2226c3(0x158),'Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x1525ce[_0x2226c3(0x10e)]!==_0x2226c3(0x166))throw menuError(_0x2226c3(0x109),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x1525ce[_0x2226c3(0x157)]||_0x1525ce[_0x2226c3(0x144)])throw menuError(_0x2226c3(0x155),_0x2226c3(0x117),_0x2226c3(0x12a));return _0x4ff90e;}export const menuExternalLinkCreate={'service':'menu','command':a109_0x4a22bb(0x13c),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a109_0x4a22bb(0x14c),'structuredErrors':!![],'flags':[{'name':a109_0x4a22bb(0x136),'type':a109_0x4a22bb(0x151),'required':!![],'description':a109_0x4a22bb(0x12b)},{'name':'open-mode','type':'string','required':!![],'enum':[a109_0x4a22bb(0x172),a109_0x4a22bb(0x183)],'description':a109_0x4a22bb(0xf5)},{'name':a109_0x4a22bb(0xf9),'type':'string','required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x4a22bb(0x163),'type':a109_0x4a22bb(0x11d),'default':!![],'description':a109_0x4a22bb(0x121)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xabcc3d){validateAddInput(_0xabcc3d);},async 'dryRun'(_0x1e2d77){const _0x21ad79=a109_0x4a22bb;validateAddInput(_0x1e2d77);const {plan:_0x516833}=await buildSafeAddPlan(_0x1e2d77,!![]),_0x2745aa=_0x516833[_0x21ad79(0x15e)],_0x2ace42=createBody(_0x2745aa);return menuDryRunResult(_0x516833,{'method':'POST','url':'/smartapi/menu/create','body':_0x2ace42,'description':_0x21ad79(0x14d)+JSON[_0x21ad79(0x177)](_0x2745aa[_0x21ad79(0x136)])+_0x21ad79(0x112)+_0x1e2d77[_0x21ad79(0x132)](_0x21ad79(0xf6))+_0x21ad79(0x15c)});},async 'execute'(_0x36a2f6){const _0xd739f7=a109_0x4a22bb;validateAddInput(_0x36a2f6);const _0x59d952=await buildSafeAddPlan(_0x36a2f6,![]),{plan:_0x36ceef,snapshot:_0x41bcb4}=_0x59d952,_0x5eee05=_0x36ceef[_0xd739f7(0x15e)],_0x521c91=buildMenuLookupCommand(_0x36a2f6[_0xd739f7(0xfb)]);await recheckAddSnapshot(_0x36a2f6,_0x36ceef);let _0xd14b91;try{_0xd14b91=await createMenuEntity(_0x36a2f6[_0xd739f7(0xfb)],_0x36a2f6[_0xd739f7(0x126)],createBody(_0x5eee05));}catch(_0x2d8078){const _0x58c397=mapMenuApiError(_0x2d8078,_0xd739f7(0x160));if(!isMenuResponseLoss(_0x2d8078)||_0x58c397[_0xd739f7(0x10d)]===_0xd739f7(0xf0))throw externalLinkCreateFailure(_0x58c397,_0x36ceef,{'stage':_0xd739f7(0x180),'failed':{},'verification':{'status':_0xd739f7(0x11b),'lookupCommand':_0x521c91}});return recoverAfterResponseLoss(_0x36a2f6,_0x59d952,_0x521c91);}const _0x33b391=Number(_0xd14b91?.['id']),_0x24dfc7=typeof _0xd14b91?.['path']===_0xd739f7(0x151)?_0xd14b91[_0xd739f7(0x165)]:'';if(!Number[_0xd739f7(0x159)](_0x33b391)||_0x33b391<=0x0||!_0x24dfc7['trim']()){const _0x476a6a=menuError('menu_create_response_invalid',_0xd739f7(0x16d),'Run\x20'+_0x521c91+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x476a6a,_0x36ceef,{'stage':_0xd739f7(0x110),'succeeded':Number['isSafeInteger'](_0x33b391)&&_0x33b391>0x0?[{'id':_0x33b391,'created':!![]}]:[],'failed':{'createdId':Number[_0xd739f7(0x159)](_0x33b391)?_0x33b391:null,'generatedPathConfirmed':Boolean(_0x24dfc7['trim']())},'warnings':[_0xd739f7(0xfa)],'after':Number['isSafeInteger'](_0x33b391)&&_0x33b391>0x0?{..._0x5eee05,'id':_0x33b391,'path':_0x24dfc7}:_0x5eee05,'verification':{'status':_0xd739f7(0x11b),'lookupCommand':_0x521c91,...Number[_0xd739f7(0x159)](_0x33b391)&&_0x33b391>0x0?{'targetId':_0x33b391}:{}}});}const _0x1693c9=await readAndVerifyCreatedMenu({'appCode':_0x36a2f6[_0xd739f7(0xfb)],'cookie':_0x36a2f6[_0xd739f7(0x126)],'plan':_0x36ceef,'afterPlan':_0x5eee05,'createdId':_0x33b391,'expectedPath':_0x24dfc7,'lookupCommand':_0x521c91,'recovered':![]});return creationSuccess(_0x36ceef,_0x1693c9[_0xd739f7(0x12e)],_0x1693c9['fact'],![]);}};function validateAddInput(_0x3a219c){const _0x155967=a109_0x4a22bb;if(!_0x3a219c[_0x155967(0x132)](_0x155967(0x136))['trim']())throw CliErrors[_0x155967(0x103)](_0x155967(0x136));resolveExternalMenuType(_0x3a219c),validateExternalMenuUrl(_0x3a219c['str'](_0x155967(0xf9))),parseParentId(_0x3a219c,'parent-id'),validateSort(_0x3a219c);}function resolveExternalMenuType(_0x78a0bd){const _0x56e6b0=a109_0x4a22bb,_0x157f63=_0x78a0bd[_0x56e6b0(0x132)](_0x56e6b0(0xf6))[_0x56e6b0(0x14b)]();if(!_0x157f63)throw CliErrors[_0x56e6b0(0x103)]('open-mode');const _0x14a404=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x157f63];if(!_0x14a404)throw menuError(_0x56e6b0(0x100),_0x56e6b0(0x171),_0x56e6b0(0x130));return _0x14a404;}async function buildAddPlan(_0x193392,_0x4ff97e){const _0x2734c2=a109_0x4a22bb,_0x2c65b1=await fetchMutationSnapshot(_0x193392,_0x2734c2(0x160)),_0xae3942=parseParentId(_0x193392,_0x2734c2(0x174))??null;if(_0xae3942!=null)requireFolder(_0x2c65b1,_0xae3942);const _0x9d48d2=validateSort(_0x193392),_0x1aaf56=_0x9d48d2??nextSiblingSort(_0x2c65b1,_0xae3942,'menu'),_0x26c99a=_0x193392[_0x2734c2(0x132)](_0x2734c2(0x136))[_0x2734c2(0x14b)](),_0x84277d=resolveExternalMenuType(_0x193392),_0x157e39=validateExternalMenuUrl(_0x193392[_0x2734c2(0x132)]('url')),_0x253514=Object['prototype'][_0x2734c2(0x153)][_0x2734c2(0x17c)](_0x193392[_0x2734c2(0x181)],_0x2734c2(0x163))?_0x193392[_0x2734c2(0x13e)]('visible'):!![],_0x4b9baa={'id':null,'parentId':_0xae3942,'label':_0x26c99a,'path':_0x2734c2(0x14f),'url':_0x157e39,'type':_0x84277d,'visible':_0x253514,'sort':_0x1aaf56},_0x132d33=buildMenuLookupCommand(_0x193392[_0x2734c2(0xfb)]),_0x2b33f9=mutationResult({'operation':_0x2734c2(0x152),'selector':{'parentId':_0xae3942,'type':_0x84277d,'label':_0x26c99a,'url':_0x157e39},'before':null,'after':_0x4b9baa,'dryRun':_0x4ff97e,'backend':[{'method':'POST','path':_0x2734c2(0x15b)}],'plannedActions':[{'stage':_0x2734c2(0x10c),'method':_0x2734c2(0x138),'path':_0x2734c2(0x15b),'body':createBody(_0x4b9baa)}],'snapshotHash':_0x2c65b1[_0x2734c2(0x137)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x132d33}});return{'plan':_0x2b33f9,'snapshot':_0x2c65b1};}async function buildSafeAddPlan(_0x526ef8,_0x41877e){try{return await buildAddPlan(_0x526ef8,_0x41877e);}catch(_0x5d6c61){throw safeMenuAddError(_0x5d6c61);}}async function recheckAddSnapshot(_0x15989f,_0x72966){const _0x2a4d22=a109_0x4a22bb;try{await recheckMutationSnapshot(_0x15989f,_0x72966,_0x2a4d22(0x160));}catch(_0x32ae58){const _0x1e81e4=getFailureRecord(_0x32ae58);throw externalLinkCreateFailure(_0x32ae58,_0x72966,{'stage':_0x2a4d22(0xf1),'failed':{..._0x1e81e4?.[_0x2a4d22(0x116)]?{'expectedSnapshotHash':_0x1e81e4[_0x2a4d22(0x116)]}:{},..._0x1e81e4?.[_0x2a4d22(0x143)]?{'currentSnapshotHash':_0x1e81e4[_0x2a4d22(0x143)]}:{}}});}}function createBody(_0x4573bb){const _0x21a55b=a109_0x4a22bb;return{'parentId':toApiParentId(_0x4573bb[_0x21a55b(0x105)]),'label':String(_0x4573bb[_0x21a55b(0x136)]),'type':String(_0x4573bb[_0x21a55b(0x184)]),'url':String(_0x4573bb['url']),'visible':Boolean(_0x4573bb[_0x21a55b(0x163)]),'sort':Number(_0x4573bb[_0x21a55b(0x17d)]),'extend':{}};}function a109_0xa36e(_0x4d80a2,_0x3aa92d){_0x4d80a2=_0x4d80a2-0xf0;const _0x110fe3=a109_0x110f();let _0xa36e1f=_0x110fe3[_0x4d80a2];return _0xa36e1f;}function buildMenuLookupCommand(_0x9aae23){const _0x580250=a109_0x4a22bb,_0x6f0aa8='\x27'+_0x9aae23[_0x580250(0xfd)](/'/g,_0x580250(0x170))+'\x27';return _0x580250(0x118)+_0x6f0aa8+_0x580250(0x146);}async function recoverAfterResponseLoss(_0x4be1b1,_0x360e37,_0x4a3db5){const _0x231787=a109_0x4a22bb,{plan:_0x1f7f57,snapshot:_0x45ca28}=_0x360e37,_0x45959b=_0x1f7f57[_0x231787(0x15e)];let _0x2d205c;try{_0x2d205c=await fetchMenuSnapshot(_0x4be1b1[_0x231787(0xfb)],_0x4be1b1[_0x231787(0x126)]);}catch(_0xf7f8ee){throw recoveryRequiredFailure(_0x1f7f57,_0x4a3db5,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x2a9f15=_0x2d205c[_0x231787(0x104)]['filter'](_0x465438=>_0x465438[_0x231787(0x105)]===_0x45959b[_0x231787(0x105)]&&_0x465438[_0x231787(0x184)]===_0x45959b[_0x231787(0x184)]&&_0x465438[_0x231787(0x136)]===_0x45959b['label']&&_0x465438[_0x231787(0xf9)]===_0x45959b[_0x231787(0xf9)]),_0x1319d6=_0x2a9f15[_0x231787(0x115)](_0x41af08=>!_0x45ca28[_0x231787(0x123)][_0x231787(0x11c)](_0x41af08['id'])),_0x2fcf93=_0x2a9f15[_0x231787(0x115)](_0x21ebdc=>_0x45ca28[_0x231787(0x123)][_0x231787(0x11c)](_0x21ebdc['id']));if(_0x2a9f15['length']!==0x1||_0x1319d6[_0x231787(0x148)]!==0x1)throw recoveryRequiredFailure(_0x1f7f57,_0x4a3db5,{'matchCount':_0x2a9f15[_0x231787(0x148)],'newMatchCount':_0x1319d6[_0x231787(0x148)],'preexistingMatchCount':_0x2fcf93[_0x231787(0x148)]});const _0x378027=_0x1319d6[0x0];try{verifyCreatedFact(_0x378027,_0x378027['id'],_0x45959b,null);}catch(_0x3cf816){const _0x540ce4=_0x3cf816 instanceof Error&&_0x231787(0x10d)in _0x3cf816?_0x3cf816:menuError(_0x231787(0x147),_0x231787(0x16f)+_0x378027['id']+_0x231787(0x15d),_0x231787(0x127)+_0x4a3db5+_0x231787(0x16a));throw externalLinkCreateFailure(_0x540ce4,_0x1f7f57,{'stage':_0x231787(0x149),'succeeded':[{'id':_0x378027['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x378027['id'],'finalFactsConfirmed':![]},'after':_0x378027,'warnings':[_0x231787(0x12d)+_0x378027['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x231787(0x11b),'targetId':_0x378027['id'],'recovered':!![],'lookupCommand':_0x4a3db5}});}return creationSuccess(_0x1f7f57,_0x2d205c,_0x378027,!![]);}function recoveryRequiredFailure(_0x4ce771,_0x1d32da,_0x2a7009){const _0xa83183=a109_0x4a22bb,_0x1e65a5=menuError(_0xa83183(0x14a),_0xa83183(0x11a),_0xa83183(0x127)+_0x1d32da+_0xa83183(0x150));return externalLinkCreateFailure(_0x1e65a5,_0x4ce771,{'stage':_0xa83183(0x107),'failed':_0x2a7009,'warnings':[_0xa83183(0x17f)],'verification':{'status':_0xa83183(0x11b),..._0x2a7009,'lookupCommand':_0x1d32da}});}async function readAndVerifyCreatedMenu(_0x16fa0a){const _0x1677e1=a109_0x4a22bb;let _0x3c0b8f;try{_0x3c0b8f=await fetchMenuSnapshot(_0x16fa0a[_0x1677e1(0xfb)],_0x16fa0a[_0x1677e1(0x126)]);}catch(_0x26cb1f){const _0x218b34=menuError(_0x1677e1(0x147),_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x133),'Run\x20'+_0x16fa0a[_0x1677e1(0x168)]+_0x1677e1(0x13f));throw externalLinkCreateFailure(_0x218b34,_0x16fa0a[_0x1677e1(0x167)],{'stage':_0x1677e1(0x149),'succeeded':[{'id':_0x16fa0a['createdId'],'created':!![]}],'failed':{'id':_0x16fa0a['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x16fa0a[_0x1677e1(0x173)],'id':_0x16fa0a['createdId'],'path':_0x16fa0a[_0x1677e1(0x14e)]},'warnings':[_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x10f)],'verification':{'status':_0x1677e1(0x11b),'targetId':_0x16fa0a[_0x1677e1(0x131)],'lookupCommand':_0x16fa0a[_0x1677e1(0x168)]}});}const _0xa86257=_0x3c0b8f['byId'][_0x1677e1(0x145)](_0x16fa0a[_0x1677e1(0x131)]);try{if(!_0xa86257)throw menuError(_0x1677e1(0x147),_0x1677e1(0x101)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x106),_0x1677e1(0x127)+_0x16fa0a[_0x1677e1(0x168)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0xa86257,_0x16fa0a['createdId'],_0x16fa0a['afterPlan'],_0x16fa0a['expectedPath']);}catch(_0x2cb393){const _0x3a698f=_0x2cb393 instanceof Error&&_0x1677e1(0x10d)in _0x2cb393?_0x2cb393:menuError(_0x1677e1(0x147),_0x1677e1(0x101)+_0x16fa0a[_0x1677e1(0x131)]+_0x1677e1(0x108),_0x1677e1(0x127)+_0x16fa0a[_0x1677e1(0x168)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x3a698f,_0x16fa0a[_0x1677e1(0x167)],{'stage':_0x1677e1(0x149),'succeeded':[{'id':_0x16fa0a[_0x1677e1(0x131)],'created':!![]}],'failed':{'id':_0x16fa0a[_0x1677e1(0x131)],'finalFactsConfirmed':![]},'after':_0xa86257??{..._0x16fa0a['afterPlan'],'id':_0x16fa0a[_0x1677e1(0x131)],'path':_0x16fa0a['expectedPath']},'warnings':[_0x1677e1(0x12d)+_0x16fa0a[_0x1677e1(0x131)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x1677e1(0x11b),'targetId':_0x16fa0a[_0x1677e1(0x131)],'recovered':_0x16fa0a[_0x1677e1(0x169)],'lookupCommand':_0x16fa0a[_0x1677e1(0x168)]}});}return{'snapshot':_0x3c0b8f,'fact':_0xa86257};}function verifyCreatedFact(_0x2c893a,_0x5e7055,_0x2b46ab,_0x2a4dbb){const _0x483a29=a109_0x4a22bb;if(!Number[_0x483a29(0x159)](_0x2c893a['id'])||_0x2c893a['id']<=0x0||_0x2c893a['id']!==_0x5e7055)throw menuError(_0x483a29(0x147),_0x483a29(0x134),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x596dde=[['parent',_0x2c893a[_0x483a29(0x105)],_0x2b46ab[_0x483a29(0x105)]],[_0x483a29(0x184),_0x2c893a[_0x483a29(0x184)],_0x2b46ab['type']],[_0x483a29(0x136),_0x2c893a[_0x483a29(0x136)],_0x2b46ab[_0x483a29(0x136)]],['URL',_0x2c893a[_0x483a29(0xf9)],_0x2b46ab[_0x483a29(0xf9)]],[_0x483a29(0x124),_0x2c893a[_0x483a29(0x163)],_0x2b46ab[_0x483a29(0x163)]],[_0x483a29(0x17d),_0x2c893a[_0x483a29(0x17d)],_0x2b46ab[_0x483a29(0x17d)]]];for(const [_0xbfb24a,_0x53fb33,_0x821dc9]of _0x596dde){if(_0x53fb33!==_0x821dc9)throw menuError(_0x483a29(0x147),_0x483a29(0x101)+_0x2c893a['id']+_0x483a29(0x154)+_0xbfb24a+'.',_0x483a29(0xff));}if(!_0x2c893a[_0x483a29(0x165)][_0x483a29(0x14b)]()||_0x2a4dbb!==null&&_0x2c893a['path']!==_0x2a4dbb)throw menuError(_0x483a29(0x147),_0x483a29(0x101)+_0x2c893a['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x483a29(0xff));}function creationSuccess(_0x12dea3,_0x565f1b,_0x20d1e7,_0x3ce356){const _0x547d6f=a109_0x4a22bb,_0x20b52a=mutationResult({..._0x12dea3,'after':_0x20d1e7,'dryRun':![],'succeeded':[{'id':_0x20d1e7['id'],'created':!![],'recovered':_0x3ce356}],'verification':{'checkedBy':_0x547d6f(0xf8),'snapshotHash':_0x565f1b[_0x547d6f(0x137)],'targetId':_0x20d1e7['id'],'recovered':_0x3ce356,'path':_0x20d1e7['path']}});return{'ok':!![],'message':_0x3ce356?'Recovered\x20created\x20external\x20menu\x20'+_0x20d1e7['id']+_0x547d6f(0x15f):_0x547d6f(0x135)+_0x20d1e7['id']+'.','data':{..._0x20b52a,'recovered':_0x3ce356}};}function externalLinkCreateFailure(_0x45de62,_0x82a001,_0x37762a){const _0x1d097b=a109_0x4a22bb;return menuFailure(safeMenuAddError(_0x45de62),redactFailurePlan(_0x82a001),{..._0x37762a,'succeeded':_0x37762a[_0x1d097b(0x120)]?.['map'](redactFailureRecord),'failed':_0x37762a[_0x1d097b(0x11b)]?redactFailureRecord(_0x37762a[_0x1d097b(0x11b)]):undefined,'verification':_0x37762a['verification']?redactFailureRecord(_0x37762a['verification']):undefined,'after':_0x37762a['after']===undefined?undefined:redactFailureValue(_0x37762a[_0x1d097b(0x15e)])});}function redactFailurePlan(_0x2f048c){const _0x333102=a109_0x4a22bb;return{..._0x2f048c,'selector':redactFailureRecord(_0x2f048c[_0x333102(0x17b)]),'before':redactFailureValue(_0x2f048c['before']),'after':redactFailureValue(_0x2f048c[_0x333102(0x15e)]),'plannedActions':_0x2f048c[_0x333102(0x142)]?.['map'](_0x120591=>({..._0x120591,'body':redactFailureRecord(_0x120591[_0x333102(0x10a)])})),'succeeded':_0x2f048c[_0x333102(0x120)][_0x333102(0x13a)](redactFailureRecord),'failed':_0x2f048c['failed'][_0x333102(0x13a)](redactFailureRecord),'verification':_0x2f048c[_0x333102(0x149)]?redactFailureRecord(_0x2f048c[_0x333102(0x149)]):undefined};}function redactFailureRecord(_0x5ecc57){return redactFailureValue(_0x5ecc57);}function redactFailureValue(_0x513630,_0xca9294=''){const _0x4fcd6f=a109_0x4a22bb,_0x4f1ec7=_0xca9294[_0x4fcd6f(0x162)]()['replace'](/[^a-z0-9]/g,'');if([_0x4fcd6f(0x102),_0x4fcd6f(0x16b),_0x4fcd6f(0x10b),_0x4fcd6f(0xf7)][_0x4fcd6f(0x11f)](_0x4f1ec7))return _0x4fcd6f(0x17a);if(Array[_0x4fcd6f(0x182)](_0x513630))return _0x513630[_0x4fcd6f(0x13a)](_0x14ace0=>redactFailureValue(_0x14ace0));if(_0x513630&&typeof _0x513630==='object')return Object[_0x4fcd6f(0xf4)](Object[_0x4fcd6f(0x176)](_0x513630)['map'](([_0x5e5afc,_0x489cf8])=>[_0x5e5afc,redactFailureValue(_0x489cf8,_0x5e5afc)]));return _0x513630;}function safeMenuAddError(_0x4e35ae){const _0x524bfb=a109_0x4a22bb,_0x254e67=_0x4e35ae instanceof CliError?_0x4e35ae[_0x524bfb(0x10d)]:'menu_mutation_failed';switch(_0x254e67){case _0x524bfb(0x13d):return menuError(_0x254e67,_0x524bfb(0x179),_0x524bfb(0x178));case _0x524bfb(0xf0):return menuError(_0x254e67,_0x524bfb(0xfe),_0x524bfb(0x12f));case _0x524bfb(0x125):return menuError(_0x254e67,_0x524bfb(0x114),_0x524bfb(0x16e));case _0x524bfb(0x147):return menuError(_0x254e67,_0x524bfb(0x141),_0x524bfb(0x16e));case _0x524bfb(0x14a):return menuError(_0x254e67,_0x524bfb(0x161),_0x524bfb(0x119));case _0x524bfb(0x129):case'menu_not_found':case _0x524bfb(0xf3):case _0x524bfb(0x140):case _0x524bfb(0x175):return menuError(_0x254e67,_0x524bfb(0x11e),_0x524bfb(0x164));default:return menuError(_0x524bfb(0x129),_0x524bfb(0x11e),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1d4abd){const _0x35db2e=a109_0x4a22bb;if(!(_0x1d4abd instanceof Error)||!(_0x35db2e(0x111)in _0x1d4abd))return undefined;const _0x427969=_0x1d4abd['data'];if(!_0x427969||typeof _0x427969!==_0x35db2e(0x12c))return undefined;const _0x121335=_0x427969[_0x35db2e(0x11b)];if(!Array[_0x35db2e(0x182)](_0x121335)||!_0x121335[0x0]||typeof _0x121335[0x0]!==_0x35db2e(0x12c))return undefined;return _0x121335[0x0];}function a109_0x110f(){const _0x19eab6=['<redacted>','selector','call','sort','link','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','create','rawFlags','isArray','new-window','type','menu_permission_denied','pre-write-recheck','8997300QXPAZk','menu_parent_not_folder','fromEntries','How\x20to\x20open\x20the\x20external\x20website','open-mode','rawerror','menu\x20list','url','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','appCode','3059448osJmqW','replace','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','menu_open_mode_invalid','Created\x20menu\x20','cause','flagMissing','menus','parentId','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','create-recovery','\x20failed\x20final\x20verification.','menu_url_https_required','body','readbackerror','create-menu','code','protocol','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','create-response-validation','data','\x20with\x20','3553055WwFAZv','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','filter','expectedSnapshotHash','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','rabetbase\x20menu\x20list\x20--appcode\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','failed','has','boolean','External\x20menu\x20creation\x20failed.','includes','succeeded','Whether\x20the\x20menu\x20is\x20visible','iframe','byId','visibility','menu_create_response_invalid','cookie','Run\x20','18263xoFJEf','menu_mutation_failed','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Menu\x20label','object','Menu\x20','snapshot','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','createdId','str','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Created\x20external\x20menu\x20','label','hash','POST','610239TEEVfb','map','966dCgThb','external-link-create','menu_state_drift','bool','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','menu_sort_invalid','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','plannedActions','currentSnapshotHash','password','get','\x20--format\x20compress','menu_verification_failed','length','verification','menu_create_recovery_required','trim','write','Would\x20create\x20external\x20website\x20link\x20menu\x20','expectedPath','<platform-generated>','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','string','add','hasOwnProperty','\x20has\x20an\x20unexpected\x20','menu_url_credentials_forbidden','3134sahBCw','username','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','isSafeInteger','1078544mJcvKt','/smartapi/menu/create','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','\x20could\x20not\x20be\x20verified.','after','\x20after\x20response\x20loss.','create\x20external\x20menu','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','toLowerCase','visible','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','https:','plan','lookupCommand','recovered','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','causemessage','88auJAlr','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Recovered\x20menu\x20','\x27\x5c\x27\x27','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','embedded','afterPlan','parent-id','menu_sort_overflow','entries','stringify','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.'];a109_0x110f=function(){return _0x19eab6;};return a109_0x110f();}
|
|
1
|
+
const a109_0xd2b4ac=a109_0x4ccc;(function(_0x214ced,_0x53e2a1){const _0x50b1cc=a109_0x4ccc,_0x224d3a=_0x214ced();while(!![]){try{const _0x23e13f=-parseInt(_0x50b1cc(0xfd))/0x1*(parseInt(_0x50b1cc(0xf9))/0x2)+-parseInt(_0x50b1cc(0x12d))/0x3+parseInt(_0x50b1cc(0x138))/0x4+-parseInt(_0x50b1cc(0xd2))/0x5+-parseInt(_0x50b1cc(0x119))/0x6+parseInt(_0x50b1cc(0xd6))/0x7*(parseInt(_0x50b1cc(0xeb))/0x8)+parseInt(_0x50b1cc(0xf6))/0x9*(parseInt(_0x50b1cc(0x134))/0xa);if(_0x23e13f===_0x53e2a1)break;else _0x224d3a['push'](_0x224d3a['shift']());}catch(_0x270fa2){_0x224d3a['push'](_0x224d3a['shift']());}}}(a109_0x386f,0x889f2));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};function a109_0x386f(){const _0x436321=['label','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','replace','hasOwnProperty','fromEntries','menu_sort_invalid','<platform-generated>','\x27\x5c\x27\x27','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','POST','create\x20external\x20menu','visible','embedded','rawerror','readbackerror','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','succeeded','map','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','create-menu','length','recovered','URL','5091265WgPzOF','menu_url_invalid','Created\x20external\x20menu\x20','username','253687NwNkKq','byId','cause','open-mode','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu_not_found','new-window','Would\x20create\x20external\x20website\x20link\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','toLowerCase','after','hash','call','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','flagMissing','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','cookie','verification','menu_url_credentials_forbidden','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','filter','136gGpQTP','\x20with\x20','plan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','prototype','password','add','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','data','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','873aBOKqM','code','path','2SXCLSE','isSafeInteger','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','fact','737131Nddqdy','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','write','menus','get','menu_permission_denied','parentId','protocol','external-link-create','expectedPath','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','\x20--format\x20compress','menu_sort_overflow','string','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','snapshot','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','visibility','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','rawFlags','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu','pre-write-recheck','str','/smartapi/menu/create','has','Whether\x20the\x20menu\x20is\x20visible','1307532XADbJS','currentSnapshotHash','\x20after\x20response\x20loss.','menu_parent_not_folder','type','menu_url_https_required','Recovered\x20created\x20external\x20menu\x20','menu_create_response_invalid','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','entries','createdId','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','isArray','parent-id','Provide\x20an\x20HTTPS\x20URL.','before','failed','url','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','1659111iFoxyS','Created\x20menu\x20','boolean','expectedSnapshotHash','trim','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','239980HrTUTY','\x20failed\x20final\x20verification.','Run\x20','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','568168trHcHn','body','sort','object','menu_create_recovery_required','parent','Menu\x20','create','menu_verification_failed','afterPlan','rabetbase\x20menu\x20list\x20--appcode\x20','appCode','lookupCommand','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20label'];a109_0x386f=function(){return _0x436321;};return a109_0x386f();}export function validateExternalMenuUrl(_0x56bdab){const _0x270af0=a109_0x4ccc,_0x56e545=_0x56bdab[_0x270af0(0x131)]();let _0xf448d9;try{_0xf448d9=new URL(_0x56e545);}catch{throw menuError(_0x270af0(0xd3),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x270af0(0x12c));}if(_0xf448d9[_0x270af0(0x104)]!=='https:')throw menuError(_0x270af0(0x11e),_0x270af0(0x137),_0x270af0(0x128));if(_0xf448d9[_0x270af0(0xd5)]||_0xf448d9[_0x270af0(0xf0)])throw menuError(_0x270af0(0xe8),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x270af0(0xf2));return _0x56e545;}export const menuExternalLinkCreate={'service':'menu','command':a109_0xd2b4ac(0x105),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a109_0xd2b4ac(0xff),'structuredErrors':!![],'flags':[{'name':a109_0xd2b4ac(0x147),'type':'string','required':!![],'description':a109_0xd2b4ac(0x146)},{'name':'open-mode','type':a109_0xd2b4ac(0x10a),'required':!![],'enum':[a109_0xd2b4ac(0xc7),a109_0xd2b4ac(0xdc)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a109_0xd2b4ac(0x12b),'type':a109_0xd2b4ac(0x10a),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0xd2b4ac(0xc6),'type':a109_0xd2b4ac(0x12f),'default':!![],'description':a109_0xd2b4ac(0x118)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf93ee7){validateAddInput(_0xf93ee7);},async 'dryRun'(_0x5f31b3){const _0x591124=a109_0xd2b4ac;validateAddInput(_0x5f31b3);const {plan:_0x34e7ea}=await buildSafeAddPlan(_0x5f31b3,!![]),_0x2f20e3=_0x34e7ea['after'],_0x51a86f=createBody(_0x2f20e3);return menuDryRunResult(_0x34e7ea,{'method':_0x591124(0x150),'url':_0x591124(0x116),'body':_0x51a86f,'description':_0x591124(0xdd)+JSON['stringify'](_0x2f20e3[_0x591124(0x147)])+_0x591124(0xec)+_0x5f31b3[_0x591124(0x115)]('open-mode')+_0x591124(0xe3)});},async 'execute'(_0x15b38a){const _0x42e81b=a109_0xd2b4ac;validateAddInput(_0x15b38a);const _0x4358ca=await buildSafeAddPlan(_0x15b38a,![]),{plan:_0x3cf70c,snapshot:_0x1ccc5c}=_0x4358ca,_0xf374ce=_0x3cf70c[_0x42e81b(0xe0)],_0x278a42=buildMenuLookupCommand(_0x15b38a[_0x42e81b(0x143)]);await recheckAddSnapshot(_0x15b38a,_0x3cf70c);let _0x4e4413;try{_0x4e4413=await createMenuEntity(_0x15b38a['appCode'],_0x15b38a[_0x42e81b(0xe6)],createBody(_0xf374ce));}catch(_0x3ba1d8){const _0x294d9d=mapMenuApiError(_0x3ba1d8,_0x42e81b(0xc5));if(!isMenuResponseLoss(_0x3ba1d8)||_0x294d9d[_0x42e81b(0xf7)]===_0x42e81b(0x102))throw externalLinkCreateFailure(_0x294d9d,_0x3cf70c,{'stage':_0x42e81b(0x13f),'failed':{},'verification':{'status':'failed','lookupCommand':_0x278a42}});return recoverAfterResponseLoss(_0x15b38a,_0x4358ca,_0x278a42);}const _0x2da49d=Number(_0x4e4413?.['id']),_0x129012=typeof _0x4e4413?.[_0x42e81b(0xf8)]===_0x42e81b(0x10a)?_0x4e4413[_0x42e81b(0xf8)]:'';if(!Number[_0x42e81b(0xfa)](_0x2da49d)||_0x2da49d<=0x0||!_0x129012['trim']()){const _0x5d6737=menuError('menu_create_response_invalid',_0x42e81b(0xda),_0x42e81b(0x136)+_0x278a42+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5d6737,_0x3cf70c,{'stage':'create-response-validation','succeeded':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?[{'id':_0x2da49d,'created':!![]}]:[],'failed':{'createdId':Number[_0x42e81b(0xfa)](_0x2da49d)?_0x2da49d:null,'generatedPathConfirmed':Boolean(_0x129012[_0x42e81b(0x131)]())},'warnings':[_0x42e81b(0xee)],'after':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{..._0xf374ce,'id':_0x2da49d,'path':_0x129012}:_0xf374ce,'verification':{'status':_0x42e81b(0x12a),'lookupCommand':_0x278a42,...Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{'targetId':_0x2da49d}:{}}});}const _0x360395=await readAndVerifyCreatedMenu({'appCode':_0x15b38a['appCode'],'cookie':_0x15b38a[_0x42e81b(0xe6)],'plan':_0x3cf70c,'afterPlan':_0xf374ce,'createdId':_0x2da49d,'expectedPath':_0x129012,'lookupCommand':_0x278a42,'recovered':![]});return creationSuccess(_0x3cf70c,_0x360395[_0x42e81b(0x10c)],_0x360395[_0x42e81b(0xfc)],![]);}};function validateAddInput(_0x325906){const _0x1f6936=a109_0xd2b4ac;if(!_0x325906['str'](_0x1f6936(0x147))['trim']())throw CliErrors[_0x1f6936(0xe4)]('label');resolveExternalMenuType(_0x325906),validateExternalMenuUrl(_0x325906[_0x1f6936(0x115)](_0x1f6936(0x12b))),parseParentId(_0x325906,'parent-id'),validateSort(_0x325906);}function resolveExternalMenuType(_0x19825b){const _0x16b43d=a109_0xd2b4ac,_0x376a89=_0x19825b[_0x16b43d(0x115)](_0x16b43d(0xd9))[_0x16b43d(0x131)]();if(!_0x376a89)throw CliErrors['flagMissing'](_0x16b43d(0xd9));const _0x4308c5=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x376a89];if(!_0x4308c5)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x16b43d(0xe9));return _0x4308c5;}async function buildAddPlan(_0x1a0ed7,_0x2ed03e){const _0x2461ca=a109_0xd2b4ac,_0x1c85fe=await fetchMutationSnapshot(_0x1a0ed7,_0x2461ca(0xc5)),_0x4bd78f=parseParentId(_0x1a0ed7,_0x2461ca(0x127))??null;if(_0x4bd78f!=null)requireFolder(_0x1c85fe,_0x4bd78f);const _0x5d7806=validateSort(_0x1a0ed7),_0x1591b2=_0x5d7806??nextSiblingSort(_0x1c85fe,_0x4bd78f,_0x2461ca(0x113)),_0x4fbbf6=_0x1a0ed7[_0x2461ca(0x115)](_0x2461ca(0x147))[_0x2461ca(0x131)](),_0x56bb7c=resolveExternalMenuType(_0x1a0ed7),_0x5c6a68=validateExternalMenuUrl(_0x1a0ed7['str'](_0x2461ca(0x12b))),_0x2cc434=Object[_0x2461ca(0xef)][_0x2461ca(0x14a)][_0x2461ca(0xe2)](_0x1a0ed7[_0x2461ca(0x110)],_0x2461ca(0xc6))?_0x1a0ed7['bool'](_0x2461ca(0xc6)):!![],_0x4e08b6={'id':null,'parentId':_0x4bd78f,'label':_0x4fbbf6,'path':_0x2461ca(0x14d),'url':_0x5c6a68,'type':_0x56bb7c,'visible':_0x2cc434,'sort':_0x1591b2},_0x2d6ecd=buildMenuLookupCommand(_0x1a0ed7['appCode']),_0x34a3d1=mutationResult({'operation':_0x2461ca(0xf1),'selector':{'parentId':_0x4bd78f,'type':_0x56bb7c,'label':_0x4fbbf6,'url':_0x5c6a68},'before':null,'after':_0x4e08b6,'dryRun':_0x2ed03e,'backend':[{'method':_0x2461ca(0x150),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x2461ca(0xce),'method':'POST','path':_0x2461ca(0x116),'body':createBody(_0x4e08b6)}],'snapshotHash':_0x1c85fe[_0x2461ca(0xe1)],'warnings':[_0x2461ca(0xf5)],'verification':{'lookupCommand':_0x2d6ecd}});return{'plan':_0x34a3d1,'snapshot':_0x1c85fe};}async function buildSafeAddPlan(_0x1c43fa,_0x44c2e0){try{return await buildAddPlan(_0x1c43fa,_0x44c2e0);}catch(_0x23f85c){throw safeMenuAddError(_0x23f85c);}}async function recheckAddSnapshot(_0x10657f,_0x564642){const _0x4949ac=a109_0xd2b4ac;try{await recheckMutationSnapshot(_0x10657f,_0x564642,_0x4949ac(0xc5));}catch(_0x30e26d){const _0x21a5bf=getFailureRecord(_0x30e26d);throw externalLinkCreateFailure(_0x30e26d,_0x564642,{'stage':_0x4949ac(0x114),'failed':{..._0x21a5bf?.[_0x4949ac(0x130)]?{'expectedSnapshotHash':_0x21a5bf['expectedSnapshotHash']}:{},..._0x21a5bf?.['currentSnapshotHash']?{'currentSnapshotHash':_0x21a5bf[_0x4949ac(0x11a)]}:{}}});}}function createBody(_0x5d439b){const _0x4c6f3f=a109_0xd2b4ac;return{'parentId':toApiParentId(_0x5d439b[_0x4c6f3f(0x103)]),'label':String(_0x5d439b[_0x4c6f3f(0x147)]),'type':String(_0x5d439b['type']),'url':String(_0x5d439b[_0x4c6f3f(0x12b)]),'visible':Boolean(_0x5d439b[_0x4c6f3f(0xc6)]),'sort':Number(_0x5d439b[_0x4c6f3f(0x13a)]),'extend':{}};}function buildMenuLookupCommand(_0x2b3059){const _0x49afa5=a109_0xd2b4ac,_0x4d6803='\x27'+_0x2b3059[_0x49afa5(0x149)](/'/g,_0x49afa5(0x14e))+'\x27';return _0x49afa5(0x142)+_0x4d6803+_0x49afa5(0x108);}async function recoverAfterResponseLoss(_0x576396,_0x16af81,_0x3d2c3e){const _0x305939=a109_0xd2b4ac,{plan:_0x435b97,snapshot:_0xd66b70}=_0x16af81,_0x17af4d=_0x435b97[_0x305939(0xe0)];let _0xa35a1c;try{_0xa35a1c=await fetchMenuSnapshot(_0x576396['appCode'],_0x576396[_0x305939(0xe6)]);}catch(_0x260be3){throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0xa0cec5=_0xa35a1c[_0x305939(0x100)][_0x305939(0xea)](_0x45af86=>_0x45af86[_0x305939(0x103)]===_0x17af4d['parentId']&&_0x45af86[_0x305939(0x11d)]===_0x17af4d[_0x305939(0x11d)]&&_0x45af86['label']===_0x17af4d[_0x305939(0x147)]&&_0x45af86['url']===_0x17af4d[_0x305939(0x12b)]),_0x51706c=_0xa0cec5[_0x305939(0xea)](_0x3cf384=>!_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x3cf384['id'])),_0x11dd13=_0xa0cec5[_0x305939(0xea)](_0x59d3e5=>_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x59d3e5['id']));if(_0xa0cec5[_0x305939(0xcf)]!==0x1||_0x51706c[_0x305939(0xcf)]!==0x1)throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':_0xa0cec5[_0x305939(0xcf)],'newMatchCount':_0x51706c[_0x305939(0xcf)],'preexistingMatchCount':_0x11dd13[_0x305939(0xcf)]});const _0xc50680=_0x51706c[0x0];try{verifyCreatedFact(_0xc50680,_0xc50680['id'],_0x17af4d,null);}catch(_0x1ea97e){const _0x2761dc=_0x1ea97e instanceof Error&&'code'in _0x1ea97e?_0x1ea97e:menuError(_0x305939(0x140),'Recovered\x20menu\x20'+_0xc50680['id']+'\x20could\x20not\x20be\x20verified.',_0x305939(0x136)+_0x3d2c3e+_0x305939(0xfe));throw externalLinkCreateFailure(_0x2761dc,_0x435b97,{'stage':_0x305939(0xe7),'succeeded':[{'id':_0xc50680['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xc50680['id'],'finalFactsConfirmed':![]},'after':_0xc50680,'warnings':[_0x305939(0x13e)+_0xc50680['id']+_0x305939(0x10b)],'verification':{'status':'failed','targetId':_0xc50680['id'],'recovered':!![],'lookupCommand':_0x3d2c3e}});}return creationSuccess(_0x435b97,_0xa35a1c,_0xc50680,!![]);}function recoveryRequiredFailure(_0x11488b,_0x365b0b,_0x375e32){const _0xb93168=a109_0xd2b4ac,_0xd127dd=menuError(_0xb93168(0x13c),_0xb93168(0x145),_0xb93168(0x136)+_0x365b0b+_0xb93168(0x132));return externalLinkCreateFailure(_0xd127dd,_0x11488b,{'stage':'create-recovery','failed':_0x375e32,'warnings':[_0xb93168(0x112)],'verification':{'status':_0xb93168(0x12a),..._0x375e32,'lookupCommand':_0x365b0b}});}async function readAndVerifyCreatedMenu(_0x4ab959){const _0xad792=a109_0xd2b4ac;let _0x5bfd50;try{_0x5bfd50=await fetchMenuSnapshot(_0x4ab959[_0xad792(0x143)],_0x4ab959[_0xad792(0xe6)]);}catch(_0x3bc875){const _0x2a4e5c=menuError(_0xad792(0x140),_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xca),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x2a4e5c,_0x4ab959['plan'],{'stage':'verification','succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xfb)],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'lookupCommand':_0x4ab959['lookupCommand']}});}const _0x45e414=_0x5bfd50[_0xad792(0xd7)][_0xad792(0x101)](_0x4ab959[_0xad792(0x124)]);try{if(!_0x45e414)throw menuError('menu_verification_failed',_0xad792(0x12e)+_0x4ab959['createdId']+_0xad792(0xcd),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));verifyCreatedFact(_0x45e414,_0x4ab959[_0xad792(0x124)],_0x4ab959[_0xad792(0x141)],_0x4ab959[_0xad792(0x106)]);}catch(_0x40330e){const _0x48537d=_0x40330e instanceof Error&&_0xad792(0xf7)in _0x40330e?_0x40330e:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4ab959[_0xad792(0x124)]+_0xad792(0x135),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x48537d,_0x4ab959[_0xad792(0xed)],{'stage':_0xad792(0xe7),'succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![]},'after':_0x45e414??{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'recovered':_0x4ab959[_0xad792(0xd0)],'lookupCommand':_0x4ab959[_0xad792(0x144)]}});}return{'snapshot':_0x5bfd50,'fact':_0x45e414};}function verifyCreatedFact(_0x2ae30c,_0x3227b9,_0x2aea2a,_0x15f495){const _0x508905=a109_0xd2b4ac;if(!Number[_0x508905(0xfa)](_0x2ae30c['id'])||_0x2ae30c['id']<=0x0||_0x2ae30c['id']!==_0x3227b9)throw menuError(_0x508905(0x140),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x508905(0x10f));const _0x45d81a=[[_0x508905(0x13d),_0x2ae30c[_0x508905(0x103)],_0x2aea2a[_0x508905(0x103)]],['type',_0x2ae30c[_0x508905(0x11d)],_0x2aea2a[_0x508905(0x11d)]],['label',_0x2ae30c[_0x508905(0x147)],_0x2aea2a['label']],[_0x508905(0xd1),_0x2ae30c['url'],_0x2aea2a[_0x508905(0x12b)]],[_0x508905(0x10e),_0x2ae30c['visible'],_0x2aea2a['visible']],[_0x508905(0x13a),_0x2ae30c[_0x508905(0x13a)],_0x2aea2a[_0x508905(0x13a)]]];for(const [_0x2efa5b,_0x2bebf8,_0x3f5a9f]of _0x45d81a){if(_0x2bebf8!==_0x3f5a9f)throw menuError('menu_verification_failed',_0x508905(0x12e)+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20'+_0x2efa5b+'.',_0x508905(0x10d));}if(!_0x2ae30c[_0x508905(0xf8)][_0x508905(0x131)]()||_0x15f495!==null&&_0x2ae30c[_0x508905(0xf8)]!==_0x15f495)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x1d48af,_0x540f22,_0x2621e4,_0x25beea){const _0x1f4bf5=a109_0xd2b4ac,_0xe19d6b=mutationResult({..._0x1d48af,'after':_0x2621e4,'dryRun':![],'succeeded':[{'id':_0x2621e4['id'],'created':!![],'recovered':_0x25beea}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x540f22['hash'],'targetId':_0x2621e4['id'],'recovered':_0x25beea,'path':_0x2621e4[_0x1f4bf5(0xf8)]}});return{'ok':!![],'message':_0x25beea?_0x1f4bf5(0x11f)+_0x2621e4['id']+_0x1f4bf5(0x11b):_0x1f4bf5(0xd4)+_0x2621e4['id']+'.','data':{..._0xe19d6b,'recovered':_0x25beea}};}function externalLinkCreateFailure(_0x5b6305,_0x29ad8d,_0x4cb93c){const _0x17e1a3=a109_0xd2b4ac;return menuFailure(safeMenuAddError(_0x5b6305),redactFailurePlan(_0x29ad8d),{..._0x4cb93c,'succeeded':_0x4cb93c[_0x17e1a3(0xcb)]?.[_0x17e1a3(0xcc)](redactFailureRecord),'failed':_0x4cb93c[_0x17e1a3(0x12a)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0x12a)]):undefined,'verification':_0x4cb93c[_0x17e1a3(0xe7)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0xe7)]):undefined,'after':_0x4cb93c['after']===undefined?undefined:redactFailureValue(_0x4cb93c[_0x17e1a3(0xe0)])});}function redactFailurePlan(_0x401ab4){const _0x1ceaa4=a109_0xd2b4ac;return{..._0x401ab4,'selector':redactFailureRecord(_0x401ab4['selector']),'before':redactFailureValue(_0x401ab4[_0x1ceaa4(0x129)]),'after':redactFailureValue(_0x401ab4[_0x1ceaa4(0xe0)]),'plannedActions':_0x401ab4['plannedActions']?.[_0x1ceaa4(0xcc)](_0x25a791=>({..._0x25a791,'body':redactFailureRecord(_0x25a791[_0x1ceaa4(0x139)])})),'succeeded':_0x401ab4['succeeded'][_0x1ceaa4(0xcc)](redactFailureRecord),'failed':_0x401ab4['failed'][_0x1ceaa4(0xcc)](redactFailureRecord),'verification':_0x401ab4[_0x1ceaa4(0xe7)]?redactFailureRecord(_0x401ab4[_0x1ceaa4(0xe7)]):undefined};}function redactFailureRecord(_0x327eaa){return redactFailureValue(_0x327eaa);}function a109_0x4ccc(_0x42bbf8,_0x24c634){_0x42bbf8=_0x42bbf8-0xc5;const _0x386fc2=a109_0x386f();let _0x4ccc73=_0x386fc2[_0x42bbf8];return _0x4ccc73;}function redactFailureValue(_0x2e2a60,_0x273354=''){const _0xb96dc9=a109_0xd2b4ac,_0x3918f7=_0x273354[_0xb96dc9(0xdf)]()[_0xb96dc9(0x149)](/[^a-z0-9]/g,'');if([_0xb96dc9(0xd8),'causemessage',_0xb96dc9(0xc9),_0xb96dc9(0xc8)]['includes'](_0x3918f7))return'<redacted>';if(Array[_0xb96dc9(0x126)](_0x2e2a60))return _0x2e2a60[_0xb96dc9(0xcc)](_0x460ec0=>redactFailureValue(_0x460ec0));if(_0x2e2a60&&typeof _0x2e2a60===_0xb96dc9(0x13b))return Object[_0xb96dc9(0x14b)](Object[_0xb96dc9(0x123)](_0x2e2a60)[_0xb96dc9(0xcc)](([_0x581a23,_0x131493])=>[_0x581a23,redactFailureValue(_0x131493,_0x581a23)]));return _0x2e2a60;}function safeMenuAddError(_0x359169){const _0x52158f=a109_0xd2b4ac,_0x257698=_0x359169 instanceof CliError?_0x359169[_0x52158f(0xf7)]:_0x52158f(0x111);switch(_0x257698){case'menu_state_drift':return menuError(_0x257698,_0x52158f(0x122),_0x52158f(0x133));case _0x52158f(0x102):return menuError(_0x257698,_0x52158f(0x148),_0x52158f(0x121));case _0x52158f(0x120):return menuError(_0x257698,_0x52158f(0xde),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x257698,_0x52158f(0xe5),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x257698,_0x52158f(0x107),_0x52158f(0x125));case _0x52158f(0x111):case _0x52158f(0xdb):case _0x52158f(0x11c):case _0x52158f(0x14c):case _0x52158f(0x109):return menuError(_0x257698,'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));default:return menuError(_0x52158f(0x111),'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));}}function getFailureRecord(_0x2eb8b8){const _0x373c16=a109_0xd2b4ac;if(!(_0x2eb8b8 instanceof Error)||!(_0x373c16(0xf4)in _0x2eb8b8))return undefined;const _0x50e6a4=_0x2eb8b8['data'];if(!_0x50e6a4||typeof _0x50e6a4!==_0x373c16(0x13b))return undefined;const _0x385cf=_0x50e6a4[_0x373c16(0x12a)];if(!Array[_0x373c16(0x126)](_0x385cf)||!_0x385cf[0x0]||typeof _0x385cf[0x0]!==_0x373c16(0x13b))return undefined;return _0x385cf[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x1cf5d4=a110_0x1325;(function(_0x57b5fd,_0x552002){const _0x4a0f99=a110_0x1325,_0xe1a1e8=_0x57b5fd();while(!![]){try{const _0x1305ee=parseInt(_0x4a0f99(0x19b))/0x1*(parseInt(_0x4a0f99(0x198))/0x2)+parseInt(_0x4a0f99(0x15d))/0x3*(-parseInt(_0x4a0f99(0x178))/0x4)+-parseInt(_0x4a0f99(0x18f))/0x5*(parseInt(_0x4a0f99(0x194))/0x6)+-parseInt(_0x4a0f99(0x18d))/0x7+-parseInt(_0x4a0f99(0x19f))/0x8+-parseInt(_0x4a0f99(0x1a8))/0x9*(parseInt(_0x4a0f99(0x165))/0xa)+parseInt(_0x4a0f99(0x16d))/0xb*(parseInt(_0x4a0f99(0x172))/0xc);if(_0x1305ee===_0x552002)break;else _0xe1a1e8['push'](_0xe1a1e8['shift']());}catch(_0x27ce1e){_0xe1a1e8['push'](_0xe1a1e8['shift']());}}}(a110_0x3966,0x285f9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';function a110_0x3966(){const _0x2c5413=['requestedUrlObserved','hash','url','20IAxZGE','\x20parent\x20changed:\x20expected\x20','childrenCount','menu','verify\x20external\x20menu\x20URL\x20update','byId','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','iframe','9522326kvCsGF','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','link','menu_state_drift','12BuwRCP','update','external-link-update','update-recovery','visible','POST','16BGOXVZ','readbackFailed','Menu\x20','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','Updated\x20external\x20URL\x20for\x20menu\x20','\x20--format\x20compress','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','expect-parent-id','Run\x20','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','menu_external_link_not_leaf','appCode','\x20could\x20not\x20be\x20verified\x20safely','path','update\x20external\x20menu\x20URL','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','high-risk-write','\x20has\x20an\x20empty\x20platform\x20path.','flagMissing','168rMYHJb','Response\x20was\x20lost\x20and\x20menu\x20','5Fvypwn','failed','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_path_missing','str','1828578UrYzlI','replace','trim','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','2ZpCZsH','expect-url','cookie','56506WOQDLu','New\x20external\x20HTTPS\x20URL','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','Update\x20request\x20for\x20menu\x20','2168016wqMbUk','unknown','/smartapi/menu/update','parentId','type','\x20direct\x20child\x20menu(s).','menu\x20list','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','menu_permission_denied','531189ucHeUj','label','rabetbase\x20menu\x20list\x20--appcode\x20','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','get','plan','\x20already\x20matches\x20the\x20requested\x20URL.','\x20changed\x20during\x20the\x20URL-only\x20update.','sort','string','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','\x20has\x20','47229hfYrsa','body','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','menu_external_link_type_required','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.'];a110_0x3966=function(){return _0x2c5413;};return a110_0x3966();}import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x1cf5d4(0x177),'path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':a110_0x1cf5d4(0x168),'command':a110_0x1cf5d4(0x174),'description':a110_0x1cf5d4(0x17c),'risk':a110_0x1cf5d4(0x18a),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a110_0x1cf5d4(0x19c)},{'name':'expect-url','type':a110_0x1cf5d4(0x15a),'required':!![],'description':a110_0x1cf5d4(0x183)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3e6fe3){validateInput(_0x3e6fe3),requireExplicitYes(_0x3e6fe3);},async 'dryRun'(_0x30c186){const _0x548b18=a110_0x1cf5d4;validateInput(_0x30c186);const _0x1c87d5=await buildPlan(_0x30c186,!![]);return menuDryRunResult(_0x1c87d5[_0x548b18(0x156)],{'method':'POST','url':'/smartapi/menu/update','body':_0x1c87d5[_0x548b18(0x15e)],'description':_0x548b18(0x15f)+_0x1c87d5[_0x548b18(0x15e)]['id']+'.'});},async 'execute'(_0x4fc63b){const _0x3cee82=a110_0x1cf5d4;validateInput(_0x4fc63b),requireExplicitYes(_0x4fc63b);const _0x1a05fb=await buildPlan(_0x4fc63b,![]),{plan:_0x581522,body:_0x479038,before:_0x208799,noChanges:_0x85f44}=_0x1a05fb,_0x51f8f7=_0x479038['id'];if(_0x85f44)return updateSuccess(_0x581522,_0x1a05fb['snapshot'],_0x208799,!![],![]);await recheckMutationSnapshot(_0x4fc63b,_0x581522,'update\x20external\x20menu\x20URL',_0x51f8f7);try{await updateMenuEntity(_0x4fc63b[_0x3cee82(0x185)],_0x4fc63b[_0x3cee82(0x19a)],{'id':_0x479038['id'],'url':_0x479038['url']});}catch(_0x12a42e){const _0x593f66=mapMenuApiError(_0x12a42e,'update\x20external\x20menu\x20URL',_0x51f8f7);if(isMenuResponseLoss(_0x12a42e)&&_0x593f66['code']!==_0x3cee82(0x1a7))return recoverAfterResponseLoss(_0x4fc63b,_0x1a05fb);throw menuFailure(_0x593f66,_0x581522,{'stage':_0x3cee82(0x173),'failed':{'id':_0x51f8f7},'warnings':[_0x3cee82(0x19d)],'verification':{'status':_0x3cee82(0x190),'targetId':_0x51f8f7,'lookupCommand':buildLookupCommand(_0x4fc63b[_0x3cee82(0x185)])}});}let _0x2a4e43,_0x25d18a;try{_0x2a4e43=await fetchMenuSnapshot(_0x4fc63b[_0x3cee82(0x185)],_0x4fc63b[_0x3cee82(0x19a)]),_0x25d18a=requireMenu(_0x2a4e43,_0x51f8f7),verifyUpdatedFact(_0x208799,_0x25d18a,_0x479038[_0x3cee82(0x164)]);}catch(_0x1d421e){const _0x568902=describeMenuErrorCause(_0x1d421e,_0x3cee82(0x169),_0x51f8f7),_0x1bf9a8=asVerificationError(_0x1d421e,_0x3cee82(0x19e)+_0x51f8f7+_0x3cee82(0x1a6));throw menuFailure(_0x1bf9a8,_0x581522,{'stage':'verification','succeeded':[{'id':_0x51f8f7,'updateRequested':!![]}],'failed':{'id':_0x51f8f7,'requestedStateConfirmed':![],..._0x568902},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x51f8f7,'lookupCommand':buildLookupCommand(_0x4fc63b[_0x3cee82(0x185)])}});}return updateSuccess(_0x581522,_0x2a4e43,_0x25d18a,![],![]);}};function validateInput(_0x26a1c1){const _0x5ba20a=a110_0x1cf5d4;validateExactId(_0x26a1c1),requiredUrl(_0x26a1c1,_0x5ba20a(0x164)),requiredExpectedUrl(_0x26a1c1),parseParentId(_0x26a1c1,_0x5ba20a(0x181),{'required':!![]});}function a110_0x1325(_0x8ed3b1,_0x3142e2){_0x8ed3b1=_0x8ed3b1-0x156;const _0x396662=a110_0x3966();let _0x1325ea=_0x396662[_0x8ed3b1];return _0x1325ea;}function requiredUrl(_0x29cf06,_0x152ba3){const _0x33ec04=a110_0x1cf5d4;if(!hasFlag(_0x29cf06,_0x152ba3)||!_0x29cf06['str'](_0x152ba3)[_0x33ec04(0x196)]())throw CliErrors[_0x33ec04(0x18c)](_0x152ba3);return validateExternalMenuUrl(_0x29cf06['str'](_0x152ba3));}function requiredExpectedUrl(_0x3ac277){const _0x5eb8dd=a110_0x1cf5d4;if(!hasFlag(_0x3ac277,_0x5eb8dd(0x199))||!_0x3ac277['str'](_0x5eb8dd(0x199))[_0x5eb8dd(0x196)]())throw CliErrors[_0x5eb8dd(0x18c)](_0x5eb8dd(0x199));return _0x3ac277[_0x5eb8dd(0x193)](_0x5eb8dd(0x199))['trim']();}async function buildPlan(_0x544f21,_0x18281a){const _0x383dba=a110_0x1cf5d4,_0x4ea727=validateExactId(_0x544f21),_0x1526ea=requiredUrl(_0x544f21,_0x383dba(0x164)),_0x444b1d=requiredExpectedUrl(_0x544f21),_0xc88ca3=parseParentId(_0x544f21,'expect-parent-id',{'required':!![]}),_0x4a2d13=await fetchMutationSnapshot(_0x544f21,_0x383dba(0x188),_0x4ea727),_0x38e487=requireMenu(_0x4a2d13,_0x4ea727);assertExternalLinkLeaf(_0x38e487);if(_0x38e487[_0x383dba(0x1a2)]!==_0xc88ca3)throw menuError(_0x383dba(0x171),'Menu\x20'+_0x4ea727+_0x383dba(0x166)+formatParent(_0xc88ca3)+',\x20current\x20'+formatParent(_0x38e487[_0x383dba(0x1a2)])+'.',_0x383dba(0x17f));const _0x16f3f5=_0x38e487[_0x383dba(0x164)]===_0x1526ea;if(!_0x16f3f5&&_0x38e487[_0x383dba(0x164)]!==_0x444b1d)throw menuError(_0x383dba(0x171),'Menu\x20'+_0x4ea727+_0x383dba(0x16e),_0x383dba(0x161));const _0x50f02a={'id':_0x4ea727,'appCode':_0x544f21[_0x383dba(0x185)],'url':_0x1526ea},_0x30116e={..._0x38e487,'url':_0x1526ea};return{'body':_0x50f02a,'before':_0x38e487,'noChanges':_0x16f3f5,'snapshot':_0x4a2d13,'plan':mutationResult({'operation':_0x383dba(0x174),'selector':{'id':_0x4ea727},'before':_0x38e487,'after':_0x30116e,'dryRun':_0x18281a,'backend':[...BACKEND],'plannedActions':_0x16f3f5?[]:[{'stage':'update-external-link-url','method':_0x383dba(0x177),'path':_0x383dba(0x1a1),'body':_0x50f02a}],'snapshotHash':_0x4a2d13[_0x383dba(0x163)],'warnings':_0x16f3f5?[_0x383dba(0x189)]:[]})};}function assertExternalLinkLeaf(_0x4f5184){const _0x4dac6f=a110_0x1cf5d4;if(_0x4f5184[_0x4dac6f(0x1a3)]!==_0x4dac6f(0x16c)&&_0x4f5184[_0x4dac6f(0x1a3)]!==_0x4dac6f(0x170))throw menuError(_0x4dac6f(0x160),_0x4dac6f(0x17a)+_0x4f5184['id']+'\x20is\x20type\x20\x22'+(_0x4f5184[_0x4dac6f(0x1a3)]||_0x4dac6f(0x1a0))+_0x4dac6f(0x191),_0x4dac6f(0x16b));if(_0x4f5184['childrenCount']!==0x0)throw menuError(_0x4dac6f(0x184),_0x4dac6f(0x17a)+_0x4f5184['id']+_0x4dac6f(0x15c)+_0x4f5184[_0x4dac6f(0x167)]+_0x4dac6f(0x1a4),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x4f5184['path'][_0x4dac6f(0x196)]())throw menuError(_0x4dac6f(0x192),_0x4dac6f(0x17a)+_0x4f5184['id']+_0x4dac6f(0x18b),_0x4dac6f(0x1ab));}function verifyUpdatedFact(_0x585b1c,_0x264e65,_0x12f2da){const _0x5a5cb5=a110_0x1cf5d4;assertExternalLinkLeaf(_0x264e65);const _0x44ac68=[['id',_0x264e65['id'],_0x585b1c['id']],[_0x5a5cb5(0x1a9),_0x264e65['label'],_0x585b1c['label']],[_0x5a5cb5(0x1a3),_0x264e65[_0x5a5cb5(0x1a3)],_0x585b1c['type']],['path',_0x264e65[_0x5a5cb5(0x187)],_0x585b1c[_0x5a5cb5(0x187)]],[_0x5a5cb5(0x1a2),_0x264e65[_0x5a5cb5(0x1a2)],_0x585b1c['parentId']],['sort',_0x264e65[_0x5a5cb5(0x159)],_0x585b1c[_0x5a5cb5(0x159)]],[_0x5a5cb5(0x176),_0x264e65[_0x5a5cb5(0x176)],_0x585b1c['visible']]];for(const [_0x28b2be,_0x2a2126,_0x200071]of _0x44ac68){assertVerified(_0x2a2126===_0x200071,_0x5a5cb5(0x17a)+_0x585b1c['id']+'\x20'+_0x28b2be+_0x5a5cb5(0x158));}assertVerified(_0x264e65[_0x5a5cb5(0x164)]===_0x12f2da,_0x5a5cb5(0x17a)+_0x585b1c['id']+_0x5a5cb5(0x16f));}function updateSuccess(_0x4675cf,_0x2594c4,_0x44fdc9,_0x1e0980,_0x2c134b){const _0x4a0312=a110_0x1cf5d4,_0x14e0b9=_0x44fdc9['id'],_0x2651a7=mutationResult({..._0x4675cf,'after':_0x44fdc9,'dryRun':![],'succeeded':[{'id':_0x14e0b9,'updated':!_0x1e0980,'skipped':_0x1e0980,'recovered':_0x2c134b}],'verification':{'checkedBy':_0x4a0312(0x1a5),'snapshotHash':_0x2594c4[_0x4a0312(0x163)],'targetId':_0x14e0b9,'matchesRequestedState':!![],'recovered':_0x2c134b}});return{'ok':!![],'message':_0x2c134b?_0x4a0312(0x17b)+_0x14e0b9+'.':_0x1e0980?_0x4a0312(0x17a)+_0x14e0b9+_0x4a0312(0x157):_0x4a0312(0x17d)+_0x14e0b9+'.','data':{..._0x2651a7,'recovered':_0x2c134b}};}async function recoverAfterResponseLoss(_0x20f337,_0xcb6a39){const _0x222af2=a110_0x1cf5d4,{plan:_0x4f0560,before:_0x368adc,body:_0xc8fb84}=_0xcb6a39;let _0x2c3c6f;try{_0x2c3c6f=await fetchMenuSnapshot(_0x20f337[_0x222af2(0x185)],_0x20f337[_0x222af2(0x19a)]);}catch{throw recoveryRequired(_0x4f0560,_0x20f337['appCode'],{'id':_0xc8fb84['id'],'readbackFailed':!![]});}const _0x3e10fd=_0x2c3c6f[_0x222af2(0x16a)][_0x222af2(0x1ac)](_0xc8fb84['id']);if(!_0x3e10fd||_0x3e10fd['url']!==_0xc8fb84[_0x222af2(0x164)])throw recoveryRequired(_0x4f0560,_0x20f337[_0x222af2(0x185)],{'id':_0xc8fb84['id'],'requestedUrlObserved':![],'after':_0x3e10fd??null});try{verifyUpdatedFact(_0x368adc,_0x3e10fd,_0xc8fb84['url']);}catch(_0x47a80e){const _0x497622=asVerificationError(_0x47a80e,_0x222af2(0x18e)+_0xc8fb84['id']+_0x222af2(0x186));throw menuFailure(_0x497622,_0x4f0560,{'stage':_0x222af2(0x175),'succeeded':[{'id':_0xc8fb84['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0xc8fb84['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3e10fd,'warnings':[_0x222af2(0x180)],'verification':{'status':_0x222af2(0x190),'targetId':_0xc8fb84['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x20f337[_0x222af2(0x185)])}});}return updateSuccess(_0x4f0560,_0x2c3c6f,_0x3e10fd,![],!![]);}function recoveryRequired(_0x508373,_0x5325d6,_0x4b5fb7){const _0xe01ca9=a110_0x1cf5d4,_0x4a3f65=menuError('menu_update_recovery_required',_0xe01ca9(0x15b),_0xe01ca9(0x182)+buildLookupCommand(_0x5325d6)+_0xe01ca9(0x197));return menuFailure(_0x4a3f65,_0x508373,{'stage':'update-recovery','failed':{'id':_0x4b5fb7['id'],..._0x4b5fb7[_0xe01ca9(0x162)]===undefined?{}:{'requestedUrlObserved':_0x4b5fb7[_0xe01ca9(0x162)]},..._0x4b5fb7[_0xe01ca9(0x179)]?{'readbackFailed':!![]}:{}},'after':_0x4b5fb7['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xe01ca9(0x190),'targetId':_0x4b5fb7['id'],..._0x4b5fb7[_0xe01ca9(0x162)]===undefined?{}:{'requestedUrlObserved':_0x4b5fb7[_0xe01ca9(0x162)]},..._0x4b5fb7[_0xe01ca9(0x179)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x5325d6)}});}function buildLookupCommand(_0x2e298e){const _0x4a9cb0=a110_0x1cf5d4,_0x298a42='\x27'+_0x2e298e[_0x4a9cb0(0x195)](/'/g,'\x27\x5c\x27\x27')+'\x27';return _0x4a9cb0(0x1aa)+_0x298a42+_0x4a9cb0(0x17e);}
|
|
1
|
+
function a110_0x41d9(){const _0x5c1d46=['rabetbase\x20menu\x20list\x20--appcode\x20','2402770NyJvnt','245764wPBwOo','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','type','1019333joNJhZ','appCode','byId','menu_permission_denied','30OGSRCu','10IrRtnD','\x20could\x20not\x20be\x20verified\x20safely','str','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_not_leaf','body','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','string','45vyoPSR','menu\x20list','label','\x20changed\x20during\x20the\x20URL-only\x20update.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','parentId','menu_state_drift','46746btlxlj','POST','path','expect-url','\x20--format\x20compress','/smartapi/menu/update','failed','hash','external-link-update','visible','Response\x20was\x20lost\x20and\x20menu\x20','Run\x20','9001NNHBPd','710280wCEcde','Update\x20request\x20for\x20menu\x20','44lArNQy','\x20already\x20matches\x20the\x20requested\x20URL.','\x20has\x20an\x20empty\x20platform\x20path.',',\x20current\x20','8UAgLso','sort','update\x20external\x20menu\x20URL','expect-parent-id','Menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','flagMissing','7400364nlgGgT','cookie','get','\x27\x5c\x27\x27','update-recovery','update-external-link-url','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','childrenCount','\x20is\x20type\x20\x22','link','after','unknown','trim','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','readbackFailed','verify\x20external\x20menu\x20URL\x20update','verification','url','requestedUrlObserved','menu_update_recovery_required'];a110_0x41d9=function(){return _0x5c1d46;};return a110_0x41d9();}const a110_0x2233cd=a110_0x2d65;(function(_0x2615ce,_0xc9fb3d){const _0x293469=a110_0x2d65,_0x57461d=_0x2615ce();while(!![]){try{const _0x21cdb1=-parseInt(_0x293469(0x8b))/0x1*(-parseInt(_0x293469(0xb8))/0x2)+parseInt(_0x293469(0xb7))/0x3*(parseInt(_0x293469(0xaf))/0x4)+parseInt(_0x293469(0x72))/0x5*(-parseInt(_0x293469(0x7f))/0x6)+parseInt(_0x293469(0xb3))/0x7*(-parseInt(_0x293469(0x92))/0x8)+-parseInt(_0x293469(0x8c))/0x9+parseInt(_0x293469(0xae))/0xa*(parseInt(_0x293469(0x8e))/0xb)+-parseInt(_0x293469(0x99))/0xc;if(_0x21cdb1===_0xc9fb3d)break;else _0x57461d['push'](_0x57461d['shift']());}catch(_0x463906){_0x57461d['push'](_0x57461d['shift']());}}}(a110_0x41d9,0xad230));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a110_0x2d65(_0x3d8297,_0x190529){_0x3d8297=_0x3d8297-0x71;const _0x41d901=a110_0x41d9();let _0x2d65a0=_0x41d901[_0x3d8297];return _0x2d65a0;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x2233cd(0x80),'path':a110_0x2233cd(0x84)}];export const menuExternalLinkUpdate={'service':a110_0x2233cd(0xc1),'command':'external-link-update','description':a110_0x2233cd(0x97),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x2233cd(0xaa),'type':a110_0x2233cd(0x71),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a110_0x2233cd(0x82),'type':a110_0x2233cd(0x71),'required':!![],'description':a110_0x2233cd(0x78)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x447dbc){validateInput(_0x447dbc),requireExplicitYes(_0x447dbc);},async 'dryRun'(_0x3d5ec5){const _0x5ef6de=a110_0x2233cd;validateInput(_0x3d5ec5);const _0x2dd62d=await buildPlan(_0x3d5ec5,!![]);return menuDryRunResult(_0x2dd62d['plan'],{'method':_0x5ef6de(0x80),'url':_0x5ef6de(0x84),'body':_0x2dd62d[_0x5ef6de(0xbf)],'description':_0x5ef6de(0x7b)+_0x2dd62d[_0x5ef6de(0xbf)]['id']+'.'});},async 'execute'(_0x228b96){const _0x2f880f=a110_0x2233cd;validateInput(_0x228b96),requireExplicitYes(_0x228b96);const _0x431b7d=await buildPlan(_0x228b96,![]),{plan:_0x4f7923,body:_0x592424,before:_0xb580de,noChanges:_0x572396}=_0x431b7d,_0x570888=_0x592424['id'];if(_0x572396)return updateSuccess(_0x4f7923,_0x431b7d['snapshot'],_0xb580de,!![],![]);await recheckMutationSnapshot(_0x228b96,_0x4f7923,'update\x20external\x20menu\x20URL',_0x570888);try{await updateMenuEntity(_0x228b96['appCode'],_0x228b96[_0x2f880f(0x9a)],{'id':_0x592424['id'],'url':_0x592424[_0x2f880f(0xaa)]});}catch(_0x4f690f){const _0x591730=mapMenuApiError(_0x4f690f,_0x2f880f(0x94),_0x570888);if(isMenuResponseLoss(_0x4f690f)&&_0x591730['code']!==_0x2f880f(0xb6))return recoverAfterResponseLoss(_0x228b96,_0x431b7d);throw menuFailure(_0x591730,_0x4f7923,{'stage':'update','failed':{'id':_0x570888},'warnings':[_0x2f880f(0xc2)],'verification':{'status':_0x2f880f(0x85),'targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}let _0x5fe246,_0x10a74f;try{_0x5fe246=await fetchMenuSnapshot(_0x228b96[_0x2f880f(0xb4)],_0x228b96['cookie']),_0x10a74f=requireMenu(_0x5fe246,_0x570888),verifyUpdatedFact(_0xb580de,_0x10a74f,_0x592424[_0x2f880f(0xaa)]);}catch(_0xda194e){const _0x98b11e=describeMenuErrorCause(_0xda194e,_0x2f880f(0xa8),_0x570888),_0x2422c8=asVerificationError(_0xda194e,_0x2f880f(0x8d)+_0x570888+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2422c8,_0x4f7923,{'stage':_0x2f880f(0xa9),'succeeded':[{'id':_0x570888,'updateRequested':!![]}],'failed':{'id':_0x570888,'requestedStateConfirmed':![],..._0x98b11e},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}return updateSuccess(_0x4f7923,_0x5fe246,_0x10a74f,![],![]);}};function validateInput(_0x1b15ae){const _0x41bf87=a110_0x2233cd;validateExactId(_0x1b15ae),requiredUrl(_0x1b15ae,_0x41bf87(0xaa)),requiredExpectedUrl(_0x1b15ae),parseParentId(_0x1b15ae,_0x41bf87(0x95),{'required':!![]});}function requiredUrl(_0x35e002,_0x5edf2d){const _0x34dfe2=a110_0x2233cd;if(!hasFlag(_0x35e002,_0x5edf2d)||!_0x35e002['str'](_0x5edf2d)['trim']())throw CliErrors[_0x34dfe2(0x98)](_0x5edf2d);return validateExternalMenuUrl(_0x35e002[_0x34dfe2(0xba)](_0x5edf2d));}function requiredExpectedUrl(_0x2d7cb9){const _0x59a2c1=a110_0x2233cd;if(!hasFlag(_0x2d7cb9,_0x59a2c1(0x82))||!_0x2d7cb9['str']('expect-url')['trim']())throw CliErrors[_0x59a2c1(0x98)](_0x59a2c1(0x82));return _0x2d7cb9[_0x59a2c1(0xba)](_0x59a2c1(0x82))[_0x59a2c1(0xa5)]();}async function buildPlan(_0x2b4008,_0x1635aa){const _0x48d358=a110_0x2233cd,_0x5a24df=validateExactId(_0x2b4008),_0x36261a=requiredUrl(_0x2b4008,_0x48d358(0xaa)),_0x493c3b=requiredExpectedUrl(_0x2b4008),_0xd9495c=parseParentId(_0x2b4008,_0x48d358(0x95),{'required':!![]}),_0xdcc5e8=await fetchMutationSnapshot(_0x2b4008,'update\x20external\x20menu\x20URL',_0x5a24df),_0x39dd59=requireMenu(_0xdcc5e8,_0x5a24df);assertExternalLinkLeaf(_0x39dd59);if(_0x39dd59[_0x48d358(0x7d)]!==_0xd9495c)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xd9495c)+_0x48d358(0x91)+formatParent(_0x39dd59[_0x48d358(0x7d)])+'.',_0x48d358(0xbc));const _0x1bbccb=_0x39dd59[_0x48d358(0xaa)]===_0x36261a;if(!_0x1bbccb&&_0x39dd59[_0x48d358(0xaa)]!==_0x493c3b)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x48d358(0xc4));const _0x4e118f={'id':_0x5a24df,'appCode':_0x2b4008[_0x48d358(0xb4)],'url':_0x36261a},_0x448631={..._0x39dd59,'url':_0x36261a};return{'body':_0x4e118f,'before':_0x39dd59,'noChanges':_0x1bbccb,'snapshot':_0xdcc5e8,'plan':mutationResult({'operation':_0x48d358(0x87),'selector':{'id':_0x5a24df},'before':_0x39dd59,'after':_0x448631,'dryRun':_0x1635aa,'backend':[...BACKEND],'plannedActions':_0x1bbccb?[]:[{'stage':_0x48d358(0x9e),'method':'POST','path':_0x48d358(0x84),'body':_0x4e118f}],'snapshotHash':_0xdcc5e8[_0x48d358(0x86)],'warnings':_0x1bbccb?[_0x48d358(0x9f)]:[]})};}function assertExternalLinkLeaf(_0x118da7){const _0x41dd99=a110_0x2233cd;if(_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0x79)&&_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0xa2))throw menuError('menu_external_link_type_required',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xa1)+(_0x118da7[_0x41dd99(0xb2)]||_0x41dd99(0xa4))+_0x41dd99(0xbd),_0x41dd99(0x77));if(_0x118da7['childrenCount']!==0x0)throw menuError(_0x41dd99(0xbe),_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xc3)+_0x118da7[_0x41dd99(0xa0)]+'\x20direct\x20child\x20menu(s).',_0x41dd99(0xb0));if(!_0x118da7[_0x41dd99(0x81)]['trim']())throw menuError('menu_external_link_path_missing',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0x90),_0x41dd99(0x7a));}function verifyUpdatedFact(_0x2e9273,_0x2bc04c,_0x1deafc){const _0x4377c9=a110_0x2233cd;assertExternalLinkLeaf(_0x2bc04c);const _0x85b60d=[['id',_0x2bc04c['id'],_0x2e9273['id']],[_0x4377c9(0x74),_0x2bc04c['label'],_0x2e9273['label']],[_0x4377c9(0xb2),_0x2bc04c[_0x4377c9(0xb2)],_0x2e9273[_0x4377c9(0xb2)]],[_0x4377c9(0x81),_0x2bc04c[_0x4377c9(0x81)],_0x2e9273[_0x4377c9(0x81)]],[_0x4377c9(0x7d),_0x2bc04c[_0x4377c9(0x7d)],_0x2e9273[_0x4377c9(0x7d)]],[_0x4377c9(0x93),_0x2bc04c['sort'],_0x2e9273[_0x4377c9(0x93)]],[_0x4377c9(0x88),_0x2bc04c[_0x4377c9(0x88)],_0x2e9273[_0x4377c9(0x88)]]];for(const [_0x536acd,_0x38d9d7,_0x3aacea]of _0x85b60d){assertVerified(_0x38d9d7===_0x3aacea,'Menu\x20'+_0x2e9273['id']+'\x20'+_0x536acd+_0x4377c9(0x75));}assertVerified(_0x2bc04c[_0x4377c9(0xaa)]===_0x1deafc,_0x4377c9(0x96)+_0x2e9273['id']+_0x4377c9(0x76));}function updateSuccess(_0x3ea150,_0x1a45ef,_0xd69beb,_0x167ba9,_0x5b6b58){const _0x55119c=a110_0x2233cd,_0xc810ee=_0xd69beb['id'],_0x34b8cc=mutationResult({..._0x3ea150,'after':_0xd69beb,'dryRun':![],'succeeded':[{'id':_0xc810ee,'updated':!_0x167ba9,'skipped':_0x167ba9,'recovered':_0x5b6b58}],'verification':{'checkedBy':_0x55119c(0x73),'snapshotHash':_0x1a45ef[_0x55119c(0x86)],'targetId':_0xc810ee,'matchesRequestedState':!![],'recovered':_0x5b6b58}});return{'ok':!![],'message':_0x5b6b58?_0x55119c(0xc0)+_0xc810ee+'.':_0x167ba9?_0x55119c(0x96)+_0xc810ee+_0x55119c(0x8f):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0xc810ee+'.','data':{..._0x34b8cc,'recovered':_0x5b6b58}};}async function recoverAfterResponseLoss(_0xf619e8,_0x5260d4){const _0x320663=a110_0x2233cd,{plan:_0x3aa6f8,before:_0x2a5417,body:_0x542003}=_0x5260d4;let _0x2dd444;try{_0x2dd444=await fetchMenuSnapshot(_0xf619e8[_0x320663(0xb4)],_0xf619e8['cookie']);}catch{throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'readbackFailed':!![]});}const _0x48fca2=_0x2dd444[_0x320663(0xb5)][_0x320663(0x9b)](_0x542003['id']);if(!_0x48fca2||_0x48fca2['url']!==_0x542003[_0x320663(0xaa)])throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'requestedUrlObserved':![],'after':_0x48fca2??null});try{verifyUpdatedFact(_0x2a5417,_0x48fca2,_0x542003[_0x320663(0xaa)]);}catch(_0x4cdb11){const _0x3d591d=asVerificationError(_0x4cdb11,_0x320663(0x89)+_0x542003['id']+_0x320663(0xb9));throw menuFailure(_0x3d591d,_0x3aa6f8,{'stage':_0x320663(0x9d),'succeeded':[{'id':_0x542003['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x48fca2,'warnings':[_0x320663(0xa6)],'verification':{'status':'failed','targetId':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xf619e8[_0x320663(0xb4)])}});}return updateSuccess(_0x3aa6f8,_0x2dd444,_0x48fca2,![],!![]);}function recoveryRequired(_0x4edd86,_0x33fdd9,_0xc141ed){const _0xc473e4=a110_0x2233cd,_0x1dbf97=menuError(_0xc473e4(0xac),_0xc473e4(0xb1),_0xc473e4(0x8a)+buildLookupCommand(_0x33fdd9)+_0xc473e4(0x7c));return menuFailure(_0x1dbf97,_0x4edd86,{'stage':_0xc473e4(0x9d),'failed':{'id':_0xc141ed['id'],..._0xc141ed['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed[_0xc473e4(0xa7)]?{'readbackFailed':!![]}:{}},'after':_0xc141ed[_0xc473e4(0xa3)],'warnings':[_0xc473e4(0xbb)],'verification':{'status':'failed','targetId':_0xc141ed['id'],..._0xc141ed[_0xc473e4(0xab)]===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x33fdd9)}});}function buildLookupCommand(_0x11951b){const _0x4e3417=a110_0x2233cd,_0x5a067f='\x27'+_0x11951b['replace'](/'/g,_0x4e3417(0x9c))+'\x27';return _0x4e3417(0xad)+_0x5a067f+_0x4e3417(0x83);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0xce6f3b=a111_0x22b5;(function(_0x2607f6,_0x2c0328){const _0x3982a0=a111_0x22b5,_0x59606a=_0x2607f6();while(!![]){try{const _0x39b10b=parseInt(_0x3982a0(0xf5))/0x1*(parseInt(_0x3982a0(0x12d))/0x2)+-parseInt(_0x3982a0(0xef))/0x3+-parseInt(_0x3982a0(0x125))/0x4*(parseInt(_0x3982a0(0x10f))/0x5)+-parseInt(_0x3982a0(0x11d))/0x6+-parseInt(_0x3982a0(0xf0))/0x7*(-parseInt(_0x3982a0(0x114))/0x8)+parseInt(_0x3982a0(0xfd))/0x9+parseInt(_0x3982a0(0x104))/0xa*(parseInt(_0x3982a0(0x130))/0xb);if(_0x39b10b===_0x2c0328)break;else _0x59606a['push'](_0x59606a['shift']());}catch(_0x52b165){_0x59606a['push'](_0x59606a['shift']());}}}(a111_0x8a53,0x66779));function a111_0x8a53(){const _0x15430b=['appCode','write','\x20is\x20not\x20type\x20folder.','2598948HHgRed','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Would\x20create\x20empty\x20folder\x20\x22','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','failed','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','12805430TJyJtO','path','\x20has\x20unexpected\x20parent\x20','stringify','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','cookie','rabetbase\x20menu\x20list\x20--format\x20json','Menu\x20create\x20response\x20for\x20folder\x20','flagMissing','str','50pUDLRg','string','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','verify\x20folder\x20creation','\x20has\x20an\x20unexpected\x20sort.','491896rIycQa','parentId','folder','create','depth','trim','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','type','menu_create_response_invalid','3742230OrnUUO','\x20is\x20not\x20visible.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','\x20may\x20exist\x20online\x20at\x20path\x20','verification','Created\x20menu\x20folder\x20','sort','parent-id','185116PhAYwr','menu\x20list','POST','label','Created\x20folder\x20','length','Folder\x20label','Created\x20menu\x20','6718BAsQvv','/smartapi/menu/create','Folder\x20','11CRCCki','create\x20folder','get','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','666039xfwGtB','7homAiC','root','\x20is\x20missing\x20from\x20menu\x20list.','create-response-validation','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','29nbzhXo','resources',';\x20verify\x20it\x20before\x20retrying.','hash','\x20has\x20an\x20unexpected\x20label.'];a111_0x8a53=function(){return _0x15430b;};return a111_0x8a53();}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a111_0xce6f3b(0x127),'path':a111_0xce6f3b(0x12e)}];function a111_0x22b5(_0x298c12,_0x43b75f){_0x298c12=_0x298c12-0xee;const _0x8a5374=a111_0x8a53();let _0x22b524=_0x8a5374[_0x298c12];return _0x22b524;}export const menuGroupCreate={'service':'menu','command':'group-create','description':a111_0xce6f3b(0xee),'risk':a111_0xce6f3b(0xfb),'structuredErrors':!![],'flags':[{'name':a111_0xce6f3b(0x128),'type':a111_0xce6f3b(0x110),'required':!![],'description':a111_0xce6f3b(0x12b)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3c1fbb){validateCreateInput(_0x3c1fbb);},async 'dryRun'(_0x4560a8){const _0x18bd56=a111_0xce6f3b,_0x38ba52=await buildCreatePlan(_0x4560a8,!![]),_0x5d1bf1=_0x38ba52['after'];return menuDryRunResult(_0x38ba52,{'method':_0x18bd56(0x127),'url':_0x18bd56(0x12e),'body':{'parentId':toApiParentId(_0x5d1bf1['parentId']),'label':_0x5d1bf1[_0x18bd56(0x128)],'type':_0x18bd56(0x116),'visible':!![],'sort':_0x5d1bf1[_0x18bd56(0x123)],'extend':{}},'description':_0x18bd56(0xff)+String(_0x5d1bf1[_0x18bd56(0x128)])+'\x22\x20with\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x198a23){const _0x41bb3c=a111_0xce6f3b;validateCreateInput(_0x198a23);const _0x5038f7=await buildCreatePlan(_0x198a23,![]),_0x241008=_0x5038f7['after'];await recheckMutationSnapshot(_0x198a23,_0x5038f7,'create\x20folder');let _0x175b38;try{_0x175b38=await createMenuEntity(_0x198a23[_0x41bb3c(0xfa)],_0x198a23[_0x41bb3c(0x10a)],{'parentId':toApiParentId(_0x241008[_0x41bb3c(0x115)]),'label':String(_0x241008['label']),'type':_0x41bb3c(0x116),'visible':!![],'sort':Number(_0x241008['sort']),'extend':{}});}catch(_0x31c7b1){const _0x36eea5=mapMenuApiError(_0x31c7b1,_0x41bb3c(0x131));throw menuFailure(_0x36eea5,_0x5038f7,{'stage':_0x41bb3c(0x117),'failed':{}});}const _0x418b54=Number(_0x175b38['id']);if(!Number['isSafeInteger'](_0x418b54)||_0x418b54<=0x0){const _0x405307=menuError('menu_create_response_invalid','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.',_0x41bb3c(0x103));throw menuFailure(_0x405307,_0x5038f7,{'stage':'create-response-validation','failed':{'createdId':_0x175b38['id']??null},'warnings':[_0x41bb3c(0x11a)],'verification':{'status':_0x41bb3c(0x101),'lookupCommand':_0x41bb3c(0x10b)}});}const _0x196ba6=typeof _0x175b38[_0x41bb3c(0x105)]===_0x41bb3c(0x110)?_0x175b38[_0x41bb3c(0x105)]:'';if(!_0x196ba6['trim']()){const _0x4aa1f6=menuError(_0x41bb3c(0x11c),_0x41bb3c(0x10c)+_0x418b54+_0x41bb3c(0xfe),_0x41bb3c(0x100));throw menuFailure(_0x4aa1f6,_0x5038f7,{'stage':_0x41bb3c(0xf3),'succeeded':[{'id':_0x418b54,'created':!![]}],'failed':{'id':_0x418b54,'generatedPathConfirmed':![]},'warnings':[_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x111)],'after':{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':'failed','lookupCommand':_0x41bb3c(0x10b),'targetId':_0x418b54}});}let _0x5e583b;try{_0x5e583b=await fetchMenuSnapshot(_0x198a23['appCode'],_0x198a23['cookie']);}catch(_0x1a751d){const _0x40ebb1=describeMenuErrorCause(_0x1a751d,_0x41bb3c(0x112),_0x418b54),_0x69fa81=asVerificationError(_0x1a751d,_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x109));throw menuFailure(_0x69fa81,_0x5038f7,{'stage':'verification','succeeded':[{'id':_0x418b54,'created':!![],'path':_0x196ba6}],'failed':{'id':_0x418b54,'finalFactsConfirmed':![],..._0x40ebb1},'warnings':[_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x120)+JSON[_0x41bb3c(0x107)](_0x196ba6)+_0x41bb3c(0xf7)],'after':{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':'failed','lookupCommand':_0x41bb3c(0x10b),'targetId':_0x418b54}});}const _0x5cefe8=_0x5e583b['byId'][_0x41bb3c(0x132)](_0x418b54);let _0x113846;try{assertVerified(Boolean(_0x5cefe8),_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0xf2)),_0x113846=_0x5cefe8,assertVerified(_0x113846[_0x41bb3c(0x11b)]===_0x41bb3c(0x116),_0x41bb3c(0x12c)+_0x418b54+_0x41bb3c(0xfc)),assertVerified(_0x113846[_0x41bb3c(0x128)]===_0x241008['label'],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0xf9)),assertVerified(_0x113846['path']===_0x196ba6&&Boolean(_0x113846[_0x41bb3c(0x105)][_0x41bb3c(0x119)]()),'Created\x20folder\x20'+_0x418b54+_0x41bb3c(0x108)),assertVerified(_0x113846['visible']===!![],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x11e)),assertVerified(_0x113846[_0x41bb3c(0xf6)][_0x41bb3c(0x12a)]===0x0,_0x41bb3c(0x129)+_0x418b54+'\x20has\x20resources.'),assertVerified(_0x113846['childrenCount']===0x0,_0x41bb3c(0x129)+_0x418b54+'\x20is\x20not\x20empty.'),assertVerified(_0x113846[_0x41bb3c(0x123)]===_0x241008['sort'],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x113)),assertVerified(_0x113846[_0x41bb3c(0x115)]===_0x241008[_0x41bb3c(0x115)],_0x41bb3c(0x129)+_0x418b54+_0x41bb3c(0x106)+(_0x113846[_0x41bb3c(0x115)]??_0x41bb3c(0xf1))+'.'),assertVerified(_0x113846['pageId']==null,_0x41bb3c(0x129)+_0x418b54+'\x20unexpectedly\x20owns\x20a\x20page.');const _0x4bc507=_0x113846['parentId']==null?undefined:requireFolder(_0x5e583b,_0x113846['parentId']);assertVerified(_0x113846[_0x41bb3c(0x118)]===(_0x4bc507?_0x4bc507[_0x41bb3c(0x118)]+0x1:0x0),'Created\x20folder\x20'+_0x418b54+_0x41bb3c(0x102));}catch(_0x228fff){const _0x27f245=describeMenuErrorCause(_0x228fff,_0x41bb3c(0x112),_0x418b54),_0x5cdf1a=asVerificationError(_0x228fff,_0x41bb3c(0x12f)+_0x418b54+_0x41bb3c(0x11f));throw menuFailure(_0x5cdf1a,_0x5038f7,{'stage':_0x41bb3c(0x121),'succeeded':[{'id':_0x418b54,'created':!![],'path':_0x196ba6}],'failed':{'id':_0x418b54,'finalFactsConfirmed':![],..._0x27f245},'warnings':['Folder\x20'+_0x418b54+_0x41bb3c(0xf4)],'after':_0x5cefe8??{..._0x241008,'id':_0x418b54,'path':_0x196ba6},'verification':{'status':_0x41bb3c(0x101),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x418b54}});}const _0x576b31=mutationResult({..._0x5038f7,'after':_0x113846,'dryRun':![],'succeeded':[{'id':_0x418b54,'type':_0x41bb3c(0x116),'path':_0x196ba6}],'verification':{'checkedBy':_0x41bb3c(0x126),'snapshotHash':_0x5e583b[_0x41bb3c(0xf8)],'folder':!![],'path':_0x196ba6,'emptyResources':!![]}});return{'ok':!![],'data':_0x576b31,'message':_0x41bb3c(0x122)+_0x418b54+'.'};}};function validateCreateInput(_0x446f81){const _0x567b5c=a111_0xce6f3b,_0x169a3c=_0x446f81[_0x567b5c(0x10e)](_0x567b5c(0x128))[_0x567b5c(0x119)]();if(!_0x169a3c)throw CliErrors[_0x567b5c(0x10d)](_0x567b5c(0x128));parseParentId(_0x446f81,_0x567b5c(0x124)),validateSort(_0x446f81);}async function buildCreatePlan(_0x53aef5,_0x3687c7){const _0x20390d=a111_0xce6f3b,_0x20d3a6=await fetchMutationSnapshot(_0x53aef5,_0x20390d(0x131)),_0x4a400a=parseParentId(_0x53aef5,_0x20390d(0x124))??null;if(_0x4a400a!=null)requireFolder(_0x20d3a6,_0x4a400a);const _0x4aee3e=validateSort(_0x53aef5),_0x1c8786=_0x4aee3e??nextSiblingSort(_0x20d3a6,_0x4a400a,_0x20390d(0x116)),_0x4f07ff=_0x53aef5[_0x20390d(0x10e)]('label')[_0x20390d(0x119)]();return mutationResult({'operation':'group-create','selector':{'label':_0x4f07ff,'parentId':_0x4a400a},'before':null,'after':{'id':null,'parentId':_0x4a400a,'label':_0x4f07ff,'path':'<platform-generated>','type':'folder','visible':!![],'sort':_0x1c8786,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x3687c7,'backend':[...BACKEND],'plannedActions':[{'stage':'create-folder','method':_0x20390d(0x127),'path':_0x20390d(0x12e),'body':{'parentId':toApiParentId(_0x4a400a),'label':_0x4f07ff,'type':_0x20390d(0x116),'visible':!![],'sort':_0x1c8786,'extend':{}}}],'snapshotHash':_0x20d3a6[_0x20390d(0xf8)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
const a111_0xa4d45f=a111_0x50e8;function a111_0x4655(){const _0x45d119=['hash','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','verification','\x20has\x20an\x20unexpected\x20sort.','menu_create_response_invalid','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','depth','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','67998WCcVVb','string','menu','trim','\x20has\x20resources.','sort','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','root','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','<platform-generated>','create-folder','Created\x20menu\x20folder\x20','path','parentId','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','group-create','\x20is\x20not\x20visible.','991136aGShiN','verify\x20folder\x20creation','Menu\x20create\x20response\x20for\x20folder\x20','create-response-validation','cookie','56CvEnwS','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','label','Created\x20menu\x20','Created\x20folder\x20','flagMissing','parent-id','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','create','create\x20folder','\x20is\x20not\x20type\x20folder.','2390760TlKUaS','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','Folder\x20label','menu\x20list','\x22\x20with\x20a\x20platform-generated\x20path.','2505084eXfOez','10869aqaQDl','11652750UIOdnq','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder',';\x20verify\x20it\x20before\x20retrying.','type','rabetbase\x20menu\x20list\x20--format\x20json','appCode','length','POST','Folder\x20','failed','folder','\x20unexpectedly\x20owns\x20a\x20page.','296xnajhc','isSafeInteger','str','6769QvUHts','byId','resources'];a111_0x4655=function(){return _0x45d119;};return a111_0x4655();}function a111_0x50e8(_0x5c9989,_0x480f37){_0x5c9989=_0x5c9989-0xc7;const _0x4655b6=a111_0x4655();let _0x50e822=_0x4655b6[_0x5c9989];return _0x50e822;}(function(_0x33d2ad,_0x2cf19c){const _0x14ee6d=a111_0x50e8,_0x626e=_0x33d2ad();while(!![]){try{const _0x593b3e=-parseInt(_0x14ee6d(0xcc))/0x1*(parseInt(_0x14ee6d(0xed))/0x2)+parseInt(_0x14ee6d(0xfe))/0x3+-parseInt(_0x14ee6d(0xe8))/0x4+-parseInt(_0x14ee6d(0xf8))/0x5+-parseInt(_0x14ee6d(0xfd))/0x6+parseInt(_0x14ee6d(0xd7))/0x7*(parseInt(_0x14ee6d(0xc9))/0x8)+parseInt(_0x14ee6d(0xff))/0x9;if(_0x593b3e===_0x2cf19c)break;else _0x626e['push'](_0x626e['shift']());}catch(_0x334a68){_0x626e['push'](_0x626e['shift']());}}}(a111_0x4655,0x4f4c9));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/create'}];export const menuGroupCreate={'service':a111_0xa4d45f(0xd9),'command':a111_0xa4d45f(0xe6),'description':a111_0xa4d45f(0x100),'risk':'write','structuredErrors':!![],'flags':[{'name':a111_0xa4d45f(0xef),'type':a111_0xa4d45f(0xd8),'required':!![],'description':a111_0xa4d45f(0xfa)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x4142fd){validateCreateInput(_0x4142fd);},async 'dryRun'(_0x3e609a){const _0x185a62=a111_0xa4d45f,_0xb96f7d=await buildCreatePlan(_0x3e609a,!![]),_0x4c2083=_0xb96f7d['after'];return menuDryRunResult(_0xb96f7d,{'method':_0x185a62(0x106),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4c2083[_0x185a62(0xe4)]),'label':_0x4c2083[_0x185a62(0xef)],'type':_0x185a62(0xc7),'visible':!![],'sort':_0x4c2083['sort'],'extend':{}},'description':'Would\x20create\x20empty\x20folder\x20\x22'+String(_0x4c2083['label'])+_0x185a62(0xfc)});},async 'execute'(_0x430aac){const _0x838a7a=a111_0xa4d45f;validateCreateInput(_0x430aac);const _0x46e597=await buildCreatePlan(_0x430aac,![]),_0x2d1c29=_0x46e597['after'];await recheckMutationSnapshot(_0x430aac,_0x46e597,_0x838a7a(0xf6));let _0x56e794;try{_0x56e794=await createMenuEntity(_0x430aac[_0x838a7a(0x104)],_0x430aac['cookie'],{'parentId':toApiParentId(_0x2d1c29[_0x838a7a(0xe4)]),'label':String(_0x2d1c29[_0x838a7a(0xef)]),'type':_0x838a7a(0xc7),'visible':!![],'sort':Number(_0x2d1c29[_0x838a7a(0xdc)]),'extend':{}});}catch(_0x5840bb){const _0x4a0ca6=mapMenuApiError(_0x5840bb,_0x838a7a(0xf6));throw menuFailure(_0x4a0ca6,_0x46e597,{'stage':_0x838a7a(0xf5),'failed':{}});}const _0x57e842=Number(_0x56e794['id']);if(!Number[_0x838a7a(0xca)](_0x57e842)||_0x57e842<=0x0){const _0xca4256=menuError(_0x838a7a(0xd3),_0x838a7a(0xdd),_0x838a7a(0xe5));throw menuFailure(_0xca4256,_0x46e597,{'stage':_0x838a7a(0xeb),'failed':{'createdId':_0x56e794['id']??null},'warnings':[_0x838a7a(0xee)],'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103)}});}const _0x282ab5=typeof _0x56e794['path']==='string'?_0x56e794[_0x838a7a(0xe3)]:'';if(!_0x282ab5[_0x838a7a(0xda)]()){const _0x26448a=menuError(_0x838a7a(0xd3),_0x838a7a(0xea)+_0x57e842+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.');throw menuFailure(_0x26448a,_0x46e597,{'stage':_0x838a7a(0xeb),'succeeded':[{'id':_0x57e842,'created':!![]}],'failed':{'id':_0x57e842,'generatedPathConfirmed':![]},'warnings':[_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xd6)],'after':{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':'failed','lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}let _0x4358cb;try{_0x4358cb=await fetchMenuSnapshot(_0x430aac[_0x838a7a(0x104)],_0x430aac[_0x838a7a(0xec)]);}catch(_0x454085){const _0x21218d=describeMenuErrorCause(_0x454085,'verify\x20folder\x20creation',_0x57e842),_0x44292e=asVerificationError(_0x454085,_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xdf));throw menuFailure(_0x44292e,_0x46e597,{'stage':_0x838a7a(0xd1),'succeeded':[{'id':_0x57e842,'created':!![],'path':_0x282ab5}],'failed':{'id':_0x57e842,'finalFactsConfirmed':![],..._0x21218d},'warnings':['Folder\x20'+_0x57e842+'\x20may\x20exist\x20online\x20at\x20path\x20'+JSON['stringify'](_0x282ab5)+_0x838a7a(0x101)],'after':{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}const _0x167e5b=_0x4358cb[_0x838a7a(0xcd)]['get'](_0x57e842);let _0x526d7b;try{assertVerified(Boolean(_0x167e5b),'Created\x20folder\x20'+_0x57e842+'\x20is\x20missing\x20from\x20menu\x20list.'),_0x526d7b=_0x167e5b,assertVerified(_0x526d7b[_0x838a7a(0x102)]==='folder',_0x838a7a(0xf0)+_0x57e842+_0x838a7a(0xf7)),assertVerified(_0x526d7b[_0x838a7a(0xef)]===_0x2d1c29[_0x838a7a(0xef)],_0x838a7a(0xf1)+_0x57e842+'\x20has\x20an\x20unexpected\x20label.'),assertVerified(_0x526d7b[_0x838a7a(0xe3)]===_0x282ab5&&Boolean(_0x526d7b[_0x838a7a(0xe3)]['trim']()),_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xf9)),assertVerified(_0x526d7b['visible']===!![],_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xe7)),assertVerified(_0x526d7b[_0x838a7a(0xce)][_0x838a7a(0x105)]===0x0,'Created\x20folder\x20'+_0x57e842+_0x838a7a(0xdb)),assertVerified(_0x526d7b['childrenCount']===0x0,_0x838a7a(0xf1)+_0x57e842+'\x20is\x20not\x20empty.'),assertVerified(_0x526d7b[_0x838a7a(0xdc)]===_0x2d1c29['sort'],'Created\x20folder\x20'+_0x57e842+_0x838a7a(0xd2)),assertVerified(_0x526d7b[_0x838a7a(0xe4)]===_0x2d1c29['parentId'],_0x838a7a(0xf1)+_0x57e842+'\x20has\x20unexpected\x20parent\x20'+(_0x526d7b[_0x838a7a(0xe4)]??_0x838a7a(0xde))+'.'),assertVerified(_0x526d7b['pageId']==null,_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xc8));const _0x2272a9=_0x526d7b[_0x838a7a(0xe4)]==null?undefined:requireFolder(_0x4358cb,_0x526d7b[_0x838a7a(0xe4)]);assertVerified(_0x526d7b[_0x838a7a(0xd5)]===(_0x2272a9?_0x2272a9['depth']+0x1:0x0),_0x838a7a(0xf1)+_0x57e842+_0x838a7a(0xd4));}catch(_0x4e71f5){const _0x7e9472=describeMenuErrorCause(_0x4e71f5,_0x838a7a(0xe9),_0x57e842),_0x30eb77=asVerificationError(_0x4e71f5,'Folder\x20'+_0x57e842+'\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract');throw menuFailure(_0x30eb77,_0x46e597,{'stage':_0x838a7a(0xd1),'succeeded':[{'id':_0x57e842,'created':!![],'path':_0x282ab5}],'failed':{'id':_0x57e842,'finalFactsConfirmed':![],..._0x7e9472},'warnings':[_0x838a7a(0x107)+_0x57e842+_0x838a7a(0xd0)],'after':_0x167e5b??{..._0x2d1c29,'id':_0x57e842,'path':_0x282ab5},'verification':{'status':_0x838a7a(0x108),'lookupCommand':_0x838a7a(0x103),'targetId':_0x57e842}});}const _0x36ab7d=mutationResult({..._0x46e597,'after':_0x526d7b,'dryRun':![],'succeeded':[{'id':_0x57e842,'type':_0x838a7a(0xc7),'path':_0x282ab5}],'verification':{'checkedBy':_0x838a7a(0xfb),'snapshotHash':_0x4358cb['hash'],'folder':!![],'path':_0x282ab5,'emptyResources':!![]}});return{'ok':!![],'data':_0x36ab7d,'message':_0x838a7a(0xe2)+_0x57e842+'.'};}};function validateCreateInput(_0x391f45){const _0x3f5a9a=a111_0xa4d45f,_0x1ea0e0=_0x391f45['str'](_0x3f5a9a(0xef))[_0x3f5a9a(0xda)]();if(!_0x1ea0e0)throw CliErrors[_0x3f5a9a(0xf2)](_0x3f5a9a(0xef));parseParentId(_0x391f45,'parent-id'),validateSort(_0x391f45);}async function buildCreatePlan(_0x2e2857,_0xa2943a){const _0x136b77=a111_0xa4d45f,_0x50564b=await fetchMutationSnapshot(_0x2e2857,_0x136b77(0xf6)),_0x4fa938=parseParentId(_0x2e2857,_0x136b77(0xf3))??null;if(_0x4fa938!=null)requireFolder(_0x50564b,_0x4fa938);const _0x4a515d=validateSort(_0x2e2857),_0x512b41=_0x4a515d??nextSiblingSort(_0x50564b,_0x4fa938,_0x136b77(0xc7)),_0xcefb07=_0x2e2857[_0x136b77(0xcb)](_0x136b77(0xef))[_0x136b77(0xda)]();return mutationResult({'operation':'group-create','selector':{'label':_0xcefb07,'parentId':_0x4fa938},'before':null,'after':{'id':null,'parentId':_0x4fa938,'label':_0xcefb07,'path':_0x136b77(0xe0),'type':_0x136b77(0xc7),'visible':!![],'sort':_0x512b41,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0xa2943a,'backend':[...BACKEND],'plannedActions':[{'stage':_0x136b77(0xe1),'method':_0x136b77(0x106),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x4fa938),'label':_0xcefb07,'type':_0x136b77(0xc7),'visible':!![],'sort':_0x512b41,'extend':{}}}],'snapshotHash':_0x50564b[_0x136b77(0xcf)],'warnings':[_0x136b77(0xf4)]});}
|