@lovrabet/rabetbase-cli 2.3.16-beta.7 → 2.4.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.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_0x36ba5f=a105_0x290f;(function(_0x105db6,_0x7a500){const _0x4c4b98=a105_0x290f,_0x43fb89=_0x105db6();while(!![]){try{const _0x136324=parseInt(_0x4c4b98(0x8b))/0x1+parseInt(_0x4c4b98(0xb3))/0x2+parseInt(_0x4c4b98(0x99))/0x3*(parseInt(_0x4c4b98(0x8c))/0x4)+parseInt(_0x4c4b98(0x90))/0x5*(-parseInt(_0x4c4b98(0x94))/0x6)+-parseInt(_0x4c4b98(0xbc))/0x7+parseInt(_0x4c4b98(0x9a))/0x8+-parseInt(_0x4c4b98(0xb9))/0x9;if(_0x136324===_0x7a500)break;else _0x43fb89['push'](_0x43fb89['shift']());}catch(_0xbfca8){_0x43fb89['push'](_0x43fb89['shift']());}}}(a105_0x4496,0x490c8));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';function a105_0x290f(_0x2670a8,_0x4bcdc1){_0x2670a8=_0x2670a8-0x89;const _0x449605=a105_0x4496();let _0x290f3b=_0x449605[_0x2670a8];return _0x290f3b;}const UPDATE_PATH=a105_0x36ba5f(0xa7),NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function a105_0x4496(){const _0x5e69fc=['string','content','appCode','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','76282DqyQee','beforeRecord','company','number','trim','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','840528isQdiD','high-risk-write','before','3519222EEcpGu','title','kb_expected_version_invalid','POST','337140EJZsUB','1409968hitOEf','cookie','update','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','135NtYzLV','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','planned','patch','35646zGHpOO','flag','kb_update_outcome_unknown','kb_verification_failed','New\x20knowledge-base\x20title','3xrWfaB','2623840FFYiJj','rabetbase\x20kb\x20detail\x20--id\x20','\x20--format\x20compress','contentHash','expectedVersion','isSafeInteger','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','Company\x20knowledge-base\x20id','push','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','expected-version','--title\x20cannot\x20be\x20empty.','version','/admin/knowledge-base/update','replacement','file','snapshotHash','--file\x20cannot\x20be\x20empty.','Nothing\x20to\x20update.','kb_update_empty','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.'];a105_0x4496=function(){return _0x5e69fc;};return a105_0x4496();}function readUpdatePatch(_0x40b60e){const _0x4656c2=a105_0x36ba5f,_0x4e9728=readKbId(_0x40b60e),_0x510391=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xbd)),_0x34cab4=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xa9)),_0x294499=_0x40b60e[_0x4656c2(0x95)](_0x4656c2(0xa4)),_0x405c12=_0x510391===undefined?undefined:String(_0x510391)[_0x4656c2(0xb7)]();if(_0x510391!==undefined&&!_0x405c12)throw kbError('kb_title_invalid',_0x4656c2(0xa5));const _0x273381=_0x34cab4===undefined?undefined:String(_0x34cab4)['trim']();if(_0x34cab4!==undefined&&!_0x273381)throw kbError('kb_file_required',_0x4656c2(0xab));if(_0x405c12===undefined&&_0x273381===undefined)throw kbError(_0x4656c2(0xad),_0x4656c2(0xac),'Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.');let _0x523021;if(_0x294499!==undefined){_0x523021=Number(_0x294499);if(!Number[_0x4656c2(0x9f)](_0x523021)||_0x523021<0x0)throw kbError(_0x4656c2(0x89),_0x4656c2(0xa0));}return{'id':_0x4e9728,'title':_0x405c12,'file':_0x273381,'expectedVersion':_0x523021};}async function prepareUpdate(_0x5b3168){const _0x12e948=a105_0x36ba5f,_0x1fcc1e=readUpdatePatch(_0x5b3168),_0x57a62a=await requireKb(_0x5b3168,_0x1fcc1e['id']);assertExpectedKbVersion(_0x57a62a,_0x1fcc1e[_0x12e948(0x9e)]);const _0x33152e=_0x1fcc1e[_0x12e948(0xa9)]?await readKbFile(_0x1fcc1e[_0x12e948(0xa9)]):undefined,_0x5a8f4e=projectKb(_0x57a62a),_0x271db2=projectKb({..._0x57a62a,..._0x1fcc1e['title']!==undefined?{'title':_0x1fcc1e['title']}:{},..._0x33152e?{'content':_0x33152e[_0x12e948(0xb0)]}:{}});return{'patch':_0x1fcc1e,'beforeRecord':_0x57a62a,'before':_0x5a8f4e,'planned':_0x271db2,'replacement':_0x33152e};}export const kbUpdate={'service':'kb','command':'update','description':a105_0x36ba5f(0x8f),'risk':a105_0x36ba5f(0xba),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x36ba5f(0xb6),'required':!![],'description':a105_0x36ba5f(0xa1)},{'name':'title','type':a105_0x36ba5f(0xaf),'required':![],'description':a105_0x36ba5f(0x98)},{'name':a105_0x36ba5f(0xa9),'type':a105_0x36ba5f(0xaf),'required':![],'description':a105_0x36ba5f(0x91)},{'name':a105_0x36ba5f(0xa4),'type':a105_0x36ba5f(0xb6),'required':![],'description':a105_0x36ba5f(0xa3)}],async 'validate'(_0x5b376d){readUpdatePatch(_0x5b376d),requireKbExplicitYes(_0x5b376d);},async 'dryRun'(_0x2712e8){const _0x1cabe9=a105_0x36ba5f,_0x2f26fc=await prepareUpdate(_0x2712e8),_0x2b94ab=_0x2f26fc['patch'][_0x1cabe9(0x9e)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x1cabe9(0x8e),'selector':{'id':_0x2f26fc['before']['id'],'scope':'company','appCode':_0x2f26fc[_0x1cabe9(0xbb)][_0x1cabe9(0xb1)]},'before':_0x2f26fc[_0x1cabe9(0xbb)],'after':_0x2f26fc[_0x1cabe9(0x92)],'dryRun':!![],'backend':{'method':_0x1cabe9(0x8a),'path':UPDATE_PATH},'warnings':_0x2b94ab,'verification':{'expectedVersion':_0x2f26fc[_0x1cabe9(0x93)][_0x1cabe9(0x9e)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x2f26fc[_0x1cabe9(0xbb)][_0x1cabe9(0xaa)],'lookupCommand':_0x1cabe9(0x9b)+_0x2f26fc['before']['id']+_0x1cabe9(0x9c)}},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0xc9d0a6){const _0x18d9a5=a105_0x36ba5f;requireKbExplicitYes(_0xc9d0a6);const _0x4877d5=await prepareUpdate(_0xc9d0a6),_0x1c328f={'id':_0x4877d5[_0x18d9a5(0x93)]['id'],..._0x4877d5['patch']['title']!==undefined?{'title':_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)]}:{},..._0x4877d5[_0x18d9a5(0xa8)]?{'content':_0x4877d5['replacement'][_0x18d9a5(0xb0)]}:{}};let _0xf1c5a6=![];try{const _0x63a70d=await updateEnterpriseKnowledgeBase(_0xc9d0a6[_0x18d9a5(0x8d)],_0x1c328f);assertCompanyKnowledgeBase(_0x63a70d,_0xc9d0a6[_0x18d9a5(0xb1)],_0x4877d5[_0x18d9a5(0x93)]['id']);}catch(_0x30d273){if(!isPlatformTransportFailure(_0x30d273))throw _0x30d273;_0xf1c5a6=!![];}const _0x5e1c22=await verifyKbMutationReadback(_0x18d9a5(0x8e),_0xf1c5a6,()=>requireKb(_0xc9d0a6,_0x4877d5[_0x18d9a5(0x93)]['id'])),_0x182ed8=projectKb(_0x5e1c22),_0x5e8f14=_0x4877d5['patch']['title']===undefined||_0x5e1c22[_0x18d9a5(0xbd)]===_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)],_0xcbe7fb=!_0x4877d5[_0x18d9a5(0xa8)]||inspectKbContent(_0x5e1c22['content'])[_0x18d9a5(0x9d)]===_0x4877d5[_0x18d9a5(0xa8)]['contentHash'],_0x599d8a=!_0x4877d5['replacement']||_0x5e1c22[_0x18d9a5(0xa6)]>_0x4877d5[_0x18d9a5(0xb4)][_0x18d9a5(0xa6)],_0x57218e=!_0xf1c5a6||_0x4877d5[_0x18d9a5(0xa8)]!==undefined||_0x4877d5[_0x18d9a5(0x93)]['title']===undefined||_0x4877d5[_0x18d9a5(0xb4)][_0x18d9a5(0xbd)]!==_0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0xbd)];if(!_0x5e8f14||!_0xcbe7fb||!_0x599d8a||!_0x57218e)throw kbError(_0xf1c5a6?_0x18d9a5(0x96):_0x18d9a5(0x97),'Company\x20knowledge\x20base\x20'+_0x4877d5[_0x18d9a5(0x93)]['id']+'\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.',_0x18d9a5(0xb8)+_0x4877d5['patch']['id']+_0x18d9a5(0xae));const _0x5b5049=[];return _0x4877d5[_0x18d9a5(0x93)][_0x18d9a5(0x9e)]!==undefined&&_0x5b5049['push'](NON_ATOMIC_WARNING),_0xf1c5a6&&_0x5b5049[_0x18d9a5(0xa2)](_0x18d9a5(0xb2)),{'ok':!![],'data':{'operation':_0x18d9a5(0x8e),'selector':{'id':_0x182ed8['id'],'scope':_0x18d9a5(0xb5),'appCode':_0x182ed8[_0x18d9a5(0xb1)]},'before':_0x4877d5[_0x18d9a5(0xbb)],'after':_0x182ed8,'dryRun':![],'backend':{'method':_0x18d9a5(0x8a),'path':UPDATE_PATH},'warnings':_0x5b5049,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0xf1c5a6,'expectedVersion':_0x4877d5[_0x18d9a5(0x93)]['expectedVersion']??null,'atomicCompareAndSet':![],'lookupCommand':_0x18d9a5(0x9b)+_0x182ed8['id']+'\x20--format\x20compress'}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x182ed8['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a106_0x5252f0=a106_0x208d;(function(_0x39ff8f,_0x12fabb){const _0x1e7144=a106_0x208d,_0x1ec4d6=_0x39ff8f();while(!![]){try{const _0x788b63=parseInt(_0x1e7144(0x96))/0x1*(-parseInt(_0x1e7144(0x7d))/0x2)+-parseInt(_0x1e7144(0x7f))/0x3+-parseInt(_0x1e7144(0x7c))/0x4+parseInt(_0x1e7144(0x7b))/0x5*(-parseInt(_0x1e7144(0x9b))/0x6)+parseInt(_0x1e7144(0x97))/0x7*(-parseInt(_0x1e7144(0x95))/0x8)+-parseInt(_0x1e7144(0x9f))/0x9*(parseInt(_0x1e7144(0x80))/0xa)+-parseInt(_0x1e7144(0x99))/0xb*(-parseInt(_0x1e7144(0x9c))/0xc);if(_0x788b63===_0x12fabb)break;else _0x1ec4d6['push'](_0x1ec4d6['shift']());}catch(_0x50e0ac){_0x1ec4d6['push'](_0x1ec4d6['shift']());}}}(a106_0x57a4,0x8252c));import{logger}from'../../utils/logger.js';function a106_0x57a4(){const _0x64f83d=['653784jpeStR','16xFuqTf','7FQnobU','View\x20command\x20history\x20logs','2821258iRkpyS','forEach','6XIasxR','180nqWGRI','message','readLogs','9rfDKmQ','length','\x20\x20\x20Time:\x20','1444470BJCdOX','3511116JLFEbr','111464DVCbDb','command','2580963nygKXo','3129370jtYkhe','log','keys','details','warn','stringify','en-US','clear','level','success','toLocaleString','*\x20No\x20logs\x20found','Clear\x20command\x20history\x20logs','timestamp','read','\x20\x20\x20Duration:\x20','logs','\x20\x20\x20Details:\x20','write','duration','show'];a106_0x57a4=function(){return _0x64f83d;};return a106_0x57a4();}function a106_0x208d(_0x1a1111,_0x17c10a){_0x1a1111=_0x1a1111-0x79;const _0x57a427=a106_0x57a4();let _0x208d6b=_0x57a427[_0x1a1111];return _0x208d6b;}function printLogs(_0x1e229f){const _0xde9cb2=a106_0x208d;if(_0x1e229f[_0xde9cb2(0x79)]===0x0){console[_0xde9cb2(0x81)](_0xde9cb2(0x8b));return;}console[_0xde9cb2(0x81)]('*\x20Lovrabet\x20CLI\x20logs:\x0a'),_0x1e229f[_0xde9cb2(0x9a)]((_0xe69208,_0x468232)=>{const _0x2b1613=_0xde9cb2,_0x38b79c=new Date(_0xe69208[_0x2b1613(0x8d)])[_0x2b1613(0x8a)](_0x2b1613(0x86)),_0x4b3e55=_0xe69208[_0x2b1613(0x88)]===_0x2b1613(0x89)?'√':_0xe69208[_0x2b1613(0x88)]==='error'?'×':_0xe69208[_0x2b1613(0x88)]===_0x2b1613(0x84)?'!':'i';console[_0x2b1613(0x81)](_0x468232+0x1+'.\x20'+_0x4b3e55+'\x20['+_0xe69208[_0x2b1613(0x7e)]+']\x20'+_0xe69208[_0x2b1613(0x9d)]),console[_0x2b1613(0x81)](_0x2b1613(0x7a)+_0x38b79c),_0xe69208[_0x2b1613(0x93)]&&console[_0x2b1613(0x81)](_0x2b1613(0x8f)+_0xe69208[_0x2b1613(0x93)]+'ms'),_0xe69208[_0x2b1613(0x83)]&&Object[_0x2b1613(0x82)](_0xe69208[_0x2b1613(0x83)])['length']>0x0&&console[_0x2b1613(0x81)](_0x2b1613(0x91)+JSON[_0x2b1613(0x85)](_0xe69208[_0x2b1613(0x83)],null,0x2)),console[_0x2b1613(0x81)]('');});}export const logsDefinitions=[{'service':a106_0x5252f0(0x90),'command':a106_0x5252f0(0x94),'description':a106_0x5252f0(0x98),'risk':a106_0x5252f0(0x8e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xca6a33){const _0x954980=a106_0x5252f0;return printLogs(logger[_0x954980(0x9e)]()),{'ok':!![]};}},{'service':a106_0x5252f0(0x90),'command':a106_0x5252f0(0x87),'description':a106_0x5252f0(0x8c),'risk':a106_0x5252f0(0x92),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x1a42be){const _0x221028=a106_0x5252f0;return logger['clearLogs'](),console[_0x221028(0x81)]('*\x20Logs\x20cleared'),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_0x1d3592=a107_0x55e5;(function(_0x5d5dbb,_0x6dd432){const _0x5efaf6=a107_0x55e5,_0x45a227=_0x5d5dbb();while(!![]){try{const _0x2cb815=-parseInt(_0x5efaf6(0x1d2))/0x1*(parseInt(_0x5efaf6(0x1f6))/0x2)+parseInt(_0x5efaf6(0x1e3))/0x3*(parseInt(_0x5efaf6(0x1ff))/0x4)+-parseInt(_0x5efaf6(0x20d))/0x5+parseInt(_0x5efaf6(0x1ca))/0x6*(parseInt(_0x5efaf6(0x1fb))/0x7)+-parseInt(_0x5efaf6(0x1d5))/0x8*(parseInt(_0x5efaf6(0x201))/0x9)+-parseInt(_0x5efaf6(0x1d7))/0xa*(-parseInt(_0x5efaf6(0x1e2))/0xb)+parseInt(_0x5efaf6(0x1c3))/0xc*(parseInt(_0x5efaf6(0x1f1))/0xd);if(_0x2cb815===_0x6dd432)break;else _0x45a227['push'](_0x45a227['shift']());}catch(_0x38db0c){_0x45a227['push'](_0x45a227['shift']());}}}(a107_0x55d2,0x2e761));import a107_0x9501cf 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';function a107_0x55e5(_0x109a73,_0x5c7b11){_0x109a73=_0x109a73-0x1b6;const _0x55d2be=a107_0x55d2();let _0x55e551=_0x55d2be[_0x109a73];return _0x55e551;}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';function a107_0x55d2(){const _0x58cd5f=['params','\x20updated.','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','bool','patch','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','\x20menu(s)\x20updated','31668fnVzuA','length','mode','Menu\x20asset\x20update\x20skipped','\x20menu(s)','\x20menu(s)\x20with\x20existing\x20resources','cookie','13518cTqWBT','\x20menu(s)\x20failed','map','selectedAppName','isArray','message','script','label','3gjEYDk','\x20menu(s)...','gray','2648sulAYU','menu','2002420lNbGhb','str','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','high-risk-write','Would\x20update\x20','force','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','POST','cyan','Fetching\x20online\x20menu\x20list...','replace','11nNnXwj','597XQvmHM','Failed\x20to\x20fetch\x20online\x20menu\x20list','Updating\x20','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','string','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','skipped','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','rawFlags','some','/smartapi/menu/update','stringify','load-mode','\x20and\x20CSS:\x20','949GNWYBA','appCode','menu-ids','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','import','90178pqOVOu','boolean','\x20\x20Update\x20','Menu\x20asset\x20update\x20failed','\x20menu\x20resource\x20set(s).','49owMcRG','all','diffs','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','6848qIZVCu','trim','3789HAZyaq','filter','\x20\x20Cancelled.','\x20failed.','✓\x20Menu\x20asset\x20update\x20completed:\x20','\x20menu(s)\x20with\x20JS:\x20','jsUrl','failed','fetch','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','validation','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','1422125MrFYzT','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','updated','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','asset-update','cssUrl','appcode','object','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','Menu\x20asset\x20update\x20completed:\x20','\x20updated,\x20'];a107_0x55d2=function(){return _0x58cd5f;};return a107_0x55d2();}import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x1d3592(0x1d6),'command':a107_0x1d3592(0x211),'description':a107_0x1d3592(0x1ea),'risk':a107_0x1d3592(0x1da),'flags':[{'name':a107_0x1d3592(0x1bc),'type':a107_0x1d3592(0x1e7),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a107_0x1d3592(0x1e8)},{'name':a107_0x1d3592(0x1c5),'type':a107_0x1d3592(0x1e7),'description':a107_0x1d3592(0x1fe)+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':[a107_0x1d3592(0x1e1),a107_0x1d3592(0x1c0)],'default':a107_0x1d3592(0x1c0)},{'name':a107_0x1d3592(0x1dc),'type':a107_0x1d3592(0x1f7),'description':a107_0x1d3592(0x1dd)},{'name':a107_0x1d3592(0x1f3),'type':'string','description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':'paths','type':a107_0x1d3592(0x1e7),'description':a107_0x1d3592(0x1b8)},{'name':a107_0x1d3592(0x1fc),'type':'boolean','description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':a107_0x1d3592(0x1ef),'type':a107_0x1d3592(0x1e7),'enum':['import',a107_0x1d3592(0x1d0),a107_0x1d3592(0x209)],'description':a107_0x1d3592(0x20a)}],async 'dryRun'(_0x2e9f54){const _0x10c5b7=a107_0x1d3592;ensureRunnableContext(_0x2e9f54['rawFlags'],_0x2e9f54[_0x10c5b7(0x1cd)]);const _0x3e5185=await runMenuUpdateCore(_0x2e9f54[_0x10c5b7(0x1f2)],_0x2e9f54['cookie'],_0x2e9f54[_0x10c5b7(0x1d8)]('params'),{'mode':parseMode(_0x2e9f54['str']('mode')),'dryRun':!![],'force':_0x2e9f54[_0x10c5b7(0x1bf)]('force'),'selection':parseSelection(_0x2e9f54),'loadScriptMode':parseLoadScriptMode(_0x2e9f54[_0x10c5b7(0x1d8)](_0x10c5b7(0x1ef)))});return{'method':_0x10c5b7(0x1de),'url':_0x10c5b7(0x1ed),'body':_0x3e5185,'description':_0x3e5185[_0x10c5b7(0x1e9)]?_0x10c5b7(0x1be):_0x10c5b7(0x1db)+(_0x3e5185[_0x10c5b7(0x1fd)]?.['length']??0x0)+_0x10c5b7(0x1fa)};},async 'execute'(_0x251907){const _0x414266=a107_0x1d3592;ensureRunnableContext(_0x251907[_0x414266(0x1eb)],_0x251907['selectedAppName']);const _0xd46ce=_0x251907['flag']('yes'),_0x3c329e=_0x251907[_0x414266(0x1d8)]('params'),_0x37c5dd=parseMode(_0x251907[_0x414266(0x1d8)](_0x414266(0x1c5))),_0x8e9527=_0x251907[_0x414266(0x1bf)](_0x414266(0x1dc)),_0x4acf2e=parseLoadScriptMode(_0x251907[_0x414266(0x1d8)]('load-mode')),_0x39991b=parseParams(_0x3c329e),_0x3a9ff6=!!(_0x39991b[_0x414266(0x207)]||_0x39991b[_0x414266(0x212)]);if(_0xd46ce||_0x3a9ff6&&!isInteractive()){const _0x823bf7=await runMenuUpdateCore(_0x251907[_0x414266(0x1f2)],_0x251907[_0x414266(0x1c9)],_0x3c329e,{'mode':_0x37c5dd,'force':_0x8e9527,'selection':parseSelection(_0x251907),'loadScriptMode':_0x4acf2e});return _0x823bf7['skipped']?writeCliSideChannelLine(_0x414266(0x1f4)):(writeCliSideChannelLine(_0x414266(0x205)+_0x823bf7[_0x414266(0x20f)]+_0x414266(0x1c2)),_0x823bf7[_0x414266(0x208)]>0x0&&writeCliSideChannelLine('!\x20'+_0x823bf7[_0x414266(0x208)]+_0x414266(0x1cb))),{'ok':_0x823bf7[_0x414266(0x208)]===0x0,'data':_0x823bf7,'message':_0x823bf7['skipped']?_0x414266(0x1c6):_0x414266(0x1ba)+_0x823bf7[_0x414266(0x20f)]+_0x414266(0x1bb)+_0x823bf7[_0x414266(0x208)]+_0x414266(0x204)};}requireInteractive();const _0x596099=startSpinner(_0x414266(0x1e0));let _0x300f8f;try{_0x300f8f=await fetchOnlineMenuList(_0x251907['appCode'],_0x251907[_0x414266(0x1c9)]),stopSpinner(_0x596099,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x141365){stopSpinner(_0x596099,_0x414266(0x1e4),![]);throw CliErrors['validation'](_0x141365 instanceof Error?_0x141365[_0x414266(0x1cf)]:_0x414266(0x1e4));}const _0x2839f9=filterMenusWithResources(_0x300f8f),_0x168ee8=parseSelection(_0x251907,![]),_0x4249ce=_0x168ee8?selectMenusForUpdate(_0x2839f9,_0x168ee8):_0x2839f9;if(_0x4249ce[_0x414266(0x1c4)]===0x0)return writeCliSideChannelLine(a107_0x9501cf['yellow'](_0x414266(0x1e6))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x9501cf[_0x414266(0x1df)]('\x20\x20Found\x20'+_0x4249ce[_0x414266(0x1c4)]+_0x414266(0x1c8))),writeCliSideChannelLine(renderUpdateSummary(_0x4249ce[_0x414266(0x1cc)](_0x3ca7c8=>_0x3ca7c8[_0x414266(0x1d1)]),[_0x39991b[_0x414266(0x207)],_0x39991b[_0x414266(0x212)]])),writeCliSideChannelLine('');let _0x4b2b2e=_0x39991b[_0x414266(0x207)],_0x38a257=_0x39991b['cssUrl'];!_0x4b2b2e&&(_0x4b2b2e=await askJsUrl());!_0x38a257&&(_0x38a257=await askCssUrl());const _0x1e4da9=await askConfirm(_0x414266(0x1f8)+_0x4249ce[_0x414266(0x1c4)]+_0x414266(0x206)+_0x4b2b2e+_0x414266(0x1f0)+_0x38a257+'?');if(!_0x1e4da9)return writeCliSideChannelLine(a107_0x9501cf[_0x414266(0x1d4)](_0x414266(0x203))),{'ok':!![]};const _0x58f918=startSpinner(_0x414266(0x1e5)+_0x4249ce[_0x414266(0x1c4)]+_0x414266(0x1d3));try{const _0x2f1d45=await runMenuUpdateCore(_0x251907['appCode'],_0x251907['cookie'],JSON[_0x414266(0x1ee)]({'jsUrl':_0x4b2b2e,'cssUrl':_0x38a257}),{'mode':_0x37c5dd,'force':_0x8e9527,'selection':{'all':![],'menuIds':_0x4249ce[_0x414266(0x1cc)](_0x3c2d59=>_0x3c2d59['id']),'paths':[]},'loadScriptMode':_0x4acf2e});return stopSpinner(_0x58f918,'Updated\x20'+_0x2f1d45['updated']+_0x414266(0x1c7),_0x2f1d45[_0x414266(0x208)]===0x0),{'ok':_0x2f1d45[_0x414266(0x208)]===0x0,'data':_0x2f1d45,'message':_0x2f1d45['failed']>0x0?_0x414266(0x1ba)+_0x2f1d45['updated']+'\x20updated,\x20'+_0x2f1d45[_0x414266(0x208)]+_0x414266(0x204):_0x414266(0x1ba)+_0x2f1d45['updated']+_0x414266(0x1bd)};}catch(_0x5be3d8){stopSpinner(_0x58f918,_0x414266(0x1f9),![]);throw CliErrors['validation'](_0x5be3d8 instanceof Error?_0x5be3d8[_0x414266(0x1cf)]:_0x414266(0x1f9));}}};function ensureRunnableContext(_0x1e1c20,_0x1ea783){const _0x5c76a6=a107_0x1d3592,_0x47462f=_0x1e1c20[_0x5c76a6(0x1b6)]?String(_0x1e1c20[_0x5c76a6(0x1b6)])[_0x5c76a6(0x200)]():'';if(!isInProject()&&!_0x1ea783&&!_0x47462f)throw CliErrors[_0x5c76a6(0x20b)](_0x5c76a6(0x1b9)+_0x5c76a6(0x1d9));}function parseMode(_0x4f5ffc){const _0x21cfae=a107_0x1d3592;if(!_0x4f5ffc)return'patch';if(_0x4f5ffc===_0x21cfae(0x1e1)||_0x4f5ffc==='patch')return _0x4f5ffc;throw CliErrors['validation'](_0x21cfae(0x20c));}function parseSelection(_0x500d2b,_0x1d3bd6=!![]){const _0x216c3b=a107_0x1d3592,_0xbb6967=_0x500d2b['bool'](_0x216c3b(0x1fc)),_0x1c6181=parseMenuIds(_0x500d2b[_0x216c3b(0x1d8)](_0x216c3b(0x1f3))),_0x142b01=parseCsv(_0x500d2b[_0x216c3b(0x1d8)]('paths')),_0x5a98eb=_0x1c6181[_0x216c3b(0x1c4)]>0x0||_0x142b01[_0x216c3b(0x1c4)]>0x0;if(_0xbb6967&&_0x5a98eb)throw CliErrors[_0x216c3b(0x20b)](_0x216c3b(0x1c1));if(!_0xbb6967&&!_0x5a98eb){if(!_0x1d3bd6)return undefined;throw CliErrors[_0x216c3b(0x20b)](_0x216c3b(0x20e));}return{'all':_0xbb6967,'menuIds':_0x1c6181,'paths':_0x142b01};}function parseMenuIds(_0x37916b){const _0x2ec004=a107_0x1d3592,_0x181a8f=parseCsv(_0x37916b),_0x325eb2=_0x181a8f[_0x2ec004(0x1cc)](Number);if(_0x325eb2[_0x2ec004(0x1ec)](_0x2e0114=>!Number['isSafeInteger'](_0x2e0114)||_0x2e0114<=0x0))throw CliErrors[_0x2ec004(0x20b)](_0x2ec004(0x210));return[...new Set(_0x325eb2)];}function parseCsv(_0xf4df8e){const _0xe585a1=a107_0x1d3592;return[...new Set(_0xf4df8e['split'](',')[_0xe585a1(0x1cc)](_0x4f0c6c=>_0x4f0c6c['trim']())[_0xe585a1(0x202)](Boolean))];}function parseLoadScriptMode(_0x28d8f7){const _0x10cb3c=a107_0x1d3592;if(!_0x28d8f7)return undefined;if(_0x28d8f7===_0x10cb3c(0x1f5)||_0x28d8f7==='script'||_0x28d8f7===_0x10cb3c(0x209))return _0x28d8f7;throw CliErrors['validation']('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x359fd1){const _0x45913f=a107_0x1d3592;if(!_0x359fd1)return{};try{const _0x132fd1=JSON['parse'](_0x359fd1);if(typeof _0x132fd1!==_0x45913f(0x1b7)||_0x132fd1===null||Array[_0x45913f(0x1ce)](_0x132fd1))return{};return{'jsUrl':typeof _0x132fd1[_0x45913f(0x207)]===_0x45913f(0x1e7)?_0x132fd1['jsUrl'][_0x45913f(0x200)]():undefined,'cssUrl':typeof _0x132fd1[_0x45913f(0x212)]===_0x45913f(0x1e7)?_0x132fd1[_0x45913f(0x212)][_0x45913f(0x200)]():undefined};}catch{return{};}}
|
|
1
|
+
const a107_0x3985b2=a107_0x3e81;(function(_0x39e591,_0x23b643){const _0x2da4f7=a107_0x3e81,_0x966485=_0x39e591();while(!![]){try{const _0x5e3e36=parseInt(_0x2da4f7(0x174))/0x1*(parseInt(_0x2da4f7(0x15f))/0x2)+parseInt(_0x2da4f7(0x19d))/0x3+parseInt(_0x2da4f7(0x18b))/0x4*(-parseInt(_0x2da4f7(0x19b))/0x5)+parseInt(_0x2da4f7(0x167))/0x6+-parseInt(_0x2da4f7(0x184))/0x7*(parseInt(_0x2da4f7(0x180))/0x8)+-parseInt(_0x2da4f7(0x175))/0x9+-parseInt(_0x2da4f7(0x162))/0xa;if(_0x5e3e36===_0x23b643)break;else _0x966485['push'](_0x966485['shift']());}catch(_0x563f60){_0x966485['push'](_0x966485['shift']());}}}(a107_0x467c,0x1ddac));import a107_0xc5405c 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':'menu','command':a107_0x3985b2(0x15c),'description':a107_0x3985b2(0x16b),'risk':a107_0x3985b2(0x160),'flags':[{'name':a107_0x3985b2(0x166),'type':'string','description':a107_0x3985b2(0x18c)+a107_0x3985b2(0x1a1)},{'name':'mode','type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':['replace',a107_0x3985b2(0x16c)],'default':a107_0x3985b2(0x16c)},{'name':a107_0x3985b2(0x16d),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x16f)},{'name':'menu-ids','type':a107_0x3985b2(0x19f),'description':a107_0x3985b2(0x17a)},{'name':a107_0x3985b2(0x17c),'type':'string','description':a107_0x3985b2(0x177)},{'name':a107_0x3985b2(0x18e),'type':a107_0x3985b2(0x179),'description':a107_0x3985b2(0x188)},{'name':a107_0x3985b2(0x163),'type':a107_0x3985b2(0x19f),'enum':['import',a107_0x3985b2(0x172),'fetch'],'description':a107_0x3985b2(0x1ac)}],async 'dryRun'(_0x3ef557){const _0x570824=a107_0x3985b2;ensureRunnableContext(_0x3ef557[_0x570824(0x1a6)],_0x3ef557[_0x570824(0x161)]);const _0x473adb=await runMenuUpdateCore(_0x3ef557[_0x570824(0x181)],_0x3ef557[_0x570824(0x190)],_0x3ef557[_0x570824(0x18d)](_0x570824(0x166)),{'mode':parseMode(_0x3ef557[_0x570824(0x18d)]('mode')),'dryRun':!![],'force':_0x3ef557[_0x570824(0x191)]('force'),'selection':parseSelection(_0x3ef557),'loadScriptMode':parseLoadScriptMode(_0x3ef557[_0x570824(0x18d)](_0x570824(0x163)))});return{'method':'POST','url':_0x570824(0x185),'body':_0x473adb,'description':_0x473adb[_0x570824(0x19c)]?'No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.':'Would\x20update\x20'+(_0x473adb[_0x570824(0x18a)]?.[_0x570824(0x16a)]??0x0)+_0x570824(0x178)};},async 'execute'(_0x4ed46f){const _0xba3caf=a107_0x3985b2;ensureRunnableContext(_0x4ed46f[_0xba3caf(0x1a6)],_0x4ed46f[_0xba3caf(0x161)]);const _0x49ae5f=_0x4ed46f[_0xba3caf(0x1a8)](_0xba3caf(0x1ae)),_0x4630ae=_0x4ed46f['str'](_0xba3caf(0x166)),_0xe492fd=parseMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x1a7))),_0x1909a2=_0x4ed46f[_0xba3caf(0x191)]('force'),_0x380a81=parseLoadScriptMode(_0x4ed46f[_0xba3caf(0x18d)](_0xba3caf(0x163))),_0x32d70f=parseParams(_0x4630ae),_0x48b2e7=!!(_0x32d70f[_0xba3caf(0x196)]||_0x32d70f[_0xba3caf(0x15a)]);if(_0x49ae5f||_0x48b2e7&&!isInteractive()){const _0x1cc9b3=await runMenuUpdateCore(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)],_0x4630ae,{'mode':_0xe492fd,'force':_0x1909a2,'selection':parseSelection(_0x4ed46f),'loadScriptMode':_0x380a81});return _0x1cc9b3['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0xba3caf(0x171)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x187)),_0x1cc9b3[_0xba3caf(0x1ab)]>0x0&&writeCliSideChannelLine('!\x20'+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20menu(s)\x20failed')),{'ok':_0x1cc9b3[_0xba3caf(0x1ab)]===0x0,'data':_0x1cc9b3,'message':_0x1cc9b3['skipped']?'Menu\x20asset\x20update\x20skipped':_0xba3caf(0x1a2)+_0x1cc9b3[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x1cc9b3[_0xba3caf(0x1ab)]+'\x20failed.'};}requireInteractive();const _0x3fe4c4=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x2d86ad;try{_0x2d86ad=await fetchOnlineMenuList(_0x4ed46f[_0xba3caf(0x181)],_0x4ed46f[_0xba3caf(0x190)]),stopSpinner(_0x3fe4c4,_0xba3caf(0x173),!![]);}catch(_0x581a29){stopSpinner(_0x3fe4c4,_0xba3caf(0x1a0),![]);throw CliErrors[_0xba3caf(0x192)](_0x581a29 instanceof Error?_0x581a29[_0xba3caf(0x193)]:_0xba3caf(0x1a0));}const _0x1f8e52=filterMenusWithResources(_0x2d86ad),_0x2250bb=parseSelection(_0x4ed46f,![]),_0x16ae34=_0x2250bb?selectMenusForUpdate(_0x1f8e52,_0x2250bb):_0x1f8e52;if(_0x16ae34[_0xba3caf(0x16a)]===0x0)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x169)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x16e)](_0xba3caf(0x17d)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x183))),writeCliSideChannelLine(renderUpdateSummary(_0x16ae34[_0xba3caf(0x164)](_0x2c657e=>_0x2c657e[_0xba3caf(0x1ad)]),[_0x32d70f[_0xba3caf(0x196)],_0x32d70f[_0xba3caf(0x15a)]])),writeCliSideChannelLine('');let _0x965f48=_0x32d70f[_0xba3caf(0x196)],_0x422661=_0x32d70f[_0xba3caf(0x15a)];!_0x965f48&&(_0x965f48=await askJsUrl());!_0x422661&&(_0x422661=await askCssUrl());const _0x4abdfd=await askConfirm('\x20\x20Update\x20'+_0x16ae34[_0xba3caf(0x16a)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x965f48+_0xba3caf(0x194)+_0x422661+'?');if(!_0x4abdfd)return writeCliSideChannelLine(a107_0xc5405c[_0xba3caf(0x17f)](_0xba3caf(0x17e))),{'ok':!![]};const _0x3d6bb4=startSpinner(_0xba3caf(0x182)+_0x16ae34[_0xba3caf(0x16a)]+_0xba3caf(0x1aa));try{const _0x5c2ec9=await runMenuUpdateCore(_0x4ed46f['appCode'],_0x4ed46f[_0xba3caf(0x190)],JSON[_0xba3caf(0x197)]({'jsUrl':_0x965f48,'cssUrl':_0x422661}),{'mode':_0xe492fd,'force':_0x1909a2,'selection':{'all':![],'menuIds':_0x16ae34[_0xba3caf(0x164)](_0x15940f=>_0x15940f['id']),'paths':[]},'loadScriptMode':_0x380a81});return stopSpinner(_0x3d6bb4,_0xba3caf(0x15d)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x18f),_0x5c2ec9[_0xba3caf(0x1ab)]===0x0),{'ok':_0x5c2ec9['failed']===0x0,'data':_0x5c2ec9,'message':_0x5c2ec9[_0xba3caf(0x1ab)]>0x0?_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+_0xba3caf(0x199)+_0x5c2ec9[_0xba3caf(0x1ab)]+'\x20failed.':_0xba3caf(0x1a2)+_0x5c2ec9[_0xba3caf(0x170)]+'\x20updated.'};}catch(_0x2f3cf1){stopSpinner(_0x3d6bb4,'Menu\x20asset\x20update\x20failed',![]);throw CliErrors[_0xba3caf(0x192)](_0x2f3cf1 instanceof Error?_0x2f3cf1['message']:_0xba3caf(0x19e));}}};function ensureRunnableContext(_0x1d447d,_0x1d7f49){const _0x14ec34=a107_0x3985b2,_0x25feeb=_0x1d447d[_0x14ec34(0x198)]?String(_0x1d447d['appcode'])[_0x14ec34(0x1a4)]():'';if(!isInProject()&&!_0x1d7f49&&!_0x25feeb)throw CliErrors[_0x14ec34(0x192)](_0x14ec34(0x195)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x361ae9){const _0x9f0a87=a107_0x3985b2;if(!_0x361ae9)return _0x9f0a87(0x16c);if(_0x361ae9===_0x9f0a87(0x1a9)||_0x361ae9==='patch')return _0x361ae9;throw CliErrors['validation'](_0x9f0a87(0x176));}function parseSelection(_0x14c078,_0x58cfd4=!![]){const _0x5bb571=a107_0x3985b2,_0x37e77f=_0x14c078[_0x5bb571(0x191)](_0x5bb571(0x18e)),_0x3c1272=parseMenuIds(_0x14c078[_0x5bb571(0x18d)](_0x5bb571(0x168))),_0x23cb27=parseCsv(_0x14c078[_0x5bb571(0x18d)]('paths')),_0x47c973=_0x3c1272[_0x5bb571(0x16a)]>0x0||_0x23cb27['length']>0x0;if(_0x37e77f&&_0x47c973)throw CliErrors['validation'](_0x5bb571(0x15e));if(!_0x37e77f&&!_0x47c973){if(!_0x58cfd4)return undefined;throw CliErrors['validation']('menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.');}return{'all':_0x37e77f,'menuIds':_0x3c1272,'paths':_0x23cb27};}function a107_0x3e81(_0x2babda,_0x1017c7){_0x2babda=_0x2babda-0x15a;const _0x467c10=a107_0x467c();let _0x3e8185=_0x467c10[_0x2babda];return _0x3e8185;}function parseMenuIds(_0x31106b){const _0x3df16c=a107_0x3985b2,_0x1c0f27=parseCsv(_0x31106b),_0x976b1e=_0x1c0f27[_0x3df16c(0x164)](Number);if(_0x976b1e[_0x3df16c(0x189)](_0x28eb63=>!Number[_0x3df16c(0x15b)](_0x28eb63)||_0x28eb63<=0x0))throw CliErrors[_0x3df16c(0x192)](_0x3df16c(0x19a));return[...new Set(_0x976b1e)];}function parseCsv(_0x47845f){const _0x18f041=a107_0x3985b2;return[...new Set(_0x47845f['split'](',')[_0x18f041(0x164)](_0x134da9=>_0x134da9[_0x18f041(0x1a4)]())[_0x18f041(0x17b)](Boolean))];}function parseLoadScriptMode(_0x5f5ceb){const _0x5c66fc=a107_0x3985b2;if(!_0x5f5ceb)return undefined;if(_0x5f5ceb==='import'||_0x5f5ceb==='script'||_0x5f5ceb===_0x5c66fc(0x1a3))return _0x5f5ceb;throw CliErrors[_0x5c66fc(0x192)](_0x5c66fc(0x1a5));}function parseParams(_0x2286f5){const _0x212df2=a107_0x3985b2;if(!_0x2286f5)return{};try{const _0x4d5c07=JSON[_0x212df2(0x186)](_0x2286f5);if(typeof _0x4d5c07!==_0x212df2(0x165)||_0x4d5c07===null||Array['isArray'](_0x4d5c07))return{};return{'jsUrl':typeof _0x4d5c07[_0x212df2(0x196)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x196)][_0x212df2(0x1a4)]():undefined,'cssUrl':typeof _0x4d5c07[_0x212df2(0x15a)]===_0x212df2(0x19f)?_0x4d5c07[_0x212df2(0x15a)][_0x212df2(0x1a4)]():undefined};}catch{return{};}}function a107_0x467c(){const _0xf05f98=['1082205ZiXjgY','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20menu\x20resource\x20set(s).','boolean','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','filter','paths','\x20\x20Found\x20','\x20\x20Cancelled.','gray','6728EDFMmq','appCode','Updating\x20','\x20menu(s)\x20with\x20existing\x20resources','651UKMPDn','/smartapi/menu/update','parse','\x20menu(s)\x20updated','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','some','diffs','76LDNJyV','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','str','all','\x20menu(s)','cookie','bool','validation','message','\x20and\x20CSS:\x20','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','jsUrl','stringify','appcode','\x20updated,\x20','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','1955LQNHCT','skipped','76839YnkNxX','Menu\x20asset\x20update\x20failed','string','Failed\x20to\x20fetch\x20online\x20menu\x20list','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','Menu\x20asset\x20update\x20completed:\x20','fetch','trim','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','rawFlags','mode','flag','replace','\x20menu(s)...','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','label','yes','cssUrl','isSafeInteger','asset-update','Updated\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','2cdNggD','high-risk-write','selectedAppName','843500mzwCIp','load-mode','map','object','params','1024098icRRYQ','menu-ids','yellow','length','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','force','cyan','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','updated','✓\x20Menu\x20asset\x20update\x20completed:\x20','script','Online\x20menu\x20list\x20fetched','216225FiIodz'];a107_0x467c=function(){return _0xf05f98;};return a107_0x467c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_0x3e3bc2=a108_0x112e;(function(_0x255c7d,_0x392fc5){const _0x3f8603=a108_0x112e,_0xdc07ba=_0x255c7d();while(!![]){try{const _0x4775a4=-parseInt(_0x3f8603(0xd4))/0x1+-parseInt(_0x3f8603(0xec))/0x2*(-parseInt(_0x3f8603(0x97))/0x3)+-parseInt(_0x3f8603(0x8e))/0x4+parseInt(_0x3f8603(0x9d))/0x5*(-parseInt(_0x3f8603(0xdc))/0x6)+parseInt(_0x3f8603(0xaa))/0x7+parseInt(_0x3f8603(0xaf))/0x8+parseInt(_0x3f8603(0x9e))/0x9;if(_0x4775a4===_0x392fc5)break;else _0xdc07ba['push'](_0xdc07ba['shift']());}catch(_0x4115c8){_0xdc07ba['push'](_0xdc07ba['shift']());}}}(a108_0x1ccd,0x2c32f));function a108_0x112e(_0x38547e,_0x33533f){_0x38547e=_0x38547e-0x8e;const _0x1ccd44=a108_0x1ccd();let _0x112eab=_0x1ccd44[_0x38547e];return _0x112eab;}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':a108_0x3e3bc2(0x9f),'path':a108_0x3e3bc2(0xbe)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':'Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)'},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x3e3bc2(0xde),'type':a108_0x3e3bc2(0x93),'description':a108_0x3e3bc2(0x90)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x3e3bc2(0xd2),'type':a108_0x3e3bc2(0xdd),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a108_0x3e3bc2(0xd0),'type':a108_0x3e3bc2(0xdd),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a108_0x3e3bc2(0xe1),'command':'delete','description':a108_0x3e3bc2(0xf0),'risk':'high-risk-write','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'(_0x40207c){const _0x55f557=a108_0x3e3bc2;_0x40207c[_0x55f557(0xd1)]('dry-run')?validateDeleteDryRunInput(_0x40207c):validateDeleteExecuteInput(_0x40207c),requireExplicitYes(_0x40207c);},async 'dryRun'(_0x2b6fa2){const _0x29a212=a108_0x3e3bc2;validateDeleteDryRunInput(_0x2b6fa2);const _0x3148bb=await buildDeletePlan(_0x2b6fa2),_0x16a09c=createMenuDeletePlanFile(_0x2b6fa2[_0x29a212(0x99)],_0x3148bb),_0x36828c=await writeMenuDeletePlan(_0x2b6fa2[_0x29a212(0xf3)](_0x29a212(0xd2)),_0x16a09c),_0x462559=mutationResult({..._0x3148bb,'planFile':{'path':_0x36828c,'createdAt':_0x16a09c['createdAt'],'expiresAt':_0x16a09c[_0x29a212(0x100)]}});return menuDryRunResult(_0x462559,{'method':_0x29a212(0x9f),'url':_0x29a212(0xbe),'body':{'idList':_0x462559[_0x29a212(0xf6)]},'description':_0x29a212(0x9b)+(_0x462559[_0x29a212(0xf6)]?.[_0x29a212(0xa2)]??0x1)+_0x29a212(0xb1)+_0x462559['selector']['id']+_0x29a212(0xff)+_0x36828c+'.'});},async 'execute'(_0x1a799a){const _0x5ce8eb=a108_0x3e3bc2;requireExplicitYes(_0x1a799a),validateDeleteExecuteInput(_0x1a799a);const _0x4e04b9=await readMenuDeletePlan(_0x1a799a[_0x5ce8eb(0xf3)](_0x5ce8eb(0xd0))),_0x5a43a3=mutationPlanFromDeleteFile(_0x4e04b9[_0x5ce8eb(0xd0)],_0x4e04b9[_0x5ce8eb(0xf1)]),_0x185a6f=_0x4e04b9[_0x5ce8eb(0xd0)][_0x5ce8eb(0xe9)]['id'];try{assertMenuDeletePlanExecutable(_0x4e04b9[_0x5ce8eb(0xd0)],_0x1a799a[_0x5ce8eb(0x99)]);}catch(_0x1165c5){throw menuFailure(asMenuError(_0x1165c5),_0x5a43a3,{'stage':_0x5ce8eb(0xbc),'failed':{'id':_0x185a6f}});}let _0x4dc1c6,_0x3dd592;try{_0x4dc1c6=await fetchMutationSnapshot(_0x1a799a,_0x5ce8eb(0xeb),_0x185a6f),_0x3dd592=assertMenuDeletePlanCurrent(_0x4e04b9[_0x5ce8eb(0xd0)],_0x1a799a[_0x5ce8eb(0x99)],_0x4dc1c6),assertDeleteTargetsComplete(_0x4e04b9[_0x5ce8eb(0xd0)],_0x4dc1c6),_0x3dd592[_0x5ce8eb(0xea)](_0x27a161=>assertDeleteSafety(_0x27a161,_0x4e04b9[_0x5ce8eb(0xd0)][_0x5ce8eb(0xde)])),assertNoSharedPages(_0x4dc1c6,_0x3dd592),assertCascadeMatchesPlan(_0x5a43a3,_0x3dd592);}catch(_0x113b05){throw menuFailure(asMenuError(_0x113b05),_0x5a43a3,{'stage':_0x5ce8eb(0xb7),'failed':{'id':_0x185a6f}});}const _0x1a8854=_0x4e04b9['plan']['deleteOrder'];let _0x10020b;try{_0x10020b=await batchDeleteMenuEntities(_0x1a799a[_0x5ce8eb(0xce)],_0x1a8854);}catch(_0x5eb212){const _0x404665=mapMenuApiError(_0x5eb212,_0x5ce8eb(0xd7)),_0x1acd4a=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x3ac7cf;try{_0x3ac7cf=await readDeleteOutcome(_0x1a799a,_0x1a8854);}catch(_0x57783e){const _0x146c50=describeMenuErrorCause(_0x57783e,_0x5ce8eb(0xe7),_0x185a6f);_0x1acd4a[_0x5ce8eb(0xa3)](_0x5ce8eb(0xa8)+_0x146c50[_0x5ce8eb(0xe2)]+_0x5ce8eb(0xb4)+_0x146c50[_0x5ce8eb(0xa0)]);throw menuFailure(_0x404665,_0x5a43a3,{'stage':_0x5ce8eb(0xbf),'failed':{'targetIds':_0x1a8854,'targetIdsAbsent':'unconfirmed',..._0x146c50},'warnings':_0x1acd4a,'verification':{'status':_0x5ce8eb(0xe8),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x1a8854}});}throw menuFailure(_0x404665,_0x5a43a3,{'stage':_0x5ce8eb(0xbf),'succeeded':_0x3ac7cf[_0x5ce8eb(0xdf)][_0x5ce8eb(0xf4)](_0x276a62=>({'id':_0x276a62,'deleted':!![]})),'failed':{'targetIds':_0x1a8854,'absentIds':_0x3ac7cf[_0x5ce8eb(0xdf)],'remainingIds':_0x3ac7cf['remainingIds']},'warnings':_0x1acd4a,'verification':verificationFromOutcome(_0x3ac7cf)});}if(_0x10020b!==_0x1a8854[_0x5ce8eb(0xa2)]){const _0xb38d7b=menuError('menu_batch_delete_count_mismatch','Backend\x20reported\x20'+_0x10020b+_0x5ce8eb(0xda)+_0x1a8854[_0x5ce8eb(0xa2)]+'.',_0x5ce8eb(0xef)),_0x57af7d=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x2e36c9;try{_0x2e36c9=await readDeleteOutcome(_0x1a799a,_0x1a8854);}catch(_0x534528){const _0x21ee4a=describeMenuErrorCause(_0x534528,_0x5ce8eb(0xf9),_0x185a6f);_0x57af7d[_0x5ce8eb(0xa3)](_0x5ce8eb(0x94)+_0x21ee4a[_0x5ce8eb(0xe2)]+'):\x20'+_0x21ee4a['causeMessage']);throw menuFailure(_0xb38d7b,_0x5a43a3,{'stage':'batch-delete','failed':{'targetIds':_0x1a8854,'expectedCount':_0x1a8854[_0x5ce8eb(0xa2)],'reportedDeletedCount':_0x10020b,'targetIdsAbsent':_0x5ce8eb(0xa1),..._0x21ee4a},'warnings':_0x57af7d,'verification':{'status':_0x5ce8eb(0xe8),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x1a8854}});}throw menuFailure(_0xb38d7b,_0x5a43a3,{'stage':_0x5ce8eb(0xbf),'succeeded':_0x2e36c9[_0x5ce8eb(0xdf)]['map'](_0x1a1974=>({'id':_0x1a1974,'deleted':!![]})),'failed':{'targetIds':_0x1a8854,'expectedCount':_0x1a8854[_0x5ce8eb(0xa2)],'reportedDeletedCount':_0x10020b,'absentIds':_0x2e36c9['absentIds'],'remainingIds':_0x2e36c9['remainingIds']},'warnings':_0x57af7d,'verification':verificationFromOutcome(_0x2e36c9)});}let _0x75445f;try{_0x75445f=await readDeleteOutcome(_0x1a799a,_0x1a8854);}catch(_0xe0e053){const _0x5d245c=describeMenuErrorCause(_0xe0e053,_0x5ce8eb(0x92),_0x185a6f),_0x1cd6ff=asVerificationError(_0xe0e053,_0x5ce8eb(0xac)+_0x185a6f+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x1cd6ff,_0x5a43a3,{'stage':_0x5ce8eb(0xe3),'succeeded':_0x1a8854[_0x5ce8eb(0xf4)](_0x458b51=>({'id':_0x458b51,'deleteRequested':!![]})),'failed':{'id':_0x185a6f,'targetIds':_0x1a8854,'targetIdsAbsent':'unconfirmed',..._0x5d245c},'warnings':[_0x5ce8eb(0xc2)],'verification':{'status':_0x5ce8eb(0xe8),'lookupCommand':_0x5ce8eb(0xbb),'targetIds':_0x1a8854}});}if(_0x75445f[_0x5ce8eb(0xca)][_0x5ce8eb(0xa2)]>0x0){const _0x27a71e=menuError(_0x5ce8eb(0xd8),_0x5ce8eb(0xf7)+_0x75445f[_0x5ce8eb(0xca)][_0x5ce8eb(0xfb)](',\x20')+'.',_0x5ce8eb(0xef));throw menuFailure(_0x27a71e,_0x5a43a3,{'stage':_0x5ce8eb(0xe3),'succeeded':_0x1a8854[_0x5ce8eb(0xf4)](_0x55b8e2=>({'id':_0x55b8e2,'deleteRequested':!![]})),'failed':{'id':_0x185a6f,'targetIds':_0x1a8854,'absentIds':_0x75445f['absentIds'],'remainingIds':_0x75445f[_0x5ce8eb(0xca)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x75445f)});}const _0x5ebb48=_0x1a8854[_0x5ce8eb(0xf4)](_0x400aae=>({'id':_0x400aae,'deleted':!![]})),_0x35fb83=mutationResult({..._0x5a43a3,'dryRun':![],'succeeded':_0x5ebb48,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x5a43a3[_0x5ce8eb(0xba)],'finalSnapshotHash':_0x75445f['snapshot'][_0x5ce8eb(0xc9)],'reportedDeletedCount':_0x10020b,'targetAbsent':!_0x75445f[_0x5ce8eb(0xfe)][_0x5ce8eb(0xe0)][_0x5ce8eb(0xb8)](_0x185a6f),'allTargetsAbsent':!![],'targetIds':_0x1a8854}});return{'ok':!![],'data':_0x35fb83,'message':_0x5ce8eb(0xc0)+_0x5ebb48[_0x5ce8eb(0xa2)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x185a6f+'.'};}};async function readDeleteOutcome(_0x3b3faf,_0x1b9f76){const _0x2824d4=a108_0x3e3bc2,_0x1d1e7d=await fetchMenuSnapshot(_0x3b3faf[_0x2824d4(0x99)],_0x3b3faf[_0x2824d4(0xce)]);return{'snapshot':_0x1d1e7d,'absentIds':_0x1b9f76['filter'](_0x23f869=>!_0x1d1e7d[_0x2824d4(0xe0)][_0x2824d4(0xb8)](_0x23f869)),'remainingIds':_0x1b9f76[_0x2824d4(0xee)](_0x4edf36=>_0x1d1e7d[_0x2824d4(0xe0)][_0x2824d4(0xb8)](_0x4edf36))};}function verificationFromOutcome(_0x3dfe0e){const _0x448ff3=a108_0x3e3bc2;return{'checkedBy':'menu\x20list','absentIds':_0x3dfe0e[_0x448ff3(0xdf)],'remainingIds':_0x3dfe0e[_0x448ff3(0xca)]};}function validateDeleteDryRunInput(_0x3ca94e){const _0xf664ce=a108_0x3e3bc2;validateExactId(_0x3ca94e);if(!hasFlag(_0x3ca94e,'plan-out')||!_0x3ca94e[_0xf664ce(0xf3)]('plan-out')['trim']())throw CliErrors[_0xf664ce(0xa6)]('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x3ca94e,_0xf664ce(0xd0)))throw CliErrors[_0xf664ce(0xa5)](_0xf664ce(0xed));}function validateDeleteExecuteInput(_0xf0eb70){const _0x82890e=a108_0x3e3bc2;if(!hasFlag(_0xf0eb70,'plan')||!_0xf0eb70[_0x82890e(0xf3)](_0x82890e(0xd0))[_0x82890e(0xf5)]())throw CliErrors[_0x82890e(0xa6)](_0x82890e(0xd0),_0x82890e(0x98));const _0x3082e4=['id',_0x82890e(0xde),_0x82890e(0xd2),_0x82890e(0xae),'expect-path',_0x82890e(0x9a)][_0x82890e(0xee)](_0x397a76=>hasFlag(_0xf0eb70,_0x397a76));if(_0x3082e4[_0x82890e(0xa2)]>0x0)throw CliErrors[_0x82890e(0xa5)](_0x82890e(0xd3)+_0x3082e4[_0x82890e(0xf4)](_0x395c43=>'--'+_0x395c43)[_0x82890e(0xfb)](',\x20')+'.');}async function buildDeletePlan(_0x155bed){const _0x4b5376=a108_0x3e3bc2,_0xcba61b=validateExactId(_0x155bed),_0x4579aa=await fetchMutationSnapshot(_0x155bed,_0x4b5376(0xc7),_0xcba61b),_0x464316=requireMenu(_0x4579aa,_0xcba61b);assertExpectedState(_0x155bed,_0x464316);const _0x4a63be=_0x155bed[_0x4b5376(0xd1)](_0x4b5376(0xde));let _0xf60149;if(_0x4a63be){if(_0x464316[_0x4b5376(0xd5)][_0x4b5376(0xf5)]()['toLowerCase']()!==_0x4b5376(0x95))throw menuError(_0x4b5376(0xf2),_0x4b5376(0xc1)+_0x464316['id']+_0x4b5376(0xcb)+(_0x464316['type']||'unknown')+_0x4b5376(0xa7));_0xf60149=collectDeleteTargets(_0x4579aa,_0x464316),_0xf60149['forEach'](_0x5880db=>assertDeleteSafety(_0x5880db,!![]));}else assertDeleteSafety(_0x464316),_0xf60149=[_0x464316];assertNoSharedPages(_0x4579aa,_0xf60149);const _0x3488e1=_0xf60149[_0x4b5376(0xf4)](_0x668a23=>_0x668a23['id']),_0x365035=cascadeForTargets(_0xf60149),_0xef9d7f=_0x365035['pages'][_0x4b5376(0xa2)]>0x0?[_0x4b5376(0x96)]:[];return mutationResult({'operation':_0x4b5376(0xb0),'selector':{'id':_0xcba61b,'recursive':_0x4a63be},'before':_0x464316,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4b5376(0xe5),'method':_0x4b5376(0x9f),'path':_0x4b5376(0xbe),'body':{'idList':_0x3488e1}}],'targets':_0xf60149,'deleteOrder':_0x3488e1,'snapshotHash':_0x4579aa[_0x4b5376(0xc9)],'cascade':_0x365035,'warnings':_0xef9d7f});}function assertDeleteSafety(_0x140832,_0x35258d=![]){const _0x248547=a108_0x3e3bc2,_0x483e8a=_0x140832[_0x248547(0xd5)][_0x248547(0xf5)]()['toLowerCase']()===_0x248547(0x95);if(_0x140832[_0x248547(0xb3)]>0x0&&(!_0x35258d||!_0x483e8a))throw menuError('menu_non_empty',_0x248547(0xc1)+_0x140832['id']+_0x248547(0xb9)+_0x140832['childrenCount']+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x248547(0xc8)+_0x140832['childrenIds'][_0x248547(0xfb)](',\x20'));if(_0x483e8a&&_0x140832[_0x248547(0xa4)]!=null)throw menuError(_0x248547(0xf8),_0x248547(0x91)+_0x140832['id']+_0x248547(0xc5)+_0x140832[_0x248547(0xa4)]+_0x248547(0xfc),'Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x483e8a)return;if(!_0x140832[_0x248547(0xcc)])throw menuError(_0x248547(0xb5),_0x248547(0x91)+_0x140832['id']+_0x248547(0x9c),_0x248547(0xc3));if(_0x140832[_0x248547(0xcd)][_0x248547(0xa2)]>0x0)throw menuError(_0x248547(0xcf),_0x248547(0x91)+_0x140832['id']+_0x248547(0x8f)+_0x140832[_0x248547(0xcd)][_0x248547(0xa2)]+_0x248547(0xab),_0x248547(0x101));}function collectDeleteTargets(_0x412a42,_0x449e34){const _0x527376=[],_0x18d75a=new Set(),_0x4b9e3d=new Set(),_0x51200e=_0xfcb34e=>{const _0x2e3d6b=a108_0x112e;if(_0x18d75a[_0x2e3d6b(0xb8)](_0xfcb34e['id']))throw menuError('menu_tree_invalid',_0x2e3d6b(0xc6)+_0xfcb34e['id']+'.');if(_0x4b9e3d[_0x2e3d6b(0xb8)](_0xfcb34e['id']))return;_0x18d75a[_0x2e3d6b(0xfd)](_0xfcb34e['id']);for(const _0x2e53e9 of _0xfcb34e[_0x2e3d6b(0xfa)]){const _0xd87859=_0x412a42['byId']['get'](_0x2e53e9);if(!_0xd87859)throw menuError(_0x2e3d6b(0xa9),'Menu\x20'+_0xfcb34e['id']+'\x20references\x20missing\x20child\x20'+_0x2e53e9+'.');_0x51200e(_0xd87859);}_0x18d75a[_0x2e3d6b(0xb0)](_0xfcb34e['id']),_0x4b9e3d[_0x2e3d6b(0xfd)](_0xfcb34e['id']),_0x527376[_0x2e3d6b(0xa3)](_0xfcb34e);};return _0x51200e(_0x449e34),_0x527376;}function assertDeleteTargetsComplete(_0xdb483d,_0x13911e){const _0x56d776=a108_0x3e3bc2,_0x56c743=requireMenu(_0x13911e,_0xdb483d['target']['id']);if(_0xdb483d[_0x56d776(0xde)]&&_0x56c743[_0x56d776(0xd5)]['trim']()[_0x56d776(0xad)]()!==_0x56d776(0x95))throw menuError(_0x56d776(0xe6),'Recursive\x20menu\x20delete\x20plan\x20root\x20'+_0x56c743['id']+'\x20is\x20not\x20a\x20folder.');const _0x35d7b3=_0xdb483d[_0x56d776(0xde)]?collectDeleteTargets(_0x13911e,_0x56c743)[_0x56d776(0xf4)](_0x229cc9=>_0x229cc9['id']):[_0x56c743['id']];if(JSON[_0x56d776(0xb6)](_0xdb483d[_0x56d776(0xf6)])!==JSON[_0x56d776(0xb6)](_0x35d7b3))throw menuError(_0x56d776(0xe6),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.',_0x56d776(0xdb));}function a108_0x1ccd(){const _0x48ee0e=['Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','path','menu_recursive_requires_folder','str','map','trim','deleteOrder','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','menu_delete_page_bound','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','childrenIds','join','\x20and\x20cannot\x20be\x20deleted\x20safely.','add','snapshot',';\x20execution\x20must\x20consume\x20','expiresAt','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','1101300bBuUim','\x20still\x20references\x20','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Folder\x20','verify\x20batch\x20delete','boolean','Post-mismatch\x20menu\x20readback\x20failed\x20(','folder','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','1323HxOjgG','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','appCode','expected-children-count','Would\x20batch\x20delete\x20','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','2375CMRavD','1089486JiyvYW','POST','causeMessage','unconfirmed','length','push','pageId','validation','flagMissing','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','Post-failure\x20menu\x20readback\x20failed\x20(','menu_tree_invalid','2184287NiiMoG','\x20resource\x20URL(s).','Batch\x20delete\x20request\x20for\x20menu\x20','toLowerCase','expect-parent-id','502320AovXXx','delete','\x20menu(s)\x20under\x20exact\x20id\x20','menu_page_shared','childrenCount','):\x20','menu_folder_resources_invalid','stringify','pre-write-plan-validation','has','\x20has\x20','snapshotHash','rabetbase\x20menu\x20list\x20--format\x20json','plan-validation','size','/smartapi/menu/batchDelete','batch-delete','Deleted\x20','Menu\x20','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','page\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','plan\x20delete','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','hash','remainingIds','\x20is\x20type\x20\x22','resourcesValid','resources','cookie','menu_folder_has_resources','plan','bool','plan-out','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','28175mwnYBE','type','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','batch\x20delete','menu_verification_failed','indexOf','\x20deleted\x20menus;\x20expected\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','3870bNVUqi','string','recursive','absentIds','byId','menu','causeCode','verification','\x20->\x20menu\x20','batch-delete-menu','menu_plan_invalid','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','failed','target','forEach','execute\x20reviewed\x20delete\x20plan','1338aDhDms','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','filter'];a108_0x1ccd=function(){return _0x48ee0e;};return a108_0x1ccd();}function assertNoSharedPages(_0x3ad981,_0x1239c4){const _0x151947=a108_0x3e3bc2,_0x1af2e1=new Set(_0x1239c4[_0x151947(0xf4)](_0x25ce26=>_0x25ce26['id'])),_0x5d2956=new Set(_0x1239c4[_0x151947(0xf4)](_0x52740b=>_0x52740b[_0x151947(0xa4)])['filter'](_0x54ccae=>_0x54ccae!=null));if(_0x5d2956[_0x151947(0xbd)]===0x0)return;const _0x26da70=_0x3ad981['menus'][_0x151947(0xee)](_0x327648=>!_0x1af2e1[_0x151947(0xb8)](_0x327648['id'])&&_0x327648[_0x151947(0xa4)]!=null&&_0x5d2956[_0x151947(0xb8)](_0x327648[_0x151947(0xa4)]));if(_0x26da70[_0x151947(0xa2)]===0x0)return;const _0x3f5df3=_0x26da70['map'](_0x1b0fbd=>_0x151947(0xc4)+_0x1b0fbd[_0x151947(0xa4)]+_0x151947(0xe4)+_0x1b0fbd['id'])['join'](',\x20');throw menuError(_0x151947(0xb2),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x3f5df3+'.',_0x151947(0xd6));}function assertCascadeMatchesPlan(_0x25e7c0,_0x145de5){const _0x258ccd=a108_0x3e3bc2,_0x3c6490=cascadeForTargets(_0x145de5);if(JSON[_0x258ccd(0xb6)](_0x25e7c0['cascade'])!==JSON[_0x258ccd(0xb6)](_0x3c6490))throw menuError(_0x258ccd(0xe6),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0xf03a11){const _0x3753de=a108_0x3e3bc2,_0x569464=_0xf03a11[_0x3753de(0xf4)](_0x48c6f8=>_0x48c6f8['pageId'])[_0x3753de(0xee)](_0x358675=>_0x358675!=null)[_0x3753de(0xee)]((_0x4fe456,_0x476355,_0x1efada)=>_0x1efada[_0x3753de(0xd9)](_0x4fe456)===_0x476355);return{'pages':_0x569464,'pageSchemaAffected':_0x569464['length']>0x0};}function asMenuError(_0x32feb6){const _0x176677=a108_0x3e3bc2;return _0x32feb6 instanceof CliError?_0x32feb6:menuError(_0x176677(0xe6),_0x32feb6 instanceof Error?_0x32feb6['message']:String(_0x32feb6));}
|
|
1
|
+
const a108_0x3fd744=a108_0x330a;function a108_0x583f(){const _0x2df324=['hash','menu_page_shared','folder','rabetbase\x20menu\x20list\x20--format\x20json','\x20is\x20not\x20a\x20folder.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','batch\x20delete','Would\x20batch\x20delete\x20','Batch\x20delete\x20request\x20for\x20menu\x20','menu_delete_page_bound','\x20menu(s)\x20under\x20exact\x20id\x20','Backend\x20reported\x20','\x20is\x20type\x20\x22','expiresAt','451716HtQQRn','unknown','target','map','menu_folder_resources_invalid','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','snapshotHash','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','string','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','remainingIds','selector',';\x20execution\x20must\x20consume\x20','POST','cookie','flagMissing','):\x20','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','115pAKawn','causeCode','expect-parent-id','expected-children-count','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','2970EJDNwd','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','snapshot','menu_tree_invalid','dry-run','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','str','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','130arOrhe','failed','childrenCount','join','type','plan','menu','menu_verification_failed','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','resources','cascade','path','/smartapi/menu/batchDelete','9567rHebjQ','recursive','268287lpZGsi','createdAt','toLowerCase','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','verify\x20batch\x20delete','validation','Post-failure\x20menu\x20readback\x20failed\x20(','Menu\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','\x20has\x20','batch-delete','76314EzJqJm','641951ukeaeH','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','indexOf','add','message','\x20->\x20menu\x20','Folder\x20','\x20still\x20references\x20','byId','absentIds','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','menus','Post-mismatch\x20menu\x20readback\x20failed\x20(','trim','187284kJHxUH','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','causeMessage','push','menu_batch_delete_count_mismatch','boolean','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','Deleted\x20','pre-write-plan-validation','resourcesValid','childrenIds','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','batch-delete-menu','appCode','pageId','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','filter','6190fdGEGt','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','224schCyU','6XASvIQ','unconfirmed','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','plan-validation','has','verification','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','delete','size','length','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','expect-path','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','plan-out','menu_plan_invalid','3736mXaVVq','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','deleteOrder','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','bool','high-risk-write','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menu_folder_has_resources','stringify'];a108_0x583f=function(){return _0x2df324;};return a108_0x583f();}(function(_0x2ac571,_0xabd1b2){const _0x5425e1=a108_0x330a,_0x20cf00=_0x2ac571();while(!![]){try{const _0x59b396=-parseInt(_0x5425e1(0x155))/0x1+parseInt(_0x5425e1(0x177))/0x2*(-parseInt(_0x5425e1(0x146))/0x3)+parseInt(_0x5425e1(0x163))/0x4*(parseInt(_0x5425e1(0x129))/0x5)+-parseInt(_0x5425e1(0x154))/0x6*(-parseInt(_0x5425e1(0x176))/0x7)+parseInt(_0x5425e1(0xff))/0x8*(-parseInt(_0x5425e1(0x144))/0x9)+parseInt(_0x5425e1(0x174))/0xa*(parseInt(_0x5425e1(0x12e))/0xb)+-parseInt(_0x5425e1(0x116))/0xc*(-parseInt(_0x5425e1(0x137))/0xd);if(_0x59b396===_0xabd1b2)break;else _0x20cf00['push'](_0x20cf00['shift']());}catch(_0x1fa6ca){_0x20cf00['push'](_0x20cf00['shift']());}}}(a108_0x583f,0x978f8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a108_0x330a(_0x596a91,_0x425094){_0x596a91=_0x596a91-0xf2;const _0x583fb1=a108_0x583f();let _0x330a28=_0x583fb1[_0x596a91];return _0x330a28;}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':a108_0x3fd744(0x124),'path':a108_0x3fd744(0x143)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x3fd744(0xfc)},MENU_DELETE_RECURSIVE_FLAG={'name':'recursive','type':a108_0x3fd744(0x168),'description':'Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first'},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x3fd744(0xfd),'type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x16e)},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a108_0x3fd744(0x11f),'description':a108_0x3fd744(0x14a)};export const menuDelete={'service':a108_0x3fd744(0x13d),'command':a108_0x3fd744(0xf7),'description':a108_0x3fd744(0xf2),'risk':a108_0x3fd744(0x104),'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'(_0x40df45){const _0xc451c3=a108_0x3fd744;_0x40df45[_0xc451c3(0x103)](_0xc451c3(0x133))?validateDeleteDryRunInput(_0x40df45):validateDeleteExecuteInput(_0x40df45),requireExplicitYes(_0x40df45);},async 'dryRun'(_0x553c8a){const _0x329d33=a108_0x3fd744;validateDeleteDryRunInput(_0x553c8a);const _0x4acb72=await buildDeletePlan(_0x553c8a),_0x3bd287=createMenuDeletePlanFile(_0x553c8a[_0x329d33(0x170)],_0x4acb72),_0x1969a3=await writeMenuDeletePlan(_0x553c8a[_0x329d33(0x135)]('plan-out'),_0x3bd287),_0x563956=mutationResult({..._0x4acb72,'planFile':{'path':_0x1969a3,'createdAt':_0x3bd287[_0x329d33(0x147)],'expiresAt':_0x3bd287[_0x329d33(0x115)]}});return menuDryRunResult(_0x563956,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x563956[_0x329d33(0x101)]},'description':_0x329d33(0x10f)+(_0x563956['deleteOrder']?.[_0x329d33(0xf9)]??0x1)+_0x329d33(0x112)+_0x563956[_0x329d33(0x122)]['id']+_0x329d33(0x123)+_0x1969a3+'.'});},async 'execute'(_0x290ce4){const _0x3fdaca=a108_0x3fd744;requireExplicitYes(_0x290ce4),validateDeleteExecuteInput(_0x290ce4);const _0x47e09f=await readMenuDeletePlan(_0x290ce4[_0x3fdaca(0x135)](_0x3fdaca(0x13c))),_0x3a41b1=mutationPlanFromDeleteFile(_0x47e09f[_0x3fdaca(0x13c)],_0x47e09f[_0x3fdaca(0x142)]),_0x2d9525=_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x118)]['id'];try{assertMenuDeletePlanExecutable(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)]);}catch(_0x10a3fa){throw menuFailure(asMenuError(_0x10a3fa),_0x3a41b1,{'stage':_0x3fdaca(0xf3),'failed':{'id':_0x2d9525}});}let _0x2a5c09,_0xd87a42;try{_0x2a5c09=await fetchMutationSnapshot(_0x290ce4,'execute\x20reviewed\x20delete\x20plan',_0x2d9525),_0xd87a42=assertMenuDeletePlanCurrent(_0x47e09f[_0x3fdaca(0x13c)],_0x290ce4[_0x3fdaca(0x170)],_0x2a5c09),assertDeleteTargetsComplete(_0x47e09f['plan'],_0x2a5c09),_0xd87a42['forEach'](_0x1386b9=>assertDeleteSafety(_0x1386b9,_0x47e09f[_0x3fdaca(0x13c)][_0x3fdaca(0x145)])),assertNoSharedPages(_0x2a5c09,_0xd87a42),assertCascadeMatchesPlan(_0x3a41b1,_0xd87a42);}catch(_0x2943d8){throw menuFailure(asMenuError(_0x2943d8),_0x3a41b1,{'stage':_0x3fdaca(0x16b),'failed':{'id':_0x2d9525}});}const _0xd36b17=_0x47e09f[_0x3fdaca(0x13c)]['deleteOrder'];let _0xbe6ec7;try{_0xbe6ec7=await batchDeleteMenuEntities(_0x290ce4[_0x3fdaca(0x125)],_0xd36b17);}catch(_0x3db500){const _0x31f7f5=mapMenuApiError(_0x3db500,_0x3fdaca(0x10e)),_0x30900c=[_0x3fdaca(0xfa)];let _0x96b439;try{_0x96b439=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x4d7fa4){const _0x2176e4=describeMenuErrorCause(_0x4d7fa4,_0x3fdaca(0x172),_0x2d9525);_0x30900c['push'](_0x3fdaca(0x14f)+_0x2176e4[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x2176e4[_0x3fdaca(0x165)]);throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x2176e4},'warnings':_0x30900c,'verification':{'status':_0x3fdaca(0x138),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0xd36b17}});}throw menuFailure(_0x31f7f5,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x96b439[_0x3fdaca(0x15e)][_0x3fdaca(0x119)](_0xd06d14=>({'id':_0xd06d14,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'absentIds':_0x96b439['absentIds'],'remainingIds':_0x96b439[_0x3fdaca(0x121)]},'warnings':_0x30900c,'verification':verificationFromOutcome(_0x96b439)});}if(_0xbe6ec7!==_0xd36b17[_0x3fdaca(0xf9)]){const _0xcba1b7=menuError(_0x3fdaca(0x167),_0x3fdaca(0x113)+_0xbe6ec7+'\x20deleted\x20menus;\x20expected\x20'+_0xd36b17[_0x3fdaca(0xf9)]+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x2b5b3e=[_0x3fdaca(0x14c)];let _0x54e74a;try{_0x54e74a=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x342aee){const _0x28afc1=describeMenuErrorCause(_0x342aee,_0x3fdaca(0x13f),_0x2d9525);_0x2b5b3e[_0x3fdaca(0x166)](_0x3fdaca(0x161)+_0x28afc1[_0x3fdaca(0x12a)]+_0x3fdaca(0x127)+_0x28afc1['causeMessage']);throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'targetIdsAbsent':_0x3fdaca(0x178),..._0x28afc1},'warnings':_0x2b5b3e,'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}throw menuFailure(_0xcba1b7,_0x3a41b1,{'stage':_0x3fdaca(0x153),'succeeded':_0x54e74a[_0x3fdaca(0x15e)]['map'](_0x3981cf=>({'id':_0x3981cf,'deleted':!![]})),'failed':{'targetIds':_0xd36b17,'expectedCount':_0xd36b17[_0x3fdaca(0xf9)],'reportedDeletedCount':_0xbe6ec7,'absentIds':_0x54e74a[_0x3fdaca(0x15e)],'remainingIds':_0x54e74a[_0x3fdaca(0x121)]},'warnings':_0x2b5b3e,'verification':verificationFromOutcome(_0x54e74a)});}let _0x305466;try{_0x305466=await readDeleteOutcome(_0x290ce4,_0xd36b17);}catch(_0x5267d1){const _0x3209f5=describeMenuErrorCause(_0x5267d1,_0x3fdaca(0x14d),_0x2d9525),_0x38eacc=asVerificationError(_0x5267d1,_0x3fdaca(0x110)+_0x2d9525+_0x3fdaca(0x105));throw menuFailure(_0x38eacc,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x3c1f8d=>({'id':_0x3c1f8d,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'targetIdsAbsent':_0x3fdaca(0x178),..._0x3209f5},'warnings':[_0x3fdaca(0x15f)],'verification':{'status':'failed','lookupCommand':_0x3fdaca(0x10b),'targetIds':_0xd36b17}});}if(_0x305466['remainingIds'][_0x3fdaca(0xf9)]>0x0){const _0xc04d95=menuError(_0x3fdaca(0x13e),_0x3fdaca(0x149)+_0x305466['remainingIds'][_0x3fdaca(0x13a)](',\x20')+'.',_0x3fdaca(0x136));throw menuFailure(_0xc04d95,_0x3a41b1,{'stage':_0x3fdaca(0xf5),'succeeded':_0xd36b17[_0x3fdaca(0x119)](_0x190d3f=>({'id':_0x190d3f,'deleteRequested':!![]})),'failed':{'id':_0x2d9525,'targetIds':_0xd36b17,'absentIds':_0x305466[_0x3fdaca(0x15e)],'remainingIds':_0x305466[_0x3fdaca(0x121)]},'warnings':[_0x3fdaca(0x175)],'verification':verificationFromOutcome(_0x305466)});}const _0x46a1e3=_0xd36b17[_0x3fdaca(0x119)](_0x3d0e3b=>({'id':_0x3d0e3b,'deleted':!![]})),_0x46d697=mutationResult({..._0x3a41b1,'dryRun':![],'succeeded':_0x46a1e3,'verification':{'checkedBy':'menu\x20list','plannedSnapshotHash':_0x3a41b1[_0x3fdaca(0x11d)],'finalSnapshotHash':_0x305466[_0x3fdaca(0x131)][_0x3fdaca(0x108)],'reportedDeletedCount':_0xbe6ec7,'targetAbsent':!_0x305466['snapshot'][_0x3fdaca(0x15d)][_0x3fdaca(0xf4)](_0x2d9525),'allTargetsAbsent':!![],'targetIds':_0xd36b17}});return{'ok':!![],'data':_0x46d697,'message':_0x3fdaca(0x16a)+_0x46a1e3['length']+_0x3fdaca(0x112)+_0x2d9525+'.'};}};async function readDeleteOutcome(_0x45e596,_0x2a1365){const _0x19462a=a108_0x3fd744,_0x5916b7=await fetchMenuSnapshot(_0x45e596[_0x19462a(0x170)],_0x45e596[_0x19462a(0x125)]);return{'snapshot':_0x5916b7,'absentIds':_0x2a1365[_0x19462a(0x173)](_0x4ded09=>!_0x5916b7[_0x19462a(0x15d)][_0x19462a(0xf4)](_0x4ded09)),'remainingIds':_0x2a1365['filter'](_0x8fc693=>_0x5916b7[_0x19462a(0x15d)]['has'](_0x8fc693))};}function verificationFromOutcome(_0x44cf70){const _0x579c3e=a108_0x3fd744;return{'checkedBy':'menu\x20list','absentIds':_0x44cf70[_0x579c3e(0x15e)],'remainingIds':_0x44cf70[_0x579c3e(0x121)]};}function validateDeleteDryRunInput(_0x1858da){const _0x2df801=a108_0x3fd744;validateExactId(_0x1858da);if(!hasFlag(_0x1858da,_0x2df801(0xfd))||!_0x1858da[_0x2df801(0x135)](_0x2df801(0xfd))[_0x2df801(0x162)]())throw CliErrors[_0x2df801(0x126)](_0x2df801(0xfd),_0x2df801(0x120));if(hasFlag(_0x1858da,_0x2df801(0x13c)))throw CliErrors[_0x2df801(0x14e)](_0x2df801(0x102));}function validateDeleteExecuteInput(_0x2a91d2){const _0x504cb6=a108_0x3fd744;if(!hasFlag(_0x2a91d2,_0x504cb6(0x13c))||!_0x2a91d2[_0x504cb6(0x135)](_0x504cb6(0x13c))[_0x504cb6(0x162)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x15fb75=['id',_0x504cb6(0x145),'plan-out',_0x504cb6(0x12b),_0x504cb6(0xfb),_0x504cb6(0x12c)][_0x504cb6(0x173)](_0x59ba13=>hasFlag(_0x2a91d2,_0x59ba13));if(_0x15fb75[_0x504cb6(0xf9)]>0x0)throw CliErrors[_0x504cb6(0x14e)](_0x504cb6(0x156)+_0x15fb75[_0x504cb6(0x119)](_0x3cb753=>'--'+_0x3cb753)[_0x504cb6(0x13a)](',\x20')+'.');}async function buildDeletePlan(_0x245da1){const _0x4a22f5=a108_0x3fd744,_0xaa3cd4=validateExactId(_0x245da1),_0x3dbe6f=await fetchMutationSnapshot(_0x245da1,'plan\x20delete',_0xaa3cd4),_0x41649c=requireMenu(_0x3dbe6f,_0xaa3cd4);assertExpectedState(_0x245da1,_0x41649c);const _0x4d317a=_0x245da1[_0x4a22f5(0x103)](_0x4a22f5(0x145));let _0x5767b3;if(_0x4d317a){if(_0x41649c[_0x4a22f5(0x13b)][_0x4a22f5(0x162)]()['toLowerCase']()!==_0x4a22f5(0x10a))throw menuError('menu_recursive_requires_folder',_0x4a22f5(0x150)+_0x41649c['id']+_0x4a22f5(0x114)+(_0x41649c[_0x4a22f5(0x13b)]||_0x4a22f5(0x117))+_0x4a22f5(0x11e));_0x5767b3=collectDeleteTargets(_0x3dbe6f,_0x41649c),_0x5767b3['forEach'](_0x4a2c48=>assertDeleteSafety(_0x4a2c48,!![]));}else assertDeleteSafety(_0x41649c),_0x5767b3=[_0x41649c];assertNoSharedPages(_0x3dbe6f,_0x5767b3);const _0x1a32e8=_0x5767b3[_0x4a22f5(0x119)](_0x4abb91=>_0x4abb91['id']),_0x39867f=cascadeForTargets(_0x5767b3),_0x54cd4d=_0x39867f['pages'][_0x4a22f5(0xf9)]>0x0?[_0x4a22f5(0x12d)]:[];return mutationResult({'operation':_0x4a22f5(0xf7),'selector':{'id':_0xaa3cd4,'recursive':_0x4d317a},'before':_0x41649c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x4a22f5(0x16f),'method':'POST','path':'/smartapi/menu/batchDelete','body':{'idList':_0x1a32e8}}],'targets':_0x5767b3,'deleteOrder':_0x1a32e8,'snapshotHash':_0x3dbe6f['hash'],'cascade':_0x39867f,'warnings':_0x54cd4d});}function assertDeleteSafety(_0x1c8999,_0x5f04d2=![]){const _0x3a5379=a108_0x3fd744,_0x1a7236=_0x1c8999[_0x3a5379(0x13b)][_0x3a5379(0x162)]()[_0x3a5379(0x148)]()==='folder';if(_0x1c8999[_0x3a5379(0x139)]>0x0&&(!_0x5f04d2||!_0x1a7236))throw menuError('menu_non_empty',_0x3a5379(0x150)+_0x1c8999['id']+_0x3a5379(0x152)+_0x1c8999['childrenCount']+_0x3a5379(0xf6),_0x3a5379(0x10d)+_0x1c8999[_0x3a5379(0x16d)][_0x3a5379(0x13a)](',\x20'));if(_0x1a7236&&_0x1c8999[_0x3a5379(0x171)]!=null)throw menuError(_0x3a5379(0x111),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x11b)+_0x1c8999[_0x3a5379(0x171)]+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x3a5379(0x128));if(!_0x1a7236)return;if(!_0x1c8999[_0x3a5379(0x16c)])throw menuError(_0x3a5379(0x11a),_0x3a5379(0x15b)+_0x1c8999['id']+_0x3a5379(0x100),_0x3a5379(0x169));if(_0x1c8999[_0x3a5379(0x140)][_0x3a5379(0xf9)]>0x0)throw menuError(_0x3a5379(0x106),'Folder\x20'+_0x1c8999['id']+_0x3a5379(0x15c)+_0x1c8999[_0x3a5379(0x140)]['length']+'\x20resource\x20URL(s).',_0x3a5379(0x134));}function collectDeleteTargets(_0x4691ec,_0x59d738){const _0x33ae21=[],_0x242e62=new Set(),_0x1d145f=new Set(),_0x443ab4=_0x395a65=>{const _0x30819a=a108_0x330a;if(_0x242e62[_0x30819a(0xf4)](_0x395a65['id']))throw menuError(_0x30819a(0x132),_0x30819a(0x14b)+_0x395a65['id']+'.');if(_0x1d145f[_0x30819a(0xf4)](_0x395a65['id']))return;_0x242e62[_0x30819a(0x158)](_0x395a65['id']);for(const _0x51171f of _0x395a65[_0x30819a(0x16d)]){const _0x14a52b=_0x4691ec['byId']['get'](_0x51171f);if(!_0x14a52b)throw menuError(_0x30819a(0x132),'Menu\x20'+_0x395a65['id']+'\x20references\x20missing\x20child\x20'+_0x51171f+'.');_0x443ab4(_0x14a52b);}_0x242e62[_0x30819a(0xf7)](_0x395a65['id']),_0x1d145f[_0x30819a(0x158)](_0x395a65['id']),_0x33ae21[_0x30819a(0x166)](_0x395a65);};return _0x443ab4(_0x59d738),_0x33ae21;}function assertDeleteTargetsComplete(_0x512309,_0x2a8fa6){const _0xb8090e=a108_0x3fd744,_0x2e3599=requireMenu(_0x2a8fa6,_0x512309[_0xb8090e(0x118)]['id']);if(_0x512309['recursive']&&_0x2e3599[_0xb8090e(0x13b)][_0xb8090e(0x162)]()['toLowerCase']()!==_0xb8090e(0x10a))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x151)+_0x2e3599['id']+_0xb8090e(0x10c));const _0xb3d897=_0x512309['recursive']?collectDeleteTargets(_0x2a8fa6,_0x2e3599)[_0xb8090e(0x119)](_0x2a689a=>_0x2a689a['id']):[_0x2e3599['id']];if(JSON['stringify'](_0x512309[_0xb8090e(0x101)])!==JSON[_0xb8090e(0x107)](_0xb3d897))throw menuError(_0xb8090e(0xfe),_0xb8090e(0x11c),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.');}function assertNoSharedPages(_0x2179e1,_0x2d8fcb){const _0x1de8a8=a108_0x3fd744,_0xb06837=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x36b5e7=>_0x36b5e7['id'])),_0x5e8d24=new Set(_0x2d8fcb[_0x1de8a8(0x119)](_0x4e75ec=>_0x4e75ec[_0x1de8a8(0x171)])[_0x1de8a8(0x173)](_0x14ccac=>_0x14ccac!=null));if(_0x5e8d24[_0x1de8a8(0xf8)]===0x0)return;const _0x2389f6=_0x2179e1[_0x1de8a8(0x160)][_0x1de8a8(0x173)](_0x286b54=>!_0xb06837['has'](_0x286b54['id'])&&_0x286b54[_0x1de8a8(0x171)]!=null&&_0x5e8d24[_0x1de8a8(0xf4)](_0x286b54[_0x1de8a8(0x171)]));if(_0x2389f6[_0x1de8a8(0xf9)]===0x0)return;const _0x3baf98=_0x2389f6[_0x1de8a8(0x119)](_0x45ae43=>'page\x20'+_0x45ae43[_0x1de8a8(0x171)]+_0x1de8a8(0x15a)+_0x45ae43['id'])[_0x1de8a8(0x13a)](',\x20');throw menuError(_0x1de8a8(0x109),_0x1de8a8(0x12f)+_0x3baf98+'.',_0x1de8a8(0x130));}function assertCascadeMatchesPlan(_0x5d1b79,_0x35a317){const _0x318fdb=a108_0x3fd744,_0x9e81c2=cascadeForTargets(_0x35a317);if(JSON[_0x318fdb(0x107)](_0x5d1b79[_0x318fdb(0x141)])!==JSON[_0x318fdb(0x107)](_0x9e81c2))throw menuError(_0x318fdb(0xfe),_0x318fdb(0x164));}function cascadeForTargets(_0x32b287){const _0x22c8c0=a108_0x3fd744,_0xd6e3b5=_0x32b287[_0x22c8c0(0x119)](_0x3c1614=>_0x3c1614['pageId'])['filter'](_0x1d77c4=>_0x1d77c4!=null)['filter']((_0x259760,_0x41a264,_0x69c79c)=>_0x69c79c[_0x22c8c0(0x157)](_0x259760)===_0x41a264);return{'pages':_0xd6e3b5,'pageSchemaAffected':_0xd6e3b5[_0x22c8c0(0xf9)]>0x0};}function asMenuError(_0x7f73e9){const _0x4b77a7=a108_0x3fd744;return _0x7f73e9 instanceof CliError?_0x7f73e9:menuError(_0x4b77a7(0xfe),_0x7f73e9 instanceof Error?_0x7f73e9[_0x4b77a7(0x159)]:String(_0x7f73e9));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x38b90c=a109_0x493b;(function(_0x544216,_0x2a4b27){const _0x243350=a109_0x493b,_0x224144=_0x544216();while(!![]){try{const _0x331c67=-parseInt(_0x243350(0x20b))/0x1*(parseInt(_0x243350(0x1d9))/0x2)+-parseInt(_0x243350(0x1d7))/0x3*(parseInt(_0x243350(0x1bb))/0x4)+parseInt(_0x243350(0x196))/0x5+parseInt(_0x243350(0x211))/0x6+parseInt(_0x243350(0x192))/0x7*(parseInt(_0x243350(0x1ea))/0x8)+parseInt(_0x243350(0x1b7))/0x9+-parseInt(_0x243350(0x20f))/0xa;if(_0x331c67===_0x2a4b27)break;else _0x224144['push'](_0x224144['shift']());}catch(_0x519c1a){_0x224144['push'](_0x224144['shift']());}}}(a109_0x4820,0x89858));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';function a109_0x4820(){const _0x115f9b=['Provide\x20an\x20HTTPS\x20URL.','menu_open_mode_invalid','open-mode','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Whether\x20the\x20menu\x20is\x20visible','afterPlan','label','create-response-validation','<platform-generated>','hasOwnProperty','menu_url_invalid','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','selector','causemessage','bool','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','isArray','currentSnapshotHash','\x20could\x20not\x20be\x20verified.','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plannedActions','readbackerror','5418639NQWhDM','rawerror','Menu\x20label','filter','100YuyrMK','menu_create_response_invalid','menu\x20list','visible','password','has','cause','parent','\x20failed\x20final\x20verification.','menu_parent_not_folder','rawFlags','cookie','External\x20HTTPS\x20URL','create','toLowerCase','\x20has\x20an\x20unexpected\x20generated\x20path.','length','protocol','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','parentId','\x20--format\x20compress','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','verification','expectedPath','after','menu','menu_permission_denied','1560LtsmCn','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','209930mIaddP','create-recovery','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','recovered','code','replace','data','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','url','map','lookupCommand','Run\x20','Recovered\x20menu\x20','includes','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','link','path','32zoraus','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','iframe','flagMissing','URL','createdId','add','Menu\x20','How\x20to\x20open\x20the\x20external\x20website','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_sort_overflow','Create\x20an\x20external\x20website\x20link\x20menu','appCode','POST','object','Would\x20create\x20external\x20website\x20link\x20menu\x20','type','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','menu_create_recovery_required','entries','snapshot','Recovered\x20created\x20external\x20menu\x20','\x27\x5c\x27\x27','new-window','create-menu','plan','prototype','trim','expectedSnapshotHash','menu_sort_invalid','sort','str','8kTcwKc','menu_verification_failed','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','fromEntries','391480nojfui','\x20has\x20an\x20unexpected\x20','2220630ZHCaIt','failed','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','fact','menu_mutation_failed','isSafeInteger','\x20with\x20','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','/smartapi/menu/create','stringify','succeeded','rabetbase\x20menu\x20list\x20--appcode\x20','body','External\x20menu\x20creation\x20failed.','parent-id','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','pre-write-recheck','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','811153vHGvqN','create\x20external\x20menu','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','\x20after\x20response\x20loss.','97320tjdoUy','write','visibility','get','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','call','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','byId','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','Created\x20menu\x20','string'];a109_0x4820=function(){return _0x115f9b;};return a109_0x4820();}const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a109_0x38b90c(0x1ec),'new-window':a109_0x38b90c(0x1e8)};export function validateExternalMenuUrl(_0x1a280b){const _0x1095ac=a109_0x38b90c,_0x4c32df=_0x1a280b['trim']();let _0x141908;try{_0x141908=new URL(_0x4c32df);}catch{throw menuError(_0x1095ac(0x1ab),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.');}if(_0x141908[_0x1095ac(0x1cc)]!=='https:')throw menuError('menu_url_https_required',_0x1095ac(0x1d1),_0x1095ac(0x1a1));if(_0x141908['username']||_0x141908[_0x1095ac(0x1bf)])throw menuError('menu_url_credentials_forbidden',_0x1095ac(0x1db),_0x1095ac(0x1e7));return _0x4c32df;}export const menuExternalLinkCreate={'service':a109_0x38b90c(0x1d5),'command':'external-link-create','description':a109_0x38b90c(0x1f6),'risk':a109_0x38b90c(0x197),'structuredErrors':!![],'flags':[{'name':a109_0x38b90c(0x1a7),'type':a109_0x38b90c(0x1a0),'required':!![],'description':a109_0x38b90c(0x1b9)},{'name':a109_0x38b90c(0x1a3),'type':a109_0x38b90c(0x1a0),'required':!![],'enum':['embedded',a109_0x38b90c(0x202)],'description':a109_0x38b90c(0x1f2)},{'name':a109_0x38b90c(0x1e1),'type':a109_0x38b90c(0x1a0),'required':!![],'description':a109_0x38b90c(0x1c7)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x38b90c(0x1be),'type':'boolean','default':!![],'description':a109_0x38b90c(0x1a5)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x9ba43e){validateAddInput(_0x9ba43e);},async 'dryRun'(_0x1a88b7){const _0x1227af=a109_0x38b90c;validateAddInput(_0x1a88b7);const {plan:_0x31de40}=await buildSafeAddPlan(_0x1a88b7,!![]),_0x1400db=_0x31de40[_0x1227af(0x1d4)],_0x2a37ea=createBody(_0x1400db);return menuDryRunResult(_0x31de40,{'method':_0x1227af(0x1f8),'url':_0x1227af(0x188),'body':_0x2a37ea,'description':_0x1227af(0x1fa)+JSON[_0x1227af(0x189)](_0x1400db['label'])+_0x1227af(0x186)+_0x1a88b7[_0x1227af(0x20a)](_0x1227af(0x1a3))+_0x1227af(0x1eb)});},async 'execute'(_0x5e83ba){const _0x5db0d4=a109_0x38b90c;validateAddInput(_0x5e83ba);const _0x377374=await buildSafeAddPlan(_0x5e83ba,![]),{plan:_0xfd2493,snapshot:_0x13e7af}=_0x377374,_0x3fb150=_0xfd2493['after'],_0x14d33b=buildMenuLookupCommand(_0x5e83ba[_0x5db0d4(0x1f7)]);await recheckAddSnapshot(_0x5e83ba,_0xfd2493);let _0x1f1ac0;try{_0x1f1ac0=await createMenuEntity(_0x5e83ba[_0x5db0d4(0x1f7)],_0x5e83ba[_0x5db0d4(0x1c6)],createBody(_0x3fb150));}catch(_0x3b40e5){const _0x4495e8=mapMenuApiError(_0x3b40e5,_0x5db0d4(0x193));if(!isMenuResponseLoss(_0x3b40e5)||_0x4495e8[_0x5db0d4(0x1dd)]==='menu_permission_denied')throw externalLinkCreateFailure(_0x4495e8,_0xfd2493,{'stage':_0x5db0d4(0x1c8),'failed':{},'verification':{'status':_0x5db0d4(0x212),'lookupCommand':_0x14d33b}});return recoverAfterResponseLoss(_0x5e83ba,_0x377374,_0x14d33b);}const _0x586166=Number(_0x1f1ac0?.['id']),_0x354938=typeof _0x1f1ac0?.['path']==='string'?_0x1f1ac0[_0x5db0d4(0x1e9)]:'';if(!Number['isSafeInteger'](_0x586166)||_0x586166<=0x0||!_0x354938['trim']()){const _0x1b8e3e=menuError(_0x5db0d4(0x1bc),'Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.',_0x5db0d4(0x1e4)+_0x14d33b+_0x5db0d4(0x187));throw externalLinkCreateFailure(_0x1b8e3e,_0xfd2493,{'stage':_0x5db0d4(0x1a8),'succeeded':Number[_0x5db0d4(0x185)](_0x586166)&&_0x586166>0x0?[{'id':_0x586166,'created':!![]}]:[],'failed':{'createdId':Number[_0x5db0d4(0x185)](_0x586166)?_0x586166:null,'generatedPathConfirmed':Boolean(_0x354938[_0x5db0d4(0x206)]())},'warnings':[_0x5db0d4(0x19e)],'after':Number['isSafeInteger'](_0x586166)&&_0x586166>0x0?{..._0x3fb150,'id':_0x586166,'path':_0x354938}:_0x3fb150,'verification':{'status':_0x5db0d4(0x212),'lookupCommand':_0x14d33b,...Number['isSafeInteger'](_0x586166)&&_0x586166>0x0?{'targetId':_0x586166}:{}}});}const _0x159f31=await readAndVerifyCreatedMenu({'appCode':_0x5e83ba[_0x5db0d4(0x1f7)],'cookie':_0x5e83ba[_0x5db0d4(0x1c6)],'plan':_0xfd2493,'afterPlan':_0x3fb150,'createdId':_0x586166,'expectedPath':_0x354938,'lookupCommand':_0x14d33b,'recovered':![]});return creationSuccess(_0xfd2493,_0x159f31[_0x5db0d4(0x1ff)],_0x159f31[_0x5db0d4(0x183)],![]);}};function validateAddInput(_0x457225){const _0x4b0362=a109_0x38b90c;if(!_0x457225[_0x4b0362(0x20a)]('label')[_0x4b0362(0x206)]())throw CliErrors[_0x4b0362(0x1ed)](_0x4b0362(0x1a7));resolveExternalMenuType(_0x457225),validateExternalMenuUrl(_0x457225[_0x4b0362(0x20a)]('url')),parseParentId(_0x457225,_0x4b0362(0x18e)),validateSort(_0x457225);}function resolveExternalMenuType(_0x212be5){const _0x37d911=a109_0x38b90c,_0x45c9b4=_0x212be5[_0x37d911(0x20a)](_0x37d911(0x1a3))[_0x37d911(0x206)]();if(!_0x45c9b4)throw CliErrors['flagMissing'](_0x37d911(0x1a3));const _0x17e951=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x45c9b4];if(!_0x17e951)throw menuError(_0x37d911(0x1a2),'--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x17e951;}async function buildAddPlan(_0x1a4050,_0x30c816){const _0x31a274=a109_0x38b90c,_0x434c08=await fetchMutationSnapshot(_0x1a4050,_0x31a274(0x193)),_0x4d8c05=parseParentId(_0x1a4050,_0x31a274(0x18e))??null;if(_0x4d8c05!=null)requireFolder(_0x434c08,_0x4d8c05);const _0x591506=validateSort(_0x1a4050),_0x50d081=_0x591506??nextSiblingSort(_0x434c08,_0x4d8c05,_0x31a274(0x1d5)),_0x2ab313=_0x1a4050[_0x31a274(0x20a)]('label')[_0x31a274(0x206)](),_0x4f8214=resolveExternalMenuType(_0x1a4050),_0x190427=validateExternalMenuUrl(_0x1a4050[_0x31a274(0x20a)](_0x31a274(0x1e1))),_0x31cbf7=Object[_0x31a274(0x205)][_0x31a274(0x1aa)][_0x31a274(0x19b)](_0x1a4050[_0x31a274(0x1c5)],_0x31a274(0x1be))?_0x1a4050[_0x31a274(0x1af)]('visible'):!![],_0x422fef={'id':null,'parentId':_0x4d8c05,'label':_0x2ab313,'path':_0x31a274(0x1a9),'url':_0x190427,'type':_0x4f8214,'visible':_0x31cbf7,'sort':_0x50d081},_0x13d69e=buildMenuLookupCommand(_0x1a4050[_0x31a274(0x1f7)]),_0xf52728=mutationResult({'operation':_0x31a274(0x1f0),'selector':{'parentId':_0x4d8c05,'type':_0x4f8214,'label':_0x2ab313,'url':_0x190427},'before':null,'after':_0x422fef,'dryRun':_0x30c816,'backend':[{'method':_0x31a274(0x1f8),'path':_0x31a274(0x188)}],'plannedActions':[{'stage':_0x31a274(0x203),'method':_0x31a274(0x1f8),'path':_0x31a274(0x188),'body':createBody(_0x422fef)}],'snapshotHash':_0x434c08['hash'],'warnings':[_0x31a274(0x18f)],'verification':{'lookupCommand':_0x13d69e}});return{'plan':_0xf52728,'snapshot':_0x434c08};}function a109_0x493b(_0x4b5ab9,_0x247622){_0x4b5ab9=_0x4b5ab9-0x182;const _0x4820b3=a109_0x4820();let _0x493b95=_0x4820b3[_0x4b5ab9];return _0x493b95;}async function buildSafeAddPlan(_0x452fb1,_0x2a323b){try{return await buildAddPlan(_0x452fb1,_0x2a323b);}catch(_0x2f2fdc){throw safeMenuAddError(_0x2f2fdc);}}async function recheckAddSnapshot(_0x4ae2ad,_0xfa31b1){const _0x26d6ef=a109_0x38b90c;try{await recheckMutationSnapshot(_0x4ae2ad,_0xfa31b1,_0x26d6ef(0x193));}catch(_0x5a4091){const _0x175d93=getFailureRecord(_0x5a4091);throw externalLinkCreateFailure(_0x5a4091,_0xfa31b1,{'stage':_0x26d6ef(0x190),'failed':{..._0x175d93?.['expectedSnapshotHash']?{'expectedSnapshotHash':_0x175d93[_0x26d6ef(0x207)]}:{},..._0x175d93?.['currentSnapshotHash']?{'currentSnapshotHash':_0x175d93[_0x26d6ef(0x1b2)]}:{}}});}}function createBody(_0x145a4b){const _0x5b7c14=a109_0x38b90c;return{'parentId':toApiParentId(_0x145a4b[_0x5b7c14(0x1ce)]),'label':String(_0x145a4b[_0x5b7c14(0x1a7)]),'type':String(_0x145a4b['type']),'url':String(_0x145a4b[_0x5b7c14(0x1e1)]),'visible':Boolean(_0x145a4b[_0x5b7c14(0x1be)]),'sort':Number(_0x145a4b[_0x5b7c14(0x209)]),'extend':{}};}function buildMenuLookupCommand(_0xdcb91d){const _0x44b484=a109_0x38b90c,_0x348b14='\x27'+_0xdcb91d['replace'](/'/g,_0x44b484(0x201))+'\x27';return _0x44b484(0x18b)+_0x348b14+_0x44b484(0x1cf);}async function recoverAfterResponseLoss(_0x484d74,_0x5cbbd3,_0x53da58){const _0x3dc31a=a109_0x38b90c,{plan:_0x584ff1,snapshot:_0x3b2ccd}=_0x5cbbd3,_0x530c28=_0x584ff1['after'];let _0x14150b;try{_0x14150b=await fetchMenuSnapshot(_0x484d74[_0x3dc31a(0x1f7)],_0x484d74[_0x3dc31a(0x1c6)]);}catch(_0x15adff){throw recoveryRequiredFailure(_0x584ff1,_0x53da58,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4d470a=_0x14150b['menus'][_0x3dc31a(0x1ba)](_0xd6d40a=>_0xd6d40a[_0x3dc31a(0x1ce)]===_0x530c28['parentId']&&_0xd6d40a[_0x3dc31a(0x1fb)]===_0x530c28[_0x3dc31a(0x1fb)]&&_0xd6d40a[_0x3dc31a(0x1a7)]===_0x530c28[_0x3dc31a(0x1a7)]&&_0xd6d40a[_0x3dc31a(0x1e1)]===_0x530c28['url']),_0x2a680b=_0x4d470a[_0x3dc31a(0x1ba)](_0x3dba71=>!_0x3b2ccd[_0x3dc31a(0x19d)]['has'](_0x3dba71['id'])),_0x255ced=_0x4d470a[_0x3dc31a(0x1ba)](_0x2fbffb=>_0x3b2ccd[_0x3dc31a(0x19d)][_0x3dc31a(0x1c0)](_0x2fbffb['id']));if(_0x4d470a[_0x3dc31a(0x1cb)]!==0x1||_0x2a680b[_0x3dc31a(0x1cb)]!==0x1)throw recoveryRequiredFailure(_0x584ff1,_0x53da58,{'matchCount':_0x4d470a['length'],'newMatchCount':_0x2a680b[_0x3dc31a(0x1cb)],'preexistingMatchCount':_0x255ced[_0x3dc31a(0x1cb)]});const _0x74fe3a=_0x2a680b[0x0];try{verifyCreatedFact(_0x74fe3a,_0x74fe3a['id'],_0x530c28,null);}catch(_0x15e0b3){const _0x427208=_0x15e0b3 instanceof Error&&_0x3dc31a(0x1dd)in _0x15e0b3?_0x15e0b3:menuError(_0x3dc31a(0x20c),_0x3dc31a(0x1e5)+_0x74fe3a['id']+_0x3dc31a(0x1b3),_0x3dc31a(0x1e4)+_0x53da58+_0x3dc31a(0x19c));throw externalLinkCreateFailure(_0x427208,_0x584ff1,{'stage':_0x3dc31a(0x1d2),'succeeded':[{'id':_0x74fe3a['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x74fe3a['id'],'finalFactsConfirmed':![]},'after':_0x74fe3a,'warnings':[_0x3dc31a(0x1f1)+_0x74fe3a['id']+_0x3dc31a(0x1ac)],'verification':{'status':'failed','targetId':_0x74fe3a['id'],'recovered':!![],'lookupCommand':_0x53da58}});}return creationSuccess(_0x584ff1,_0x14150b,_0x74fe3a,!![]);}function recoveryRequiredFailure(_0x3362b9,_0x79365e,_0x45f28a){const _0xec245b=a109_0x38b90c,_0x2abed7=menuError(_0xec245b(0x1fd),_0xec245b(0x1a4),_0xec245b(0x1e4)+_0x79365e+_0xec245b(0x1fc));return externalLinkCreateFailure(_0x2abed7,_0x3362b9,{'stage':_0xec245b(0x1da),'failed':_0x45f28a,'warnings':[_0xec245b(0x1b4)],'verification':{'status':_0xec245b(0x212),..._0x45f28a,'lookupCommand':_0x79365e}});}async function readAndVerifyCreatedMenu(_0x44b7b9){const _0x352dd0=a109_0x38b90c;let _0xa6eefe;try{_0xa6eefe=await fetchMenuSnapshot(_0x44b7b9[_0x352dd0(0x1f7)],_0x44b7b9[_0x352dd0(0x1c6)]);}catch(_0x16eb0b){const _0x9c11ab=menuError('menu_verification_failed','Menu\x20'+_0x44b7b9[_0x352dd0(0x1ef)]+_0x352dd0(0x19a),_0x352dd0(0x1e4)+_0x44b7b9['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x9c11ab,_0x44b7b9[_0x352dd0(0x204)],{'stage':_0x352dd0(0x1d2),'succeeded':[{'id':_0x44b7b9['createdId'],'created':!![]}],'failed':{'id':_0x44b7b9[_0x352dd0(0x1ef)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x44b7b9[_0x352dd0(0x1a6)],'id':_0x44b7b9['createdId'],'path':_0x44b7b9[_0x352dd0(0x1d3)]},'warnings':['Menu\x20'+_0x44b7b9[_0x352dd0(0x1ef)]+_0x352dd0(0x1e0)],'verification':{'status':_0x352dd0(0x212),'targetId':_0x44b7b9[_0x352dd0(0x1ef)],'lookupCommand':_0x44b7b9['lookupCommand']}});}const _0x3dae05=_0xa6eefe[_0x352dd0(0x19d)][_0x352dd0(0x199)](_0x44b7b9[_0x352dd0(0x1ef)]);try{if(!_0x3dae05)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x44b7b9[_0x352dd0(0x1ef)]+'\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Run\x20'+_0x44b7b9[_0x352dd0(0x1e3)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x3dae05,_0x44b7b9[_0x352dd0(0x1ef)],_0x44b7b9['afterPlan'],_0x44b7b9['expectedPath']);}catch(_0x9c7520){const _0x2a88a4=_0x9c7520 instanceof Error&&'code'in _0x9c7520?_0x9c7520:menuError(_0x352dd0(0x20c),_0x352dd0(0x19f)+_0x44b7b9[_0x352dd0(0x1ef)]+_0x352dd0(0x1c3),_0x352dd0(0x1e4)+_0x44b7b9[_0x352dd0(0x1e3)]+_0x352dd0(0x182));throw externalLinkCreateFailure(_0x2a88a4,_0x44b7b9[_0x352dd0(0x204)],{'stage':_0x352dd0(0x1d2),'succeeded':[{'id':_0x44b7b9[_0x352dd0(0x1ef)],'created':!![]}],'failed':{'id':_0x44b7b9[_0x352dd0(0x1ef)],'finalFactsConfirmed':![]},'after':_0x3dae05??{..._0x44b7b9[_0x352dd0(0x1a6)],'id':_0x44b7b9['createdId'],'path':_0x44b7b9[_0x352dd0(0x1d3)]},'warnings':[_0x352dd0(0x1f1)+_0x44b7b9[_0x352dd0(0x1ef)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x352dd0(0x212),'targetId':_0x44b7b9['createdId'],'recovered':_0x44b7b9[_0x352dd0(0x1dc)],'lookupCommand':_0x44b7b9['lookupCommand']}});}return{'snapshot':_0xa6eefe,'fact':_0x3dae05};}function verifyCreatedFact(_0x5cdd75,_0x4643b0,_0x22c44d,_0x1389b8){const _0x2385ad=a109_0x38b90c;if(!Number['isSafeInteger'](_0x5cdd75['id'])||_0x5cdd75['id']<=0x0||_0x5cdd75['id']!==_0x4643b0)throw menuError('menu_verification_failed',_0x2385ad(0x1f3),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x432ce3=[[_0x2385ad(0x1c2),_0x5cdd75[_0x2385ad(0x1ce)],_0x22c44d[_0x2385ad(0x1ce)]],[_0x2385ad(0x1fb),_0x5cdd75['type'],_0x22c44d['type']],[_0x2385ad(0x1a7),_0x5cdd75['label'],_0x22c44d['label']],[_0x2385ad(0x1ee),_0x5cdd75[_0x2385ad(0x1e1)],_0x22c44d['url']],[_0x2385ad(0x198),_0x5cdd75[_0x2385ad(0x1be)],_0x22c44d['visible']],[_0x2385ad(0x209),_0x5cdd75[_0x2385ad(0x209)],_0x22c44d[_0x2385ad(0x209)]]];for(const [_0x8fbdb3,_0x461945,_0x297a18]of _0x432ce3){if(_0x461945!==_0x297a18)throw menuError(_0x2385ad(0x20c),_0x2385ad(0x19f)+_0x5cdd75['id']+_0x2385ad(0x210)+_0x8fbdb3+'.',_0x2385ad(0x1d8));}if(!_0x5cdd75[_0x2385ad(0x1e9)][_0x2385ad(0x206)]()||_0x1389b8!==null&&_0x5cdd75['path']!==_0x1389b8)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x5cdd75['id']+_0x2385ad(0x1ca),_0x2385ad(0x1d8));}function creationSuccess(_0x3153f9,_0x3db5a9,_0x387688,_0x459bb0){const _0x54930a=a109_0x38b90c,_0x29013b=mutationResult({..._0x3153f9,'after':_0x387688,'dryRun':![],'succeeded':[{'id':_0x387688['id'],'created':!![],'recovered':_0x459bb0}],'verification':{'checkedBy':_0x54930a(0x1bd),'snapshotHash':_0x3db5a9['hash'],'targetId':_0x387688['id'],'recovered':_0x459bb0,'path':_0x387688[_0x54930a(0x1e9)]}});return{'ok':!![],'message':_0x459bb0?_0x54930a(0x200)+_0x387688['id']+_0x54930a(0x195):'Created\x20external\x20menu\x20'+_0x387688['id']+'.','data':{..._0x29013b,'recovered':_0x459bb0}};}function externalLinkCreateFailure(_0x32851c,_0x491d8a,_0x47d033){const _0x46484e=a109_0x38b90c;return menuFailure(safeMenuAddError(_0x32851c),redactFailurePlan(_0x491d8a),{..._0x47d033,'succeeded':_0x47d033[_0x46484e(0x18a)]?.[_0x46484e(0x1e2)](redactFailureRecord),'failed':_0x47d033[_0x46484e(0x212)]?redactFailureRecord(_0x47d033['failed']):undefined,'verification':_0x47d033[_0x46484e(0x1d2)]?redactFailureRecord(_0x47d033[_0x46484e(0x1d2)]):undefined,'after':_0x47d033[_0x46484e(0x1d4)]===undefined?undefined:redactFailureValue(_0x47d033['after'])});}function redactFailurePlan(_0x4f5781){const _0xb24a66=a109_0x38b90c;return{..._0x4f5781,'selector':redactFailureRecord(_0x4f5781[_0xb24a66(0x1ad)]),'before':redactFailureValue(_0x4f5781['before']),'after':redactFailureValue(_0x4f5781[_0xb24a66(0x1d4)]),'plannedActions':_0x4f5781[_0xb24a66(0x1b5)]?.[_0xb24a66(0x1e2)](_0x3a2b14=>({..._0x3a2b14,'body':redactFailureRecord(_0x3a2b14[_0xb24a66(0x18c)])})),'succeeded':_0x4f5781[_0xb24a66(0x18a)]['map'](redactFailureRecord),'failed':_0x4f5781[_0xb24a66(0x212)][_0xb24a66(0x1e2)](redactFailureRecord),'verification':_0x4f5781[_0xb24a66(0x1d2)]?redactFailureRecord(_0x4f5781[_0xb24a66(0x1d2)]):undefined};}function redactFailureRecord(_0x3a8661){return redactFailureValue(_0x3a8661);}function redactFailureValue(_0x43f97b,_0x22b39=''){const _0x1dd6b5=a109_0x38b90c,_0x5ecb1b=_0x22b39[_0x1dd6b5(0x1c9)]()[_0x1dd6b5(0x1de)](/[^a-z0-9]/g,'');if([_0x1dd6b5(0x1c1),_0x1dd6b5(0x1ae),_0x1dd6b5(0x1b6),_0x1dd6b5(0x1b8)][_0x1dd6b5(0x1e6)](_0x5ecb1b))return'<redacted>';if(Array[_0x1dd6b5(0x1b1)](_0x43f97b))return _0x43f97b[_0x1dd6b5(0x1e2)](_0x3bfd7c=>redactFailureValue(_0x3bfd7c));if(_0x43f97b&&typeof _0x43f97b==='object')return Object[_0x1dd6b5(0x20e)](Object[_0x1dd6b5(0x1fe)](_0x43f97b)[_0x1dd6b5(0x1e2)](([_0x5e2ce3,_0x457728])=>[_0x5e2ce3,redactFailureValue(_0x457728,_0x5e2ce3)]));return _0x43f97b;}function safeMenuAddError(_0x3a6a3d){const _0x45aa3d=a109_0x38b90c,_0x179e12=_0x3a6a3d instanceof CliError?_0x3a6a3d[_0x45aa3d(0x1dd)]:_0x45aa3d(0x184);switch(_0x179e12){case'menu_state_drift':return menuError(_0x179e12,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x45aa3d(0x1cd));case _0x45aa3d(0x1d6):return menuError(_0x179e12,_0x45aa3d(0x194),_0x45aa3d(0x1b0));case _0x45aa3d(0x1bc):return menuError(_0x179e12,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.',_0x45aa3d(0x1d0));case _0x45aa3d(0x20c):return menuError(_0x179e12,_0x45aa3d(0x20d),_0x45aa3d(0x1d0));case'menu_create_recovery_required':return menuError(_0x179e12,_0x45aa3d(0x191),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x45aa3d(0x184):case'menu_not_found':case _0x45aa3d(0x1c4):case _0x45aa3d(0x208):case _0x45aa3d(0x1f5):return menuError(_0x179e12,'External\x20menu\x20creation\x20failed.',_0x45aa3d(0x1f4));default:return menuError(_0x45aa3d(0x184),_0x45aa3d(0x18d),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x7c9f12){const _0x426256=a109_0x38b90c;if(!(_0x7c9f12 instanceof Error)||!('data'in _0x7c9f12))return undefined;const _0x3b4a6f=_0x7c9f12[_0x426256(0x1df)];if(!_0x3b4a6f||typeof _0x3b4a6f!==_0x426256(0x1f9))return undefined;const _0x3c7d1c=_0x3b4a6f[_0x426256(0x212)];if(!Array[_0x426256(0x1b1)](_0x3c7d1c)||!_0x3c7d1c[0x0]||typeof _0x3c7d1c[0x0]!=='object')return undefined;return _0x3c7d1c[0x0];}
|
|
1
|
+
const a109_0x429820=a109_0x75f7;(function(_0x47954f,_0x1cda9a){const _0x32a118=a109_0x75f7,_0x27f949=_0x47954f();while(!![]){try{const _0x36c363=-parseInt(_0x32a118(0x201))/0x1+-parseInt(_0x32a118(0x21e))/0x2+parseInt(_0x32a118(0x239))/0x3*(-parseInt(_0x32a118(0x1de))/0x4)+-parseInt(_0x32a118(0x1f2))/0x5*(-parseInt(_0x32a118(0x1d6))/0x6)+parseInt(_0x32a118(0x1d9))/0x7*(parseInt(_0x32a118(0x255))/0x8)+parseInt(_0x32a118(0x203))/0x9+-parseInt(_0x32a118(0x221))/0xa*(-parseInt(_0x32a118(0x227))/0xb);if(_0x36c363===_0x1cda9a)break;else _0x27f949['push'](_0x27f949['shift']());}catch(_0x2ec7e5){_0x27f949['push'](_0x27f949['shift']());}}}(a109_0x1869,0x500e0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a109_0x1869(){const _0x15ae07=['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','parent-id','Would\x20create\x20external\x20website\x20link\x20menu\x20','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','new-window','length','create-recovery','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','username','<platform-generated>','url','object','\x20after\x20response\x20loss.','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','Menu\x20','afterPlan','Created\x20menu\x20','lookupCommand','5huftTe','<redacted>','replace','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','menu_sort_invalid','code','hash','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','data','Recovered\x20menu\x20','External\x20menu\x20creation\x20failed.','isSafeInteger','651172DgvxYN','byId','3397878yfBmFq','type','body','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_create_response_invalid','path','How\x20to\x20open\x20the\x20external\x20website','sort','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','\x20has\x20an\x20unexpected\x20generated\x20path.','createdId','Menu\x20label','rabetbase\x20menu\x20list\x20--appcode\x20','str','menu_url_credentials_forbidden','menu_parent_not_folder','prototype','\x27\x5c\x27\x27','visibility','\x20failed\x20final\x20verification.','pre-write-recheck','snapshot','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','plannedActions','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','860564CqBgHL','label','menu_mutation_failed','10WaqPbh','add','trim','menu','isArray','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','2964302MIvkVP','toLowerCase','https:','external-link-create','parent','POST','Whether\x20the\x20menu\x20is\x20visible','External\x20HTTPS\x20URL','has','fact','menu_state_drift','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','expectedPath','Recovered\x20created\x20external\x20menu\x20','visible','parentId','verification','cookie','87mqcihj','string','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','\x20--format\x20compress','rawerror','before','Run\x20','stringify','failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','plan','menu_not_found','Created\x20external\x20menu\x20','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','link','includes','menu_permission_denied','bool','causemessage','readbackerror','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','after','succeeded','/smartapi/menu/create','currentSnapshotHash','rawFlags','open-mode','167208wYvPJW','menu_create_recovery_required','create\x20external\x20menu','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','map','expectedSnapshotHash','filter','menu\x20list','2261274NGAQNb','\x20with\x20','menu_verification_failed','189RUJVee','menus','get','menu_url_invalid','iframe','24672RanSxl','appCode'];a109_0x1869=function(){return _0x15ae07;};return a109_0x1869();}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_0x429820(0x1dd),'new-window':a109_0x429820(0x247)};export function validateExternalMenuUrl(_0x16538c){const _0x35391c=a109_0x429820,_0x5865d2=_0x16538c['trim']();let _0x1cfcdb;try{_0x1cfcdb=new URL(_0x5865d2);}catch{throw menuError(_0x35391c(0x1dc),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x35391c(0x232));}if(_0x1cfcdb['protocol']!==_0x35391c(0x229))throw menuError('menu_url_https_required','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','Provide\x20an\x20HTTPS\x20URL.');if(_0x1cfcdb[_0x35391c(0x1e8)]||_0x1cfcdb['password'])throw menuError(_0x35391c(0x211),_0x35391c(0x21c),_0x35391c(0x24e));return _0x5865d2;}function a109_0x75f7(_0x2a966d,_0x1f884b){_0x2a966d=_0x2a966d-0x1d2;const _0x186910=a109_0x1869();let _0x75f738=_0x186910[_0x2a966d];return _0x75f738;}export const menuExternalLinkCreate={'service':a109_0x429820(0x224),'command':a109_0x429820(0x22a),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':'write','structuredErrors':!![],'flags':[{'name':a109_0x429820(0x21f),'type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x20e)},{'name':a109_0x429820(0x254),'type':'string','required':!![],'enum':['embedded',a109_0x429820(0x1e4)],'description':a109_0x429820(0x209)},{'name':'url','type':a109_0x429820(0x23a),'required':!![],'description':a109_0x429820(0x22e)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x429820(0x235),'type':'boolean','default':!![],'description':a109_0x429820(0x22d)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x42b1d1){validateAddInput(_0x42b1d1);},async 'dryRun'(_0x1fbfc0){const _0x1ec4cf=a109_0x429820;validateAddInput(_0x1fbfc0);const {plan:_0x1d9867}=await buildSafeAddPlan(_0x1fbfc0,!![]),_0x4ff3a1=_0x1d9867[_0x1ec4cf(0x24f)],_0x26321=createBody(_0x4ff3a1);return menuDryRunResult(_0x1d9867,{'method':_0x1ec4cf(0x22c),'url':_0x1ec4cf(0x251),'body':_0x26321,'description':_0x1ec4cf(0x1e2)+JSON[_0x1ec4cf(0x240)](_0x4ff3a1[_0x1ec4cf(0x21f)])+_0x1ec4cf(0x1d7)+_0x1fbfc0[_0x1ec4cf(0x210)](_0x1ec4cf(0x254))+_0x1ec4cf(0x1f7)});},async 'execute'(_0xcdcd06){const _0x4078f1=a109_0x429820;validateAddInput(_0xcdcd06);const _0x95ef32=await buildSafeAddPlan(_0xcdcd06,![]),{plan:_0x46f08f,snapshot:_0x2832d4}=_0x95ef32,_0x575092=_0x46f08f[_0x4078f1(0x24f)],_0x3f996d=buildMenuLookupCommand(_0xcdcd06[_0x4078f1(0x1df)]);await recheckAddSnapshot(_0xcdcd06,_0x46f08f);let _0x2233d3;try{_0x2233d3=await createMenuEntity(_0xcdcd06['appCode'],_0xcdcd06['cookie'],createBody(_0x575092));}catch(_0xd28fc3){const _0x153b0f=mapMenuApiError(_0xd28fc3,_0x4078f1(0x257));if(!isMenuResponseLoss(_0xd28fc3)||_0x153b0f[_0x4078f1(0x1f9)]===_0x4078f1(0x249))throw externalLinkCreateFailure(_0x153b0f,_0x46f08f,{'stage':'create','failed':{},'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d}});return recoverAfterResponseLoss(_0xcdcd06,_0x95ef32,_0x3f996d);}const _0x69be02=Number(_0x2233d3?.['id']),_0x5e031d=typeof _0x2233d3?.[_0x4078f1(0x208)]==='string'?_0x2233d3[_0x4078f1(0x208)]:'';if(!Number[_0x4078f1(0x200)](_0x69be02)||_0x69be02<=0x0||!_0x5e031d['trim']()){const _0x3c39d2=menuError(_0x4078f1(0x207),_0x4078f1(0x21a),'Run\x20'+_0x3f996d+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x3c39d2,_0x46f08f,{'stage':'create-response-validation','succeeded':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?[{'id':_0x69be02,'created':!![]}]:[],'failed':{'createdId':Number[_0x4078f1(0x200)](_0x69be02)?_0x69be02:null,'generatedPathConfirmed':Boolean(_0x5e031d[_0x4078f1(0x223)]())},'warnings':[_0x4078f1(0x1e0)],'after':Number[_0x4078f1(0x200)](_0x69be02)&&_0x69be02>0x0?{..._0x575092,'id':_0x69be02,'path':_0x5e031d}:_0x575092,'verification':{'status':_0x4078f1(0x241),'lookupCommand':_0x3f996d,...Number['isSafeInteger'](_0x69be02)&&_0x69be02>0x0?{'targetId':_0x69be02}:{}}});}const _0x133e77=await readAndVerifyCreatedMenu({'appCode':_0xcdcd06[_0x4078f1(0x1df)],'cookie':_0xcdcd06[_0x4078f1(0x238)],'plan':_0x46f08f,'afterPlan':_0x575092,'createdId':_0x69be02,'expectedPath':_0x5e031d,'lookupCommand':_0x3f996d,'recovered':![]});return creationSuccess(_0x46f08f,_0x133e77[_0x4078f1(0x218)],_0x133e77[_0x4078f1(0x230)],![]);}};function validateAddInput(_0x525568){const _0x113b48=a109_0x429820;if(!_0x525568[_0x113b48(0x210)](_0x113b48(0x21f))[_0x113b48(0x223)]())throw CliErrors['flagMissing'](_0x113b48(0x21f));resolveExternalMenuType(_0x525568),validateExternalMenuUrl(_0x525568[_0x113b48(0x210)]('url')),parseParentId(_0x525568,_0x113b48(0x1e1)),validateSort(_0x525568);}function resolveExternalMenuType(_0x51fc8b){const _0x2b36bd=a109_0x429820,_0x2e0651=_0x51fc8b[_0x2b36bd(0x210)]('open-mode')[_0x2b36bd(0x223)]();if(!_0x2e0651)throw CliErrors['flagMissing'](_0x2b36bd(0x254));const _0x3cf0ff=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x2e0651];if(!_0x3cf0ff)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x2b36bd(0x1fc));return _0x3cf0ff;}async function buildAddPlan(_0x4f4f79,_0x35cab2){const _0x26fa3b=a109_0x429820,_0x234d45=await fetchMutationSnapshot(_0x4f4f79,_0x26fa3b(0x257)),_0x36ad91=parseParentId(_0x4f4f79,_0x26fa3b(0x1e1))??null;if(_0x36ad91!=null)requireFolder(_0x234d45,_0x36ad91);const _0x2dad00=validateSort(_0x4f4f79),_0x365a82=_0x2dad00??nextSiblingSort(_0x234d45,_0x36ad91,_0x26fa3b(0x224)),_0xc118c5=_0x4f4f79['str'](_0x26fa3b(0x21f))[_0x26fa3b(0x223)](),_0x3fb9a8=resolveExternalMenuType(_0x4f4f79),_0x1286e2=validateExternalMenuUrl(_0x4f4f79['str'](_0x26fa3b(0x1ea))),_0x482996=Object[_0x26fa3b(0x213)]['hasOwnProperty']['call'](_0x4f4f79[_0x26fa3b(0x253)],_0x26fa3b(0x235))?_0x4f4f79[_0x26fa3b(0x24a)](_0x26fa3b(0x235)):!![],_0x4a2f8c={'id':null,'parentId':_0x36ad91,'label':_0xc118c5,'path':_0x26fa3b(0x1e9),'url':_0x1286e2,'type':_0x3fb9a8,'visible':_0x482996,'sort':_0x365a82},_0x38de8e=buildMenuLookupCommand(_0x4f4f79[_0x26fa3b(0x1df)]),_0xcbca49=mutationResult({'operation':_0x26fa3b(0x222),'selector':{'parentId':_0x36ad91,'type':_0x3fb9a8,'label':_0xc118c5,'url':_0x1286e2},'before':null,'after':_0x4a2f8c,'dryRun':_0x35cab2,'backend':[{'method':_0x26fa3b(0x22c),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':'create-menu','method':_0x26fa3b(0x22c),'path':_0x26fa3b(0x251),'body':createBody(_0x4a2f8c)}],'snapshotHash':_0x234d45[_0x26fa3b(0x1fa)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x38de8e}});return{'plan':_0xcbca49,'snapshot':_0x234d45};}async function buildSafeAddPlan(_0x29e4fa,_0x3c0d79){try{return await buildAddPlan(_0x29e4fa,_0x3c0d79);}catch(_0x3bc9cf){throw safeMenuAddError(_0x3bc9cf);}}async function recheckAddSnapshot(_0x4c5a2a,_0x341d8c){const _0x1ff30a=a109_0x429820;try{await recheckMutationSnapshot(_0x4c5a2a,_0x341d8c,_0x1ff30a(0x257));}catch(_0x54579b){const _0xbd3555=getFailureRecord(_0x54579b);throw externalLinkCreateFailure(_0x54579b,_0x341d8c,{'stage':_0x1ff30a(0x217),'failed':{..._0xbd3555?.[_0x1ff30a(0x1d3)]?{'expectedSnapshotHash':_0xbd3555[_0x1ff30a(0x1d3)]}:{},..._0xbd3555?.[_0x1ff30a(0x252)]?{'currentSnapshotHash':_0xbd3555[_0x1ff30a(0x252)]}:{}}});}}function createBody(_0x1ae5f9){const _0x37e61c=a109_0x429820;return{'parentId':toApiParentId(_0x1ae5f9[_0x37e61c(0x236)]),'label':String(_0x1ae5f9[_0x37e61c(0x21f)]),'type':String(_0x1ae5f9[_0x37e61c(0x204)]),'url':String(_0x1ae5f9[_0x37e61c(0x1ea)]),'visible':Boolean(_0x1ae5f9[_0x37e61c(0x235)]),'sort':Number(_0x1ae5f9[_0x37e61c(0x20a)]),'extend':{}};}function buildMenuLookupCommand(_0x4559e6){const _0x349ef1=a109_0x429820,_0x13c4d8='\x27'+_0x4559e6['replace'](/'/g,_0x349ef1(0x214))+'\x27';return _0x349ef1(0x20f)+_0x13c4d8+_0x349ef1(0x23c);}async function recoverAfterResponseLoss(_0x20f880,_0x1bc9af,_0x2718fb){const _0x1eb2ed=a109_0x429820,{plan:_0x11bfe3,snapshot:_0x3d1f5b}=_0x1bc9af,_0x4dfc09=_0x11bfe3[_0x1eb2ed(0x24f)];let _0x95caff;try{_0x95caff=await fetchMenuSnapshot(_0x20f880['appCode'],_0x20f880[_0x1eb2ed(0x238)]);}catch(_0x3095b9){throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x4305d3=_0x95caff[_0x1eb2ed(0x1da)]['filter'](_0x42831d=>_0x42831d['parentId']===_0x4dfc09[_0x1eb2ed(0x236)]&&_0x42831d[_0x1eb2ed(0x204)]===_0x4dfc09['type']&&_0x42831d[_0x1eb2ed(0x21f)]===_0x4dfc09['label']&&_0x42831d[_0x1eb2ed(0x1ea)]===_0x4dfc09[_0x1eb2ed(0x1ea)]),_0x845eae=_0x4305d3[_0x1eb2ed(0x1d4)](_0xc78c02=>!_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0xc78c02['id'])),_0x30610e=_0x4305d3[_0x1eb2ed(0x1d4)](_0x129d36=>_0x3d1f5b[_0x1eb2ed(0x202)][_0x1eb2ed(0x22f)](_0x129d36['id']));if(_0x4305d3[_0x1eb2ed(0x1e5)]!==0x1||_0x845eae[_0x1eb2ed(0x1e5)]!==0x1)throw recoveryRequiredFailure(_0x11bfe3,_0x2718fb,{'matchCount':_0x4305d3[_0x1eb2ed(0x1e5)],'newMatchCount':_0x845eae[_0x1eb2ed(0x1e5)],'preexistingMatchCount':_0x30610e[_0x1eb2ed(0x1e5)]});const _0x5b9ed2=_0x845eae[0x0];try{verifyCreatedFact(_0x5b9ed2,_0x5b9ed2['id'],_0x4dfc09,null);}catch(_0x222970){const _0x35f2ea=_0x222970 instanceof Error&&_0x1eb2ed(0x1f9)in _0x222970?_0x222970:menuError(_0x1eb2ed(0x1d8),_0x1eb2ed(0x1fe)+_0x5b9ed2['id']+'\x20could\x20not\x20be\x20verified.',_0x1eb2ed(0x23f)+_0x2718fb+'\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x35f2ea,_0x11bfe3,{'stage':_0x1eb2ed(0x237),'succeeded':[{'id':_0x5b9ed2['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x5b9ed2['id'],'finalFactsConfirmed':![]},'after':_0x5b9ed2,'warnings':[_0x1eb2ed(0x1ee)+_0x5b9ed2['id']+_0x1eb2ed(0x1e7)],'verification':{'status':_0x1eb2ed(0x241),'targetId':_0x5b9ed2['id'],'recovered':!![],'lookupCommand':_0x2718fb}});}return creationSuccess(_0x11bfe3,_0x95caff,_0x5b9ed2,!![]);}function recoveryRequiredFailure(_0x444b7f,_0xa81b0,_0x174333){const _0x581b8a=a109_0x429820,_0x4723c4=menuError(_0x581b8a(0x256),_0x581b8a(0x246),_0x581b8a(0x23f)+_0xa81b0+'\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.');return externalLinkCreateFailure(_0x4723c4,_0x444b7f,{'stage':_0x581b8a(0x1e6),'failed':_0x174333,'warnings':[_0x581b8a(0x242)],'verification':{'status':_0x581b8a(0x241),..._0x174333,'lookupCommand':_0xa81b0}});}async function readAndVerifyCreatedMenu(_0x11e04e){const _0x37e134=a109_0x429820;let _0x39e14e;try{_0x39e14e=await fetchMenuSnapshot(_0x11e04e['appCode'],_0x11e04e[_0x37e134(0x238)]);}catch(_0x9cbbcd){const _0x2d0342=menuError(_0x37e134(0x1d8),_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x1e3),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x2d0342,_0x11e04e['plan'],{'stage':_0x37e134(0x237),'succeeded':[{'id':_0x11e04e[_0x37e134(0x20d)],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x11e04e[_0x37e134(0x1ef)],'id':_0x11e04e[_0x37e134(0x20d)],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':['Menu\x20'+_0x11e04e[_0x37e134(0x20d)]+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x11e04e['createdId'],'lookupCommand':_0x11e04e[_0x37e134(0x1f1)]}});}const _0x15fea1=_0x39e14e[_0x37e134(0x202)][_0x37e134(0x1db)](_0x11e04e[_0x37e134(0x20d)]);try{if(!_0x15fea1)throw menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x23b),_0x37e134(0x23f)+_0x11e04e['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x15fea1,_0x11e04e[_0x37e134(0x20d)],_0x11e04e[_0x37e134(0x1ef)],_0x11e04e[_0x37e134(0x233)]);}catch(_0x299cdc){const _0x37a83f=_0x299cdc instanceof Error&&'code'in _0x299cdc?_0x299cdc:menuError(_0x37e134(0x1d8),_0x37e134(0x1f0)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x216),_0x37e134(0x23f)+_0x11e04e[_0x37e134(0x1f1)]+_0x37e134(0x219));throw externalLinkCreateFailure(_0x37a83f,_0x11e04e[_0x37e134(0x243)],{'stage':'verification','succeeded':[{'id':_0x11e04e['createdId'],'created':!![]}],'failed':{'id':_0x11e04e[_0x37e134(0x20d)],'finalFactsConfirmed':![]},'after':_0x15fea1??{..._0x11e04e['afterPlan'],'id':_0x11e04e['createdId'],'path':_0x11e04e[_0x37e134(0x233)]},'warnings':[_0x37e134(0x1ee)+_0x11e04e[_0x37e134(0x20d)]+_0x37e134(0x20b)],'verification':{'status':'failed','targetId':_0x11e04e[_0x37e134(0x20d)],'recovered':_0x11e04e['recovered'],'lookupCommand':_0x11e04e['lookupCommand']}});}return{'snapshot':_0x39e14e,'fact':_0x15fea1};}function verifyCreatedFact(_0x4915dc,_0x1604a5,_0x3d7fcf,_0x34e115){const _0x2d2840=a109_0x429820;if(!Number['isSafeInteger'](_0x4915dc['id'])||_0x4915dc['id']<=0x0||_0x4915dc['id']!==_0x1604a5)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x2d2840(0x1fb));const _0x1b624d=[[_0x2d2840(0x22b),_0x4915dc[_0x2d2840(0x236)],_0x3d7fcf[_0x2d2840(0x236)]],['type',_0x4915dc[_0x2d2840(0x204)],_0x3d7fcf[_0x2d2840(0x204)]],[_0x2d2840(0x21f),_0x4915dc[_0x2d2840(0x21f)],_0x3d7fcf[_0x2d2840(0x21f)]],['URL',_0x4915dc[_0x2d2840(0x1ea)],_0x3d7fcf['url']],[_0x2d2840(0x215),_0x4915dc[_0x2d2840(0x235)],_0x3d7fcf[_0x2d2840(0x235)]],[_0x2d2840(0x20a),_0x4915dc[_0x2d2840(0x20a)],_0x3d7fcf[_0x2d2840(0x20a)]]];for(const [_0x28211d,_0x1a687a,_0x3bedaf]of _0x1b624d){if(_0x1a687a!==_0x3bedaf)throw menuError(_0x2d2840(0x1d8),'Created\x20menu\x20'+_0x4915dc['id']+'\x20has\x20an\x20unexpected\x20'+_0x28211d+'.',_0x2d2840(0x259));}if(!_0x4915dc[_0x2d2840(0x208)][_0x2d2840(0x223)]()||_0x34e115!==null&&_0x4915dc[_0x2d2840(0x208)]!==_0x34e115)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x4915dc['id']+_0x2d2840(0x20c),_0x2d2840(0x259));}function creationSuccess(_0x2496ac,_0x4eb08d,_0x5d9f55,_0x516fd1){const _0x1faeab=a109_0x429820,_0xa8f8ac=mutationResult({..._0x2496ac,'after':_0x5d9f55,'dryRun':![],'succeeded':[{'id':_0x5d9f55['id'],'created':!![],'recovered':_0x516fd1}],'verification':{'checkedBy':_0x1faeab(0x1d5),'snapshotHash':_0x4eb08d[_0x1faeab(0x1fa)],'targetId':_0x5d9f55['id'],'recovered':_0x516fd1,'path':_0x5d9f55[_0x1faeab(0x208)]}});return{'ok':!![],'message':_0x516fd1?_0x1faeab(0x234)+_0x5d9f55['id']+_0x1faeab(0x1ec):_0x1faeab(0x245)+_0x5d9f55['id']+'.','data':{..._0xa8f8ac,'recovered':_0x516fd1}};}function externalLinkCreateFailure(_0x3834da,_0x4b7614,_0x31e545){const _0x46b193=a109_0x429820;return menuFailure(safeMenuAddError(_0x3834da),redactFailurePlan(_0x4b7614),{..._0x31e545,'succeeded':_0x31e545[_0x46b193(0x250)]?.[_0x46b193(0x1d2)](redactFailureRecord),'failed':_0x31e545[_0x46b193(0x241)]?redactFailureRecord(_0x31e545[_0x46b193(0x241)]):undefined,'verification':_0x31e545[_0x46b193(0x237)]?redactFailureRecord(_0x31e545['verification']):undefined,'after':_0x31e545[_0x46b193(0x24f)]===undefined?undefined:redactFailureValue(_0x31e545[_0x46b193(0x24f)])});}function redactFailurePlan(_0xe42d66){const _0x3e75c2=a109_0x429820;return{..._0xe42d66,'selector':redactFailureRecord(_0xe42d66['selector']),'before':redactFailureValue(_0xe42d66[_0x3e75c2(0x23e)]),'after':redactFailureValue(_0xe42d66[_0x3e75c2(0x24f)]),'plannedActions':_0xe42d66[_0x3e75c2(0x21b)]?.[_0x3e75c2(0x1d2)](_0x22b54b=>({..._0x22b54b,'body':redactFailureRecord(_0x22b54b[_0x3e75c2(0x205)])})),'succeeded':_0xe42d66[_0x3e75c2(0x250)][_0x3e75c2(0x1d2)](redactFailureRecord),'failed':_0xe42d66[_0x3e75c2(0x241)]['map'](redactFailureRecord),'verification':_0xe42d66[_0x3e75c2(0x237)]?redactFailureRecord(_0xe42d66[_0x3e75c2(0x237)]):undefined};}function redactFailureRecord(_0x2a27fa){return redactFailureValue(_0x2a27fa);}function redactFailureValue(_0x3f623e,_0x1841bd=''){const _0x2e2088=a109_0x429820,_0x4726da=_0x1841bd[_0x2e2088(0x228)]()[_0x2e2088(0x1f4)](/[^a-z0-9]/g,'');if(['cause',_0x2e2088(0x24b),_0x2e2088(0x24c),_0x2e2088(0x23d)][_0x2e2088(0x248)](_0x4726da))return _0x2e2088(0x1f3);if(Array[_0x2e2088(0x225)](_0x3f623e))return _0x3f623e[_0x2e2088(0x1d2)](_0x5a51b5=>redactFailureValue(_0x5a51b5));if(_0x3f623e&&typeof _0x3f623e==='object')return Object['fromEntries'](Object['entries'](_0x3f623e)[_0x2e2088(0x1d2)](([_0x1ac93d,_0x4068b8])=>[_0x1ac93d,redactFailureValue(_0x4068b8,_0x1ac93d)]));return _0x3f623e;}function safeMenuAddError(_0x11f805){const _0x4f2650=a109_0x429820,_0x226175=_0x11f805 instanceof CliError?_0x11f805[_0x4f2650(0x1f9)]:'menu_mutation_failed';switch(_0x226175){case _0x4f2650(0x231):return menuError(_0x226175,'Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.',_0x4f2650(0x21d));case _0x4f2650(0x249):return menuError(_0x226175,_0x4f2650(0x1ed),_0x4f2650(0x24d));case _0x4f2650(0x207):return menuError(_0x226175,_0x4f2650(0x1f6),_0x4f2650(0x226));case _0x4f2650(0x1d8):return menuError(_0x226175,_0x4f2650(0x1f5),_0x4f2650(0x226));case _0x4f2650(0x256):return menuError(_0x226175,'The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.',_0x4f2650(0x258));case'menu_mutation_failed':case _0x4f2650(0x244):case _0x4f2650(0x212):case _0x4f2650(0x1f8):case'menu_sort_overflow':return menuError(_0x226175,'External\x20menu\x20creation\x20failed.',_0x4f2650(0x206));default:return menuError(_0x4f2650(0x220),_0x4f2650(0x1ff),_0x4f2650(0x206));}}function getFailureRecord(_0x4dc44f){const _0x40bc7c=a109_0x429820;if(!(_0x4dc44f instanceof Error)||!(_0x40bc7c(0x1fd)in _0x4dc44f))return undefined;const _0x4f8104=_0x4dc44f[_0x40bc7c(0x1fd)];if(!_0x4f8104||typeof _0x4f8104!==_0x40bc7c(0x1eb))return undefined;const _0x5adeb2=_0x4f8104[_0x40bc7c(0x241)];if(!Array[_0x40bc7c(0x225)](_0x5adeb2)||!_0x5adeb2[0x0]||typeof _0x5adeb2[0x0]!==_0x40bc7c(0x1eb))return undefined;return _0x5adeb2[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x2568f9=a110_0x11fa;(function(_0x3b98a1,_0x124b8a){const _0x551908=a110_0x11fa,_0x40356f=_0x3b98a1();while(!![]){try{const _0x342ed7=parseInt(_0x551908(0x18b))/0x1*(-parseInt(_0x551908(0x18a))/0x2)+parseInt(_0x551908(0x17e))/0x3*(parseInt(_0x551908(0x1b2))/0x4)+parseInt(_0x551908(0x1cc))/0x5+-parseInt(_0x551908(0x1b5))/0x6+-parseInt(_0x551908(0x1c9))/0x7*(parseInt(_0x551908(0x1aa))/0x8)+parseInt(_0x551908(0x19d))/0x9+parseInt(_0x551908(0x19e))/0xa*(parseInt(_0x551908(0x1a3))/0xb);if(_0x342ed7===_0x124b8a)break;else _0x40356f['push'](_0x40356f['shift']());}catch(_0x36af96){_0x40356f['push'](_0x40356f['shift']());}}}(a110_0x332d,0xaee96));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';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a110_0x2568f9(0x1c1)}];export const menuExternalLinkUpdate={'service':a110_0x2568f9(0x1b6),'command':a110_0x2568f9(0x1a6),'description':a110_0x2568f9(0x1bc),'risk':a110_0x2568f9(0x1c3),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x2568f9(0x1af),'type':a110_0x2568f9(0x1be),'required':!![],'description':a110_0x2568f9(0x1a5)},{'name':a110_0x2568f9(0x1a0),'type':a110_0x2568f9(0x1be),'required':!![],'description':a110_0x2568f9(0x187)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xff6ea6){validateInput(_0xff6ea6),requireExplicitYes(_0xff6ea6);},async 'dryRun'(_0x47dbed){const _0x44473a=a110_0x2568f9;validateInput(_0x47dbed);const _0x532b2e=await buildPlan(_0x47dbed,!![]);return menuDryRunResult(_0x532b2e[_0x44473a(0x1b1)],{'method':_0x44473a(0x1b0),'url':_0x44473a(0x1c1),'body':_0x532b2e[_0x44473a(0x194)],'description':_0x44473a(0x1bf)+_0x532b2e[_0x44473a(0x194)]['id']+'.'});},async 'execute'(_0x5498a0){const _0x5815de=a110_0x2568f9;validateInput(_0x5498a0),requireExplicitYes(_0x5498a0);const _0x2482e0=await buildPlan(_0x5498a0,![]),{plan:_0x348880,body:_0x2ea69b,before:_0x5ea131,noChanges:_0x3fc66f}=_0x2482e0,_0xc7340c=_0x2ea69b['id'];if(_0x3fc66f)return updateSuccess(_0x348880,_0x2482e0[_0x5815de(0x188)],_0x5ea131,!![],![]);await recheckMutationSnapshot(_0x5498a0,_0x348880,_0x5815de(0x185),_0xc7340c);try{await updateMenuEntity(_0x5498a0['appCode'],_0x5498a0['cookie'],{'id':_0x2ea69b['id'],'url':_0x2ea69b[_0x5815de(0x1af)]});}catch(_0x253599){const _0x15396a=mapMenuApiError(_0x253599,_0x5815de(0x185),_0xc7340c);if(isMenuResponseLoss(_0x253599)&&_0x15396a[_0x5815de(0x1c2)]!=='menu_permission_denied')return recoverAfterResponseLoss(_0x5498a0,_0x2482e0);throw menuFailure(_0x15396a,_0x348880,{'stage':_0x5815de(0x1a9),'failed':{'id':_0xc7340c},'warnings':[_0x5815de(0x1a8)],'verification':{'status':_0x5815de(0x1a1),'targetId':_0xc7340c,'lookupCommand':buildLookupCommand(_0x5498a0[_0x5815de(0x192)])}});}let _0x5657e8,_0x550fba;try{_0x5657e8=await fetchMenuSnapshot(_0x5498a0[_0x5815de(0x192)],_0x5498a0[_0x5815de(0x199)]),_0x550fba=requireMenu(_0x5657e8,_0xc7340c),verifyUpdatedFact(_0x5ea131,_0x550fba,_0x2ea69b['url']);}catch(_0x2cbeb1){const _0x14638a=describeMenuErrorCause(_0x2cbeb1,_0x5815de(0x197),_0xc7340c),_0x4ce913=asVerificationError(_0x2cbeb1,_0x5815de(0x18f)+_0xc7340c+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x4ce913,_0x348880,{'stage':_0x5815de(0x1ab),'succeeded':[{'id':_0xc7340c,'updateRequested':!![]}],'failed':{'id':_0xc7340c,'requestedStateConfirmed':![],..._0x14638a},'warnings':[_0x5815de(0x19f)],'verification':{'status':'failed','targetId':_0xc7340c,'lookupCommand':buildLookupCommand(_0x5498a0['appCode'])}});}return updateSuccess(_0x348880,_0x5657e8,_0x550fba,![],![]);}};function validateInput(_0x2bcb07){const _0x5ef05a=a110_0x2568f9;validateExactId(_0x2bcb07),requiredUrl(_0x2bcb07,_0x5ef05a(0x1af)),requiredExpectedUrl(_0x2bcb07),parseParentId(_0x2bcb07,_0x5ef05a(0x1ca),{'required':!![]});}function requiredUrl(_0x49babe,_0xbd2d76){const _0x3c93ce=a110_0x2568f9;if(!hasFlag(_0x49babe,_0xbd2d76)||!_0x49babe[_0x3c93ce(0x1b9)](_0xbd2d76)[_0x3c93ce(0x198)]())throw CliErrors['flagMissing'](_0xbd2d76);return validateExternalMenuUrl(_0x49babe[_0x3c93ce(0x1b9)](_0xbd2d76));}function requiredExpectedUrl(_0x28bf11){const _0x8eecd8=a110_0x2568f9;if(!hasFlag(_0x28bf11,'expect-url')||!_0x28bf11[_0x8eecd8(0x1b9)](_0x8eecd8(0x1a0))[_0x8eecd8(0x198)]())throw CliErrors[_0x8eecd8(0x195)](_0x8eecd8(0x1a0));return _0x28bf11['str'](_0x8eecd8(0x1a0))[_0x8eecd8(0x198)]();}function a110_0x11fa(_0x428e2f,_0x4cc80c){_0x428e2f=_0x428e2f-0x17e;const _0x332db6=a110_0x332d();let _0x11fa74=_0x332db6[_0x428e2f];return _0x11fa74;}async function buildPlan(_0x29a16c,_0x1549bd){const _0x660b48=a110_0x2568f9,_0x3d195d=validateExactId(_0x29a16c),_0x50c111=requiredUrl(_0x29a16c,'url'),_0xb0be4=requiredExpectedUrl(_0x29a16c),_0x4dddad=parseParentId(_0x29a16c,_0x660b48(0x1ca),{'required':!![]}),_0x284d1a=await fetchMutationSnapshot(_0x29a16c,_0x660b48(0x185),_0x3d195d),_0x4c196d=requireMenu(_0x284d1a,_0x3d195d);assertExternalLinkLeaf(_0x4c196d);if(_0x4c196d[_0x660b48(0x183)]!==_0x4dddad)throw menuError('menu_state_drift','Menu\x20'+_0x3d195d+_0x660b48(0x1c6)+formatParent(_0x4dddad)+_0x660b48(0x1b3)+formatParent(_0x4c196d['parentId'])+'.',_0x660b48(0x184));const _0x10c7af=_0x4c196d[_0x660b48(0x1af)]===_0x50c111;if(!_0x10c7af&&_0x4c196d[_0x660b48(0x1af)]!==_0xb0be4)throw menuError('menu_state_drift',_0x660b48(0x17f)+_0x3d195d+_0x660b48(0x1cb),_0x660b48(0x196));const _0x161a44={'id':_0x3d195d,'appCode':_0x29a16c['appCode'],'url':_0x50c111},_0x344618={..._0x4c196d,'url':_0x50c111};return{'body':_0x161a44,'before':_0x4c196d,'noChanges':_0x10c7af,'snapshot':_0x284d1a,'plan':mutationResult({'operation':_0x660b48(0x1a6),'selector':{'id':_0x3d195d},'before':_0x4c196d,'after':_0x344618,'dryRun':_0x1549bd,'backend':[...BACKEND],'plannedActions':_0x10c7af?[]:[{'stage':_0x660b48(0x1c0),'method':_0x660b48(0x1b0),'path':_0x660b48(0x1c1),'body':_0x161a44}],'snapshotHash':_0x284d1a[_0x660b48(0x1c5)],'warnings':_0x10c7af?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x38af72){const _0x5eacf3=a110_0x2568f9;if(_0x38af72[_0x5eacf3(0x18c)]!=='iframe'&&_0x38af72[_0x5eacf3(0x18c)]!=='link')throw menuError('menu_external_link_type_required','Menu\x20'+_0x38af72['id']+'\x20is\x20type\x20\x22'+(_0x38af72[_0x5eacf3(0x18c)]||_0x5eacf3(0x189))+_0x5eacf3(0x186),'Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.');if(_0x38af72[_0x5eacf3(0x1c7)]!==0x0)throw menuError(_0x5eacf3(0x1a2),_0x5eacf3(0x17f)+_0x38af72['id']+'\x20has\x20'+_0x38af72[_0x5eacf3(0x1c7)]+_0x5eacf3(0x1cd),'External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.');if(!_0x38af72['path'][_0x5eacf3(0x198)]())throw menuError('menu_external_link_path_missing',_0x5eacf3(0x17f)+_0x38af72['id']+_0x5eacf3(0x1c8),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function verifyUpdatedFact(_0x3a5865,_0x15845b,_0x164397){const _0x1e47b5=a110_0x2568f9;assertExternalLinkLeaf(_0x15845b);const _0x417dd8=[['id',_0x15845b['id'],_0x3a5865['id']],['label',_0x15845b['label'],_0x3a5865['label']],[_0x1e47b5(0x18c),_0x15845b[_0x1e47b5(0x18c)],_0x3a5865['type']],[_0x1e47b5(0x19b),_0x15845b[_0x1e47b5(0x19b)],_0x3a5865['path']],[_0x1e47b5(0x183),_0x15845b[_0x1e47b5(0x183)],_0x3a5865[_0x1e47b5(0x183)]],[_0x1e47b5(0x19a),_0x15845b[_0x1e47b5(0x19a)],_0x3a5865[_0x1e47b5(0x19a)]],[_0x1e47b5(0x1ae),_0x15845b['visible'],_0x3a5865['visible']]];for(const [_0x3bcd60,_0x5c3ea5,_0xf21f7]of _0x417dd8){assertVerified(_0x5c3ea5===_0xf21f7,_0x1e47b5(0x17f)+_0x3a5865['id']+'\x20'+_0x3bcd60+_0x1e47b5(0x1c4));}assertVerified(_0x15845b['url']===_0x164397,'Menu\x20'+_0x3a5865['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0xf14558,_0xa7a1db,_0x51b396,_0x256af3,_0x1f0311){const _0x59cc3e=a110_0x2568f9,_0x35b711=_0x51b396['id'],_0x561438=mutationResult({..._0xf14558,'after':_0x51b396,'dryRun':![],'succeeded':[{'id':_0x35b711,'updated':!_0x256af3,'skipped':_0x256af3,'recovered':_0x1f0311}],'verification':{'checkedBy':_0x59cc3e(0x191),'snapshotHash':_0xa7a1db[_0x59cc3e(0x1c5)],'targetId':_0x35b711,'matchesRequestedState':!![],'recovered':_0x1f0311}});return{'ok':!![],'message':_0x1f0311?_0x59cc3e(0x190)+_0x35b711+'.':_0x256af3?'Menu\x20'+_0x35b711+_0x59cc3e(0x1bb):_0x59cc3e(0x1ad)+_0x35b711+'.','data':{..._0x561438,'recovered':_0x1f0311}};}async function recoverAfterResponseLoss(_0x5697c4,_0x56dbd1){const _0x2d06c2=a110_0x2568f9,{plan:_0x2261f4,before:_0x3f6758,body:_0x43d11a}=_0x56dbd1;let _0x42ee0b;try{_0x42ee0b=await fetchMenuSnapshot(_0x5697c4[_0x2d06c2(0x192)],_0x5697c4[_0x2d06c2(0x199)]);}catch{throw recoveryRequired(_0x2261f4,_0x5697c4[_0x2d06c2(0x192)],{'id':_0x43d11a['id'],'readbackFailed':!![]});}const _0x5e81a7=_0x42ee0b['byId'][_0x2d06c2(0x180)](_0x43d11a['id']);if(!_0x5e81a7||_0x5e81a7[_0x2d06c2(0x1af)]!==_0x43d11a[_0x2d06c2(0x1af)])throw recoveryRequired(_0x2261f4,_0x5697c4['appCode'],{'id':_0x43d11a['id'],'requestedUrlObserved':![],'after':_0x5e81a7??null});try{verifyUpdatedFact(_0x3f6758,_0x5e81a7,_0x43d11a['url']);}catch(_0x5311fa){const _0x4704e2=asVerificationError(_0x5311fa,_0x2d06c2(0x1a7)+_0x43d11a['id']+_0x2d06c2(0x1b7));throw menuFailure(_0x4704e2,_0x2261f4,{'stage':'update-recovery','succeeded':[{'id':_0x43d11a['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x43d11a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x5e81a7,'warnings':[_0x2d06c2(0x1ba)],'verification':{'status':'failed','targetId':_0x43d11a['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5697c4['appCode'])}});}return updateSuccess(_0x2261f4,_0x42ee0b,_0x5e81a7,![],!![]);}function recoveryRequired(_0x51ec9a,_0x4909ab,_0x426ee1){const _0x3237a3=a110_0x2568f9,_0xa63624=menuError(_0x3237a3(0x1ac),'The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20'+buildLookupCommand(_0x4909ab)+_0x3237a3(0x1a4));return menuFailure(_0xa63624,_0x51ec9a,{'stage':_0x3237a3(0x1b8),'failed':{'id':_0x426ee1['id'],..._0x426ee1[_0x3237a3(0x1bd)]===undefined?{}:{'requestedUrlObserved':_0x426ee1[_0x3237a3(0x1bd)]},..._0x426ee1[_0x3237a3(0x18e)]?{'readbackFailed':!![]}:{}},'after':_0x426ee1[_0x3237a3(0x181)],'warnings':[_0x3237a3(0x182)],'verification':{'status':'failed','targetId':_0x426ee1['id'],..._0x426ee1[_0x3237a3(0x1bd)]===undefined?{}:{'requestedUrlObserved':_0x426ee1[_0x3237a3(0x1bd)]},..._0x426ee1['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x4909ab)}});}function buildLookupCommand(_0x1b84b0){const _0x5ce0de=a110_0x2568f9,_0x5214e2='\x27'+_0x1b84b0[_0x5ce0de(0x1b4)](/'/g,_0x5ce0de(0x19c))+'\x27';return _0x5ce0de(0x193)+_0x5214e2+_0x5ce0de(0x18d);}function a110_0x332d(){const _0x8056b=['2064nqGpet','verification','menu_update_recovery_required','Updated\x20external\x20URL\x20for\x20menu\x20','visible','url','POST','plan','565948UkUwRC',',\x20current\x20','replace','2388798VouPHf','menu','\x20could\x20not\x20be\x20verified\x20safely','update-recovery','str','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20already\x20matches\x20the\x20requested\x20URL.','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','requestedUrlObserved','string','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','update-external-link-url','/smartapi/menu/update','code','high-risk-write','\x20changed\x20during\x20the\x20URL-only\x20update.','hash','\x20parent\x20changed:\x20expected\x20','childrenCount','\x20has\x20an\x20empty\x20platform\x20path.','32921KUtzzQ','expect-parent-id','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','4512835icBUrT','\x20direct\x20child\x20menu(s).','6ZeBiUV','Menu\x20','get','after','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','parentId','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','update\x20external\x20menu\x20URL','\x22,\x20not\x20iframe\x20or\x20link.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','snapshot','unknown','12910NSiTtO','170DJpcOy','type','\x20--format\x20compress','readbackFailed','Update\x20request\x20for\x20menu\x20','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu\x20list','appCode','rabetbase\x20menu\x20list\x20--appcode\x20','body','flagMissing','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','verify\x20external\x20menu\x20URL\x20update','trim','cookie','sort','path','\x27\x5c\x27\x27','6709914gFXZZZ','14942080zGmmhJ','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','expect-url','failed','menu_external_link_not_leaf','11MTSZvu','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','New\x20external\x20HTTPS\x20URL','external-link-update','Response\x20was\x20lost\x20and\x20menu\x20','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','update'];a110_0x332d=function(){return _0x8056b;};return a110_0x332d();}
|
|
1
|
+
const a110_0x3e1cec=a110_0x2a10;(function(_0x368946,_0x533480){const _0x47705c=a110_0x2a10,_0x5771ca=_0x368946();while(!![]){try{const _0x16d9a6=-parseInt(_0x47705c(0x191))/0x1+parseInt(_0x47705c(0x189))/0x2*(-parseInt(_0x47705c(0x1af))/0x3)+parseInt(_0x47705c(0x170))/0x4*(parseInt(_0x47705c(0x17a))/0x5)+-parseInt(_0x47705c(0x1ab))/0x6+parseInt(_0x47705c(0x17c))/0x7+-parseInt(_0x47705c(0x1bc))/0x8*(-parseInt(_0x47705c(0x1b3))/0x9)+parseInt(_0x47705c(0x17b))/0xa*(parseInt(_0x47705c(0x1a6))/0xb);if(_0x16d9a6===_0x533480)break;else _0x5771ca['push'](_0x5771ca['shift']());}catch(_0x5d00f2){_0x5771ca['push'](_0x5771ca['shift']());}}}(a110_0x3f9e,0xe4e24));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';function a110_0x3f9e(){const _0x104e69=['Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','\x20URL\x20update\x20did\x20not\x20take\x20effect.','verification','path','Updated\x20external\x20URL\x20for\x20menu\x20','iframe','195046dEobVV','unknown','body','menu_state_drift','label','verify\x20external\x20menu\x20URL\x20update','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','external-link-update','1869064IkuwVd','update-recovery','update\x20external\x20menu\x20URL','Update\x20request\x20for\x20menu\x20','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','update','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','str','visible','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','string','expect-url','high-risk-write','expect-parent-id','flagMissing','appCode','New\x20external\x20HTTPS\x20URL','menu_permission_denied','11ogkkmL','\x20has\x20an\x20empty\x20platform\x20path.','\x27\x5c\x27\x27','update-external-link-url','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state','5947764SivDnk','\x20changed\x20during\x20the\x20URL-only\x20update.','/smartapi/menu/update','\x20--format\x20compress','12mDrTbI','sort','POST','\x20parent\x20changed:\x20expected\x20','9TsLRFy','parentId','url','\x20already\x20matches\x20the\x20requested\x20URL.','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','menu_external_link_path_missing','\x20is\x20type\x20\x22','readbackFailed','get','2821672rYOmEE','menu_update_recovery_required','\x22,\x20not\x20iframe\x20or\x20link.','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','\x20direct\x20child\x20menu(s).','Menu\x20','requestedUrlObserved','byId','4PDAhjy','Response\x20was\x20lost\x20and\x20menu\x20','cookie','\x20could\x20not\x20be\x20verified\x20safely','menu_external_link_type_required','code','trim','link','childrenCount','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','8803905gAARPT','15799870WYNEWN','3461367eabFfW','Run\x20','menu\x20list','plan','failed','hash','type'];a110_0x3f9e=function(){return _0x104e69;};return a110_0x3f9e();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x3e1cec(0x1b1),'path':a110_0x3e1cec(0x1ad)}];export const menuExternalLinkUpdate={'service':'menu','command':a110_0x3e1cec(0x190),'description':'Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','risk':a110_0x3e1cec(0x1a0),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x3e1cec(0x1b5),'type':'string','required':!![],'description':a110_0x3e1cec(0x1a4)},{'name':a110_0x3e1cec(0x19f),'type':a110_0x3e1cec(0x19e),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5636ff){validateInput(_0x5636ff),requireExplicitYes(_0x5636ff);},async 'dryRun'(_0x3ba1fd){const _0x491f79=a110_0x3e1cec;validateInput(_0x3ba1fd);const _0x276913=await buildPlan(_0x3ba1fd,!![]);return menuDryRunResult(_0x276913[_0x491f79(0x17f)],{'method':'POST','url':'/smartapi/menu/update','body':_0x276913[_0x491f79(0x18b)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x276913[_0x491f79(0x18b)]['id']+'.'});},async 'execute'(_0x1e0784){const _0x178607=a110_0x3e1cec;validateInput(_0x1e0784),requireExplicitYes(_0x1e0784);const _0x34ad47=await buildPlan(_0x1e0784,![]),{plan:_0x99e758,body:_0x5d653f,before:_0xef5670,noChanges:_0x8e095f}=_0x34ad47,_0xd17375=_0x5d653f['id'];if(_0x8e095f)return updateSuccess(_0x99e758,_0x34ad47['snapshot'],_0xef5670,!![],![]);await recheckMutationSnapshot(_0x1e0784,_0x99e758,_0x178607(0x193),_0xd17375);try{await updateMenuEntity(_0x1e0784[_0x178607(0x1a3)],_0x1e0784[_0x178607(0x172)],{'id':_0x5d653f['id'],'url':_0x5d653f[_0x178607(0x1b5)]});}catch(_0x1701ed){const _0x41251c=mapMenuApiError(_0x1701ed,_0x178607(0x193),_0xd17375);if(isMenuResponseLoss(_0x1701ed)&&_0x41251c[_0x178607(0x175)]!==_0x178607(0x1a5))return recoverAfterResponseLoss(_0x1e0784,_0x34ad47);throw menuFailure(_0x41251c,_0x99e758,{'stage':_0x178607(0x197),'failed':{'id':_0xd17375},'warnings':[_0x178607(0x1b7)],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784['appCode'])}});}let _0x491738,_0x109621;try{_0x491738=await fetchMenuSnapshot(_0x1e0784['appCode'],_0x1e0784['cookie']),_0x109621=requireMenu(_0x491738,_0xd17375),verifyUpdatedFact(_0xef5670,_0x109621,_0x5d653f[_0x178607(0x1b5)]);}catch(_0x3ec485){const _0x4228cb=describeMenuErrorCause(_0x3ec485,_0x178607(0x18e),_0xd17375),_0x5b7778=asVerificationError(_0x3ec485,_0x178607(0x194)+_0xd17375+_0x178607(0x1aa));throw menuFailure(_0x5b7778,_0x99e758,{'stage':_0x178607(0x185),'succeeded':[{'id':_0xd17375,'updateRequested':!![]}],'failed':{'id':_0xd17375,'requestedStateConfirmed':![],..._0x4228cb},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':_0x178607(0x180),'targetId':_0xd17375,'lookupCommand':buildLookupCommand(_0x1e0784[_0x178607(0x1a3)])}});}return updateSuccess(_0x99e758,_0x491738,_0x109621,![],![]);}};function validateInput(_0x5d803e){const _0x2d6904=a110_0x3e1cec;validateExactId(_0x5d803e),requiredUrl(_0x5d803e,'url'),requiredExpectedUrl(_0x5d803e),parseParentId(_0x5d803e,_0x2d6904(0x1a1),{'required':!![]});}function a110_0x2a10(_0x1c3af2,_0x301f1c){_0x1c3af2=_0x1c3af2-0x16e;const _0x3f9ebf=a110_0x3f9e();let _0x2a104f=_0x3f9ebf[_0x1c3af2];return _0x2a104f;}function requiredUrl(_0x2a56d0,_0x58d54b){const _0x24158e=a110_0x3e1cec;if(!hasFlag(_0x2a56d0,_0x58d54b)||!_0x2a56d0[_0x24158e(0x19a)](_0x58d54b)[_0x24158e(0x176)]())throw CliErrors[_0x24158e(0x1a2)](_0x58d54b);return validateExternalMenuUrl(_0x2a56d0['str'](_0x58d54b));}function requiredExpectedUrl(_0x8341a9){const _0xbef2aa=a110_0x3e1cec;if(!hasFlag(_0x8341a9,_0xbef2aa(0x19f))||!_0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]())throw CliErrors[_0xbef2aa(0x1a2)]('expect-url');return _0x8341a9[_0xbef2aa(0x19a)](_0xbef2aa(0x19f))[_0xbef2aa(0x176)]();}async function buildPlan(_0x5ed44b,_0x25be0a){const _0x2132a3=a110_0x3e1cec,_0x24c8f1=validateExactId(_0x5ed44b),_0x435736=requiredUrl(_0x5ed44b,_0x2132a3(0x1b5)),_0x529ffa=requiredExpectedUrl(_0x5ed44b),_0x4ae1e2=parseParentId(_0x5ed44b,_0x2132a3(0x1a1),{'required':!![]}),_0x4a8b9a=await fetchMutationSnapshot(_0x5ed44b,'update\x20external\x20menu\x20URL',_0x24c8f1),_0x5c97e7=requireMenu(_0x4a8b9a,_0x24c8f1);assertExternalLinkLeaf(_0x5c97e7);if(_0x5c97e7[_0x2132a3(0x1b4)]!==_0x4ae1e2)throw menuError(_0x2132a3(0x18c),_0x2132a3(0x1c1)+_0x24c8f1+_0x2132a3(0x1b2)+formatParent(_0x4ae1e2)+',\x20current\x20'+formatParent(_0x5c97e7[_0x2132a3(0x1b4)])+'.',_0x2132a3(0x196));const _0x38beb4=_0x5c97e7[_0x2132a3(0x1b5)]===_0x435736;if(!_0x38beb4&&_0x5c97e7[_0x2132a3(0x1b5)]!==_0x529ffa)throw menuError(_0x2132a3(0x18c),'Menu\x20'+_0x24c8f1+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x2132a3(0x199));const _0x22e552={'id':_0x24c8f1,'appCode':_0x5ed44b['appCode'],'url':_0x435736},_0x3e2428={..._0x5c97e7,'url':_0x435736};return{'body':_0x22e552,'before':_0x5c97e7,'noChanges':_0x38beb4,'snapshot':_0x4a8b9a,'plan':mutationResult({'operation':'external-link-update','selector':{'id':_0x24c8f1},'before':_0x5c97e7,'after':_0x3e2428,'dryRun':_0x25be0a,'backend':[...BACKEND],'plannedActions':_0x38beb4?[]:[{'stage':_0x2132a3(0x1a9),'method':'POST','path':_0x2132a3(0x1ad),'body':_0x22e552}],'snapshotHash':_0x4a8b9a[_0x2132a3(0x181)],'warnings':_0x38beb4?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x256012){const _0x2fe061=a110_0x3e1cec;if(_0x256012['type']!==_0x2fe061(0x188)&&_0x256012[_0x2fe061(0x182)]!==_0x2fe061(0x177))throw menuError(_0x2fe061(0x174),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1b9)+(_0x256012[_0x2fe061(0x182)]||_0x2fe061(0x18a))+_0x2fe061(0x1be),_0x2fe061(0x18f));if(_0x256012[_0x2fe061(0x178)]!==0x0)throw menuError('menu_external_link_not_leaf',_0x2fe061(0x1c1)+_0x256012['id']+_0x2fe061(0x195)+_0x256012[_0x2fe061(0x178)]+_0x2fe061(0x1c0),_0x2fe061(0x19c));if(!_0x256012[_0x2fe061(0x186)][_0x2fe061(0x176)]())throw menuError(_0x2fe061(0x1b8),'Menu\x20'+_0x256012['id']+_0x2fe061(0x1a7),_0x2fe061(0x179));}function verifyUpdatedFact(_0x20fb56,_0x32eb9c,_0x4cf012){const _0x23b391=a110_0x3e1cec;assertExternalLinkLeaf(_0x32eb9c);const _0x1c1091=[['id',_0x32eb9c['id'],_0x20fb56['id']],[_0x23b391(0x18d),_0x32eb9c[_0x23b391(0x18d)],_0x20fb56[_0x23b391(0x18d)]],[_0x23b391(0x182),_0x32eb9c[_0x23b391(0x182)],_0x20fb56[_0x23b391(0x182)]],['path',_0x32eb9c[_0x23b391(0x186)],_0x20fb56['path']],[_0x23b391(0x1b4),_0x32eb9c[_0x23b391(0x1b4)],_0x20fb56[_0x23b391(0x1b4)]],[_0x23b391(0x1b0),_0x32eb9c[_0x23b391(0x1b0)],_0x20fb56[_0x23b391(0x1b0)]],[_0x23b391(0x19b),_0x32eb9c['visible'],_0x20fb56['visible']]];for(const [_0x1902f3,_0x5dc305,_0x4654b0]of _0x1c1091){assertVerified(_0x5dc305===_0x4654b0,_0x23b391(0x1c1)+_0x20fb56['id']+'\x20'+_0x1902f3+_0x23b391(0x1ac));}assertVerified(_0x32eb9c[_0x23b391(0x1b5)]===_0x4cf012,'Menu\x20'+_0x20fb56['id']+_0x23b391(0x184));}function updateSuccess(_0x2756f4,_0x99abfc,_0x538302,_0x1ae6e1,_0x520af7){const _0x49383f=a110_0x3e1cec,_0x3b360f=_0x538302['id'],_0xeacec8=mutationResult({..._0x2756f4,'after':_0x538302,'dryRun':![],'succeeded':[{'id':_0x3b360f,'updated':!_0x1ae6e1,'skipped':_0x1ae6e1,'recovered':_0x520af7}],'verification':{'checkedBy':_0x49383f(0x17e),'snapshotHash':_0x99abfc[_0x49383f(0x181)],'targetId':_0x3b360f,'matchesRequestedState':!![],'recovered':_0x520af7}});return{'ok':!![],'message':_0x520af7?_0x49383f(0x183)+_0x3b360f+'.':_0x1ae6e1?_0x49383f(0x1c1)+_0x3b360f+_0x49383f(0x1b6):_0x49383f(0x187)+_0x3b360f+'.','data':{..._0xeacec8,'recovered':_0x520af7}};}async function recoverAfterResponseLoss(_0x33c844,_0x2219f9){const _0x4dfa92=a110_0x3e1cec,{plan:_0x3e2953,before:_0x1ecf4d,body:_0x5a2ec3}=_0x2219f9;let _0x59de93;try{_0x59de93=await fetchMenuSnapshot(_0x33c844['appCode'],_0x33c844[_0x4dfa92(0x172)]);}catch{throw recoveryRequired(_0x3e2953,_0x33c844[_0x4dfa92(0x1a3)],{'id':_0x5a2ec3['id'],'readbackFailed':!![]});}const _0x4d96b1=_0x59de93[_0x4dfa92(0x16f)][_0x4dfa92(0x1bb)](_0x5a2ec3['id']);if(!_0x4d96b1||_0x4d96b1[_0x4dfa92(0x1b5)]!==_0x5a2ec3[_0x4dfa92(0x1b5)])throw recoveryRequired(_0x3e2953,_0x33c844['appCode'],{'id':_0x5a2ec3['id'],'requestedUrlObserved':![],'after':_0x4d96b1??null});try{verifyUpdatedFact(_0x1ecf4d,_0x4d96b1,_0x5a2ec3[_0x4dfa92(0x1b5)]);}catch(_0x45cfb3){const _0x339eb5=asVerificationError(_0x45cfb3,_0x4dfa92(0x171)+_0x5a2ec3['id']+_0x4dfa92(0x173));throw menuFailure(_0x339eb5,_0x3e2953,{'stage':_0x4dfa92(0x192),'succeeded':[{'id':_0x5a2ec3['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x4d96b1,'warnings':[_0x4dfa92(0x1bf)],'verification':{'status':_0x4dfa92(0x180),'targetId':_0x5a2ec3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x33c844[_0x4dfa92(0x1a3)])}});}return updateSuccess(_0x3e2953,_0x59de93,_0x4d96b1,![],!![]);}function recoveryRequired(_0x51f444,_0x16c6a2,_0x513cb4){const _0xdf8752=a110_0x3e1cec,_0x12ef2e=menuError(_0xdf8752(0x1bd),_0xdf8752(0x198),_0xdf8752(0x17d)+buildLookupCommand(_0x16c6a2)+_0xdf8752(0x19d));return menuFailure(_0x12ef2e,_0x51f444,{'stage':_0xdf8752(0x192),'failed':{'id':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4['requestedUrlObserved']},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{}},'after':_0x513cb4['after'],'warnings':['The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.'],'verification':{'status':_0xdf8752(0x180),'targetId':_0x513cb4['id'],..._0x513cb4[_0xdf8752(0x16e)]===undefined?{}:{'requestedUrlObserved':_0x513cb4[_0xdf8752(0x16e)]},..._0x513cb4[_0xdf8752(0x1ba)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x16c6a2)}});}function buildLookupCommand(_0x31c48b){const _0x15b63f=a110_0x3e1cec,_0x59c13c='\x27'+_0x31c48b['replace'](/'/g,_0x15b63f(0x1a8))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x59c13c+_0x15b63f(0x1ae);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x3fe6e5=a111_0x2745;(function(_0xba9da7,_0x402760){const _0x509444=a111_0x2745,_0x1e91d1=_0xba9da7();while(!![]){try{const _0x3c4951=parseInt(_0x509444(0xc1))/0x1*(parseInt(_0x509444(0xb2))/0x2)+-parseInt(_0x509444(0xd1))/0x3+parseInt(_0x509444(0xc2))/0x4+-parseInt(_0x509444(0xec))/0x5+parseInt(_0x509444(0xb3))/0x6*(parseInt(_0x509444(0xe3))/0x7)+parseInt(_0x509444(0xde))/0x8*(parseInt(_0x509444(0xd7))/0x9)+-parseInt(_0x509444(0xef))/0xa*(parseInt(_0x509444(0xee))/0xb);if(_0x3c4951===_0x402760)break;else _0x1e91d1['push'](_0x1e91d1['shift']());}catch(_0x351baa){_0x1e91d1['push'](_0x1e91d1['shift']());}}}(a111_0x1b2a,0xc909f));function a111_0x2745(_0x26deea,_0x1ce959){_0x26deea=_0x26deea-0xae;const _0x1b2a5f=a111_0x1b2a();let _0x2745c3=_0x1b2a5f[_0x26deea];return _0x2745c3;}import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';function a111_0x1b2a(){const _0x453638=['failed','write','\x20may\x20exist\x20online\x20at\x20path\x20','7TuTABI','after','Created\x20folder\x20','string','\x20is\x20not\x20empty.','root','Folder\x20','/smartapi/menu/create','path','6528650GjQMfz','\x20is\x20not\x20type\x20folder.','17237ljKbCS','5410dTQSyJ','create\x20folder','create','\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.','verify\x20folder\x20creation','create-folder','rabetbase\x20menu\x20list\x20--format\x20json','visible','\x20is\x20missing\x20from\x20menu\x20list.','depth','menu_create_response_invalid','label','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','childrenCount','type','1163066KmsWpp','1353678vwoHcv','group-create','POST','\x20has\x20an\x20unexpected\x20label.','hash','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','\x20is\x20not\x20visible.','Created\x20menu\x20','stringify',';\x20verify\x20it\x20before\x20retrying.','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','length','create-response-validation','2hHjxZH','5071116qzxBOo','str','menu','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20has\x20resources.','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','sort','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','get','parentId','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','trim','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','flagMissing','parent-id','1071978aioaYG','\x20has\x20unexpected\x20parent\x20','<platform-generated>','Menu\x20create\x20response\x20for\x20folder\x20','isSafeInteger','cookie','180XblvoY','Would\x20create\x20empty\x20folder\x20\x22','resources','folder','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','verification','\x20unexpectedly\x20owns\x20a\x20page.','271120CGBGxw','\x22\x20with\x20a\x20platform-generated\x20path.'];a111_0x1b2a=function(){return _0x453638;};return a111_0x1b2a();}import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a111_0x3fe6e5(0xea)}];export const menuGroupCreate={'service':a111_0x3fe6e5(0xc4),'command':a111_0x3fe6e5(0xb4),'description':a111_0x3fe6e5(0xbd),'risk':a111_0x3fe6e5(0xe1),'structuredErrors':!![],'flags':[{'name':'label','type':a111_0x3fe6e5(0xe6),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0xe74dc){validateCreateInput(_0xe74dc);},async 'dryRun'(_0x51b20f){const _0xd45402=a111_0x3fe6e5,_0x259b48=await buildCreatePlan(_0x51b20f,!![]),_0x54def8=_0x259b48['after'];return menuDryRunResult(_0x259b48,{'method':_0xd45402(0xb5),'url':_0xd45402(0xea),'body':{'parentId':toApiParentId(_0x54def8[_0xd45402(0xcb)]),'label':_0x54def8[_0xd45402(0xae)],'type':'folder','visible':!![],'sort':_0x54def8['sort'],'extend':{}},'description':_0xd45402(0xd8)+String(_0x54def8[_0xd45402(0xae)])+_0xd45402(0xdf)});},async 'execute'(_0x4a9d60){const _0x1562c5=a111_0x3fe6e5;validateCreateInput(_0x4a9d60);const _0xc40376=await buildCreatePlan(_0x4a9d60,![]),_0xdcbca4=_0xc40376[_0x1562c5(0xe4)];await recheckMutationSnapshot(_0x4a9d60,_0xc40376,_0x1562c5(0xf0));let _0x5efcba;try{_0x5efcba=await createMenuEntity(_0x4a9d60['appCode'],_0x4a9d60[_0x1562c5(0xd6)],{'parentId':toApiParentId(_0xdcbca4['parentId']),'label':String(_0xdcbca4[_0x1562c5(0xae)]),'type':_0x1562c5(0xda),'visible':!![],'sort':Number(_0xdcbca4[_0x1562c5(0xc8)]),'extend':{}});}catch(_0x3ae12c){const _0x24e972=mapMenuApiError(_0x3ae12c,_0x1562c5(0xf0));throw menuFailure(_0x24e972,_0xc40376,{'stage':_0x1562c5(0xf1),'failed':{}});}const _0x450103=Number(_0x5efcba['id']);if(!Number[_0x1562c5(0xd5)](_0x450103)||_0x450103<=0x0){const _0xf976c4=menuError(_0x1562c5(0xf9),_0x1562c5(0xce),_0x1562c5(0xc5));throw menuFailure(_0xf976c4,_0xc40376,{'stage':_0x1562c5(0xc0),'failed':{'createdId':_0x5efcba['id']??null},'warnings':[_0x1562c5(0xc9)],'verification':{'status':_0x1562c5(0xe0),'lookupCommand':_0x1562c5(0xf5)}});}const _0x3edfc6=typeof _0x5efcba[_0x1562c5(0xeb)]===_0x1562c5(0xe6)?_0x5efcba[_0x1562c5(0xeb)]:'';if(!_0x3edfc6['trim']()){const _0x4a7db5=menuError('menu_create_response_invalid',_0x1562c5(0xd4)+_0x450103+'\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.',_0x1562c5(0xcc));throw menuFailure(_0x4a7db5,_0xc40376,{'stage':'create-response-validation','succeeded':[{'id':_0x450103,'created':!![]}],'failed':{'id':_0x450103,'generatedPathConfirmed':![]},'warnings':[_0x1562c5(0xe9)+_0x450103+_0x1562c5(0xf2)],'after':{..._0xdcbca4,'id':_0x450103,'path':_0x3edfc6},'verification':{'status':_0x1562c5(0xe0),'lookupCommand':_0x1562c5(0xf5),'targetId':_0x450103}});}let _0x31cdec;try{_0x31cdec=await fetchMenuSnapshot(_0x4a9d60['appCode'],_0x4a9d60[_0x1562c5(0xd6)]);}catch(_0x267d34){const _0x5a5dd8=describeMenuErrorCause(_0x267d34,_0x1562c5(0xf3),_0x450103),_0x6b795b=asVerificationError(_0x267d34,'Folder\x20'+_0x450103+_0x1562c5(0xb8));throw menuFailure(_0x6b795b,_0xc40376,{'stage':_0x1562c5(0xdc),'succeeded':[{'id':_0x450103,'created':!![],'path':_0x3edfc6}],'failed':{'id':_0x450103,'finalFactsConfirmed':![],..._0x5a5dd8},'warnings':[_0x1562c5(0xe9)+_0x450103+_0x1562c5(0xe2)+JSON[_0x1562c5(0xbb)](_0x3edfc6)+_0x1562c5(0xbc)],'after':{..._0xdcbca4,'id':_0x450103,'path':_0x3edfc6},'verification':{'status':_0x1562c5(0xe0),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x450103}});}const _0x2a58f0=_0x31cdec['byId'][_0x1562c5(0xca)](_0x450103);let _0x213996;try{assertVerified(Boolean(_0x2a58f0),_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xf7)),_0x213996=_0x2a58f0,assertVerified(_0x213996[_0x1562c5(0xb1)]==='folder',_0x1562c5(0xba)+_0x450103+_0x1562c5(0xed)),assertVerified(_0x213996[_0x1562c5(0xae)]===_0xdcbca4[_0x1562c5(0xae)],_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xb6)),assertVerified(_0x213996[_0x1562c5(0xeb)]===_0x3edfc6&&Boolean(_0x213996[_0x1562c5(0xeb)][_0x1562c5(0xcd)]()),_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xbe)),assertVerified(_0x213996[_0x1562c5(0xf6)]===!![],_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xb9)),assertVerified(_0x213996[_0x1562c5(0xd9)][_0x1562c5(0xbf)]===0x0,'Created\x20folder\x20'+_0x450103+_0x1562c5(0xc6)),assertVerified(_0x213996[_0x1562c5(0xb0)]===0x0,_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xe7)),assertVerified(_0x213996['sort']===_0xdcbca4[_0x1562c5(0xc8)],_0x1562c5(0xe5)+_0x450103+'\x20has\x20an\x20unexpected\x20sort.'),assertVerified(_0x213996[_0x1562c5(0xcb)]===_0xdcbca4[_0x1562c5(0xcb)],_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xd2)+(_0x213996['parentId']??_0x1562c5(0xe8))+'.'),assertVerified(_0x213996['pageId']==null,_0x1562c5(0xe5)+_0x450103+_0x1562c5(0xdd));const _0x56e8e6=_0x213996[_0x1562c5(0xcb)]==null?undefined:requireFolder(_0x31cdec,_0x213996[_0x1562c5(0xcb)]);assertVerified(_0x213996[_0x1562c5(0xf8)]===(_0x56e8e6?_0x56e8e6[_0x1562c5(0xf8)]+0x1:0x0),'Created\x20folder\x20'+_0x450103+_0x1562c5(0xdb));}catch(_0x4feff1){const _0x229e4a=describeMenuErrorCause(_0x4feff1,_0x1562c5(0xf3),_0x450103),_0x2b699c=asVerificationError(_0x4feff1,_0x1562c5(0xe9)+_0x450103+_0x1562c5(0xc7));throw menuFailure(_0x2b699c,_0xc40376,{'stage':_0x1562c5(0xdc),'succeeded':[{'id':_0x450103,'created':!![],'path':_0x3edfc6}],'failed':{'id':_0x450103,'finalFactsConfirmed':![],..._0x229e4a},'warnings':[_0x1562c5(0xe9)+_0x450103+_0x1562c5(0xaf)],'after':_0x2a58f0??{..._0xdcbca4,'id':_0x450103,'path':_0x3edfc6},'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetId':_0x450103}});}const _0x35901b=mutationResult({..._0xc40376,'after':_0x213996,'dryRun':![],'succeeded':[{'id':_0x450103,'type':'folder','path':_0x3edfc6}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x31cdec['hash'],'folder':!![],'path':_0x3edfc6,'emptyResources':!![]}});return{'ok':!![],'data':_0x35901b,'message':'Created\x20menu\x20folder\x20'+_0x450103+'.'};}};function validateCreateInput(_0x410e93){const _0x305449=a111_0x3fe6e5,_0x50d2f5=_0x410e93[_0x305449(0xc3)](_0x305449(0xae))[_0x305449(0xcd)]();if(!_0x50d2f5)throw CliErrors[_0x305449(0xcf)](_0x305449(0xae));parseParentId(_0x410e93,'parent-id'),validateSort(_0x410e93);}async function buildCreatePlan(_0x308d63,_0x140774){const _0x154eb9=a111_0x3fe6e5,_0x39de8f=await fetchMutationSnapshot(_0x308d63,_0x154eb9(0xf0)),_0x33b40f=parseParentId(_0x308d63,_0x154eb9(0xd0))??null;if(_0x33b40f!=null)requireFolder(_0x39de8f,_0x33b40f);const _0xbb8a7a=validateSort(_0x308d63),_0x431faa=_0xbb8a7a??nextSiblingSort(_0x39de8f,_0x33b40f,'folder'),_0x9c7553=_0x308d63['str'](_0x154eb9(0xae))[_0x154eb9(0xcd)]();return mutationResult({'operation':'group-create','selector':{'label':_0x9c7553,'parentId':_0x33b40f},'before':null,'after':{'id':null,'parentId':_0x33b40f,'label':_0x9c7553,'path':_0x154eb9(0xd3),'type':'folder','visible':!![],'sort':_0x431faa,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x140774,'backend':[...BACKEND],'plannedActions':[{'stage':_0x154eb9(0xf4),'method':_0x154eb9(0xb5),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x33b40f),'label':_0x9c7553,'type':'folder','visible':!![],'sort':_0x431faa,'extend':{}}}],'snapshotHash':_0x39de8f[_0x154eb9(0xb7)],'warnings':['The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.']});}
|
|
1
|
+
const a111_0x1e4bd9=a111_0x2d0f;(function(_0xb21717,_0x34ba37){const _0x56740e=a111_0x2d0f,_0x2a1900=_0xb21717();while(!![]){try{const _0x2dc0e2=-parseInt(_0x56740e(0x12b))/0x1*(parseInt(_0x56740e(0x105))/0x2)+-parseInt(_0x56740e(0x11b))/0x3+-parseInt(_0x56740e(0x12c))/0x4*(parseInt(_0x56740e(0x10b))/0x5)+parseInt(_0x56740e(0xf4))/0x6+-parseInt(_0x56740e(0x122))/0x7+-parseInt(_0x56740e(0xf2))/0x8+parseInt(_0x56740e(0x111))/0x9;if(_0x2dc0e2===_0x34ba37)break;else _0x2a1900['push'](_0x2a1900['shift']());}catch(_0x4254f1){_0x2a1900['push'](_0x2a1900['shift']());}}}(a111_0x5d01,0x65053));function a111_0x5d01(){const _0x51676a=['\x20path\x20does\x20not\x20match\x20the\x20platform-generated\x20path.','\x20was\x20created\x20but\x20readback\x20could\x20not\x20load\x20its\x20final\x20facts','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20menu\x20id.','visible','\x20did\x20not\x20contain\x20a\x20non-empty\x20generated\x20path.','menu\x20list','\x20depth\x20does\x20not\x20match\x20its\x20final\x20parent\x20hierarchy.','appCode','verify\x20folder\x20creation','sort','\x20was\x20created\x20but\x20its\x20final\x20facts\x20violate\x20the\x20folder\x20contract','menu','<platform-generated>','group-create','The\x20platform\x20assigns\x20the\x20folder\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','2335800HHCpWt',';\x20verify\x20it\x20before\x20retrying.','2958366nVeSFX','resources','parent-id','\x20is\x20not\x20visible.','string','\x20has\x20an\x20unexpected\x20label.','hash','byId','POST','\x22\x20with\x20a\x20platform-generated\x20path.','create','\x20has\x20an\x20unexpected\x20sort.','\x20has\x20resources.','The\x20create\x20request\x20may\x20have\x20succeeded;\x20verify\x20the\x20online\x20menu\x20list\x20before\x20retrying.','cookie','/smartapi/menu/create','Create\x20an\x20empty\x20folder\x20menu\x20at\x20root\x20or\x20under\x20another\x20folder','8lFDyjd','Inspect\x20the\x20created\x20id\x20with\x20`rabetbase\x20menu\x20list\x20--format\x20json`;\x20do\x20not\x20retry\x20creation\x20until\x20its\x20state\x20is\x20known.','trim','after','write','folder','3665WhxkjG','type','create-response-validation','failed','Would\x20create\x20empty\x20folder\x20\x22','Created\x20menu\x20folder\x20','16715916UwOaJs','Created\x20menu\x20','create-folder','get','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20before\x20retrying;\x20the\x20folder\x20may\x20already\x20exist.','\x20is\x20missing\x20from\x20menu\x20list.','create\x20folder','pageId','rabetbase\x20menu\x20list\x20--format\x20json','Created\x20folder\x20','2425200RPoNGK','Folder\x20','menu_create_response_invalid','\x20remains\x20online;\x20inspect\x20its\x20final\x20facts\x20before\x20any\x20retry.','\x20has\x20unexpected\x20parent\x20','parentId','Menu\x20create\x20response\x20for\x20folder\x20','4142936toIZVo','verification','root','stringify','path','\x20unexpectedly\x20owns\x20a\x20page.','\x20may\x20exist\x20online\x20at\x20path\x20','\x20is\x20not\x20type\x20folder.','label','57614BWUzjg','76dIulGP'];a111_0x5d01=function(){return _0x51676a;};return a111_0x5d01();}function a111_0x2d0f(_0xe35ad9,_0x5ca4e2){_0xe35ad9=_0xe35ad9-0xf2;const _0x5d012a=a111_0x5d01();let _0x2d0fca=_0x5d012a[_0xe35ad9];return _0x2d0fca;}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_0x1e4bd9(0xfc),'path':a111_0x1e4bd9(0x103)}];export const menuGroupCreate={'service':a111_0x1e4bd9(0x138),'command':a111_0x1e4bd9(0x13a),'description':a111_0x1e4bd9(0x104),'risk':a111_0x1e4bd9(0x109),'structuredErrors':!![],'flags':[{'name':a111_0x1e4bd9(0x12a),'type':a111_0x1e4bd9(0xf8),'required':!![],'description':'Folder\x20label'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x26b858){validateCreateInput(_0x26b858);},async 'dryRun'(_0x449817){const _0x5efa52=a111_0x1e4bd9,_0x3527f8=await buildCreatePlan(_0x449817,!![]),_0x20f853=_0x3527f8['after'];return menuDryRunResult(_0x3527f8,{'method':_0x5efa52(0xfc),'url':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x20f853[_0x5efa52(0x120)]),'label':_0x20f853[_0x5efa52(0x12a)],'type':_0x5efa52(0x10a),'visible':!![],'sort':_0x20f853['sort'],'extend':{}},'description':_0x5efa52(0x10f)+String(_0x20f853['label'])+_0x5efa52(0xfd)});},async 'execute'(_0x1b19ac){const _0x347ab5=a111_0x1e4bd9;validateCreateInput(_0x1b19ac);const _0x5016b5=await buildCreatePlan(_0x1b19ac,![]),_0x558166=_0x5016b5[_0x347ab5(0x108)];await recheckMutationSnapshot(_0x1b19ac,_0x5016b5,_0x347ab5(0x117));let _0xb0064c;try{_0xb0064c=await createMenuEntity(_0x1b19ac[_0x347ab5(0x134)],_0x1b19ac['cookie'],{'parentId':toApiParentId(_0x558166['parentId']),'label':String(_0x558166[_0x347ab5(0x12a)]),'type':'folder','visible':!![],'sort':Number(_0x558166[_0x347ab5(0x136)]),'extend':{}});}catch(_0x141b95){const _0xc363a6=mapMenuApiError(_0x141b95,_0x347ab5(0x117));throw menuFailure(_0xc363a6,_0x5016b5,{'stage':_0x347ab5(0xfe),'failed':{}});}const _0x251388=Number(_0xb0064c['id']);if(!Number['isSafeInteger'](_0x251388)||_0x251388<=0x0){const _0xe84da=menuError(_0x347ab5(0x11d),_0x347ab5(0x12f),_0x347ab5(0x115));throw menuFailure(_0xe84da,_0x5016b5,{'stage':_0x347ab5(0x10d),'failed':{'createdId':_0xb0064c['id']??null},'warnings':[_0x347ab5(0x101)],'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119)}});}const _0x2d8257=typeof _0xb0064c['path']===_0x347ab5(0xf8)?_0xb0064c[_0x347ab5(0x126)]:'';if(!_0x2d8257[_0x347ab5(0x107)]()){const _0x53611b=menuError(_0x347ab5(0x11d),_0x347ab5(0x121)+_0x251388+_0x347ab5(0x131),_0x347ab5(0x106));throw menuFailure(_0x53611b,_0x5016b5,{'stage':_0x347ab5(0x10d),'succeeded':[{'id':_0x251388,'created':!![]}],'failed':{'id':_0x251388,'generatedPathConfirmed':![]},'warnings':[_0x347ab5(0x11c)+_0x251388+'\x20may\x20exist\x20online;\x20verify\x20it\x20by\x20id\x20before\x20retrying.'],'after':{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}let _0x1a06a6;try{_0x1a06a6=await fetchMenuSnapshot(_0x1b19ac[_0x347ab5(0x134)],_0x1b19ac[_0x347ab5(0x102)]);}catch(_0x4d033d){const _0x23d9d0=describeMenuErrorCause(_0x4d033d,_0x347ab5(0x135),_0x251388),_0x3fecfe=asVerificationError(_0x4d033d,'Folder\x20'+_0x251388+_0x347ab5(0x12e));throw menuFailure(_0x3fecfe,_0x5016b5,{'stage':'verification','succeeded':[{'id':_0x251388,'created':!![],'path':_0x2d8257}],'failed':{'id':_0x251388,'finalFactsConfirmed':![],..._0x23d9d0},'warnings':[_0x347ab5(0x11c)+_0x251388+_0x347ab5(0x128)+JSON[_0x347ab5(0x125)](_0x2d8257)+_0x347ab5(0xf3)],'after':{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':'failed','lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}const _0x43c340=_0x1a06a6[_0x347ab5(0xfb)][_0x347ab5(0x114)](_0x251388);let _0x497a57;try{assertVerified(Boolean(_0x43c340),'Created\x20folder\x20'+_0x251388+_0x347ab5(0x116)),_0x497a57=_0x43c340,assertVerified(_0x497a57[_0x347ab5(0x10c)]==='folder',_0x347ab5(0x112)+_0x251388+_0x347ab5(0x129)),assertVerified(_0x497a57[_0x347ab5(0x12a)]===_0x558166[_0x347ab5(0x12a)],'Created\x20folder\x20'+_0x251388+_0x347ab5(0xf9)),assertVerified(_0x497a57[_0x347ab5(0x126)]===_0x2d8257&&Boolean(_0x497a57[_0x347ab5(0x126)]['trim']()),_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x12d)),assertVerified(_0x497a57[_0x347ab5(0x130)]===!![],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0xf7)),assertVerified(_0x497a57[_0x347ab5(0xf5)]['length']===0x0,_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x100)),assertVerified(_0x497a57['childrenCount']===0x0,_0x347ab5(0x11a)+_0x251388+'\x20is\x20not\x20empty.'),assertVerified(_0x497a57['sort']===_0x558166[_0x347ab5(0x136)],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0xff)),assertVerified(_0x497a57['parentId']===_0x558166['parentId'],_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x11f)+(_0x497a57[_0x347ab5(0x120)]??_0x347ab5(0x124))+'.'),assertVerified(_0x497a57[_0x347ab5(0x118)]==null,_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x127));const _0x852a88=_0x497a57[_0x347ab5(0x120)]==null?undefined:requireFolder(_0x1a06a6,_0x497a57['parentId']);assertVerified(_0x497a57['depth']===(_0x852a88?_0x852a88['depth']+0x1:0x0),_0x347ab5(0x11a)+_0x251388+_0x347ab5(0x133));}catch(_0x356eaa){const _0x39c41b=describeMenuErrorCause(_0x356eaa,_0x347ab5(0x135),_0x251388),_0x147a98=asVerificationError(_0x356eaa,_0x347ab5(0x11c)+_0x251388+_0x347ab5(0x137));throw menuFailure(_0x147a98,_0x5016b5,{'stage':_0x347ab5(0x123),'succeeded':[{'id':_0x251388,'created':!![],'path':_0x2d8257}],'failed':{'id':_0x251388,'finalFactsConfirmed':![],..._0x39c41b},'warnings':['Folder\x20'+_0x251388+_0x347ab5(0x11e)],'after':_0x43c340??{..._0x558166,'id':_0x251388,'path':_0x2d8257},'verification':{'status':_0x347ab5(0x10e),'lookupCommand':_0x347ab5(0x119),'targetId':_0x251388}});}const _0x4e4e2d=mutationResult({..._0x5016b5,'after':_0x497a57,'dryRun':![],'succeeded':[{'id':_0x251388,'type':_0x347ab5(0x10a),'path':_0x2d8257}],'verification':{'checkedBy':_0x347ab5(0x132),'snapshotHash':_0x1a06a6[_0x347ab5(0xfa)],'folder':!![],'path':_0x2d8257,'emptyResources':!![]}});return{'ok':!![],'data':_0x4e4e2d,'message':_0x347ab5(0x110)+_0x251388+'.'};}};function validateCreateInput(_0xa9491){const _0xe253ad=a111_0x1e4bd9,_0x4c8dd7=_0xa9491['str'](_0xe253ad(0x12a))[_0xe253ad(0x107)]();if(!_0x4c8dd7)throw CliErrors['flagMissing'](_0xe253ad(0x12a));parseParentId(_0xa9491,_0xe253ad(0xf6)),validateSort(_0xa9491);}async function buildCreatePlan(_0x4453cd,_0x340ac6){const _0x3f2a94=a111_0x1e4bd9,_0x119ab6=await fetchMutationSnapshot(_0x4453cd,_0x3f2a94(0x117)),_0x162a3e=parseParentId(_0x4453cd,_0x3f2a94(0xf6))??null;if(_0x162a3e!=null)requireFolder(_0x119ab6,_0x162a3e);const _0xffc058=validateSort(_0x4453cd),_0xac22df=_0xffc058??nextSiblingSort(_0x119ab6,_0x162a3e,_0x3f2a94(0x10a)),_0x1f0cb0=_0x4453cd['str']('label')[_0x3f2a94(0x107)]();return mutationResult({'operation':_0x3f2a94(0x13a),'selector':{'label':_0x1f0cb0,'parentId':_0x162a3e},'before':null,'after':{'id':null,'parentId':_0x162a3e,'label':_0x1f0cb0,'path':_0x3f2a94(0x139),'type':_0x3f2a94(0x10a),'visible':!![],'sort':_0xac22df,'resources':[],'childrenIds':[],'childrenCount':0x0},'dryRun':_0x340ac6,'backend':[...BACKEND],'plannedActions':[{'stage':_0x3f2a94(0x113),'method':_0x3f2a94(0xfc),'path':'/smartapi/menu/create','body':{'parentId':toApiParentId(_0x162a3e),'label':_0x1f0cb0,'type':_0x3f2a94(0x10a),'visible':!![],'sort':_0xac22df,'extend':{}}}],'snapshotHash':_0x119ab6['hash'],'warnings':[_0x3f2a94(0x13b)]});}
|