@lovrabet/rabetbase-cli 2.3.16-beta.7 → 2.4.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -10
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.d.ts +2 -0
- package/lib/commands/page/react/create.js +1 -0
- package/lib/commands/page/react/detail.d.ts +2 -0
- package/lib/commands/page/react/detail.js +1 -0
- package/lib/commands/page/react/list.d.ts +2 -0
- package/lib/commands/page/react/list.js +1 -0
- package/lib/commands/page/react/publish.d.ts +2 -0
- package/lib/commands/page/react/publish.js +1 -0
- package/lib/commands/page/react/shared.d.ts +78 -0
- package/lib/commands/page/react/shared.js +1 -0
- package/lib/commands/page/react/syntax.d.ts +18 -0
- package/lib/commands/page/react/syntax.js +1 -0
- package/lib/commands/page/react/template.d.ts +8 -0
- package/lib/commands/page/react/template.js +1 -0
- package/lib/commands/page/react/update.d.ts +2 -0
- package/lib/commands/page/react/update.js +1 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
- package/lib/commands/user-account/index.d.ts +2 -0
- package/lib/commands/user-account/index.js +1 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.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 a104_0x3d7079=a104_0x560b;(function(_0x215857,_0x33e975){const _0x172c0e=a104_0x560b,_0x157ac=_0x215857();while(!![]){try{const _0xaeca2f=parseInt(_0x172c0e(0x15a))/0x1+parseInt(_0x172c0e(0x13e))/0x2*(parseInt(_0x172c0e(0x156))/0x3)+-parseInt(_0x172c0e(0x14a))/0x4+parseInt(_0x172c0e(0x17a))/0x5*(-parseInt(_0x172c0e(0x189))/0x6)+-parseInt(_0x172c0e(0x149))/0x7*(-parseInt(_0x172c0e(0x14d))/0x8)+parseInt(_0x172c0e(0x165))/0x9+parseInt(_0x172c0e(0x158))/0xa;if(_0xaeca2f===_0x33e975)break;else _0x157ac['push'](_0x157ac['shift']());}catch(_0x225861){_0x157ac['push'](_0x157ac['shift']());}}}(a104_0x56df,0x2518b));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';function a104_0x560b(_0x4dfda6,_0x4a5a97){_0x4dfda6=_0x4dfda6-0x13c;const _0x56df94=a104_0x56df();let _0x560b77=_0x56df94[_0x4dfda6];return _0x560b77;}import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x3d7079(0x140);export function kbError(_0x17451e,_0x5c7179,_0xcc82d5){return new CliError(_0x17451e,0x1,_0x5c7179,_0xcc82d5);}export function readKbId(_0x28fae3){const _0x4ce3df=a104_0x3d7079,_0xea5c07=_0x28fae3[_0x4ce3df(0x153)]('id');if(!Number[_0x4ce3df(0x170)](_0xea5c07)||_0xea5c07<=0x0)throw kbError(_0x4ce3df(0x183),_0x4ce3df(0x181));return _0xea5c07;}export function requireKbExplicitYes(_0x2de434){const _0x19a602=a104_0x3d7079;if(_0x2de434[_0x19a602(0x175)](_0x19a602(0x17d))||_0x2de434[_0x19a602(0x175)](_0x19a602(0x13d)))return;throw kbError(_0x19a602(0x192),_0x19a602(0x15d),_0x19a602(0x184));}function sha256(_0x59865f){const _0x4b57e6=a104_0x3d7079;return'sha256:'+createHash(_0x4b57e6(0x176))['update'](_0x59865f)[_0x4b57e6(0x166)](_0x4b57e6(0x198));}export function inspectKbContent(_0x4c943f){const _0x5073bd=a104_0x3d7079,_0x12b65c=Buffer[_0x5073bd(0x16d)](_0x4c943f,_0x5073bd(0x178));return{'content':_0x4c943f,'byteSize':_0x12b65c[_0x5073bd(0x162)],'contentHash':sha256(_0x12b65c)};}function a104_0x56df(){const _0x212c83=['stringify','isSafeInteger','outcome_unknown','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','kb_','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','bool','sha256','push','utf8','\x20to\x20','55XFGtAe','\x20response\x20is\x20missing\x20','company','dry-run','paging','byteSize','cause','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','Knowledge-base\x20list\x20stopped\x20at\x20','kb_id_invalid','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','kb_scope_mismatch','currentPage','totalCount','isFile','121242BfsysO','updateTime','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','\x20version\x20changed:\x20expected\x20','add','Knowledge-base\x20list\x20total\x20changed\x20from\x20','verification_unavailable','\x20while\x20page\x20','kb_confirmation_required','appCode','kb_not_found','contentHash','kb_state_drift','message','hex','defineProperty','kb_list_contract_invalid','yes','31292ochKVv','kb_file_invalid','306','\x20of\x20','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','has','filter','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','Knowledge\x20base\x20','Knowledge-base\x20list\x20returned\x20page\x20','kb_response_invalid','14PUiXXm','916676jBhjmT','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','\x20is\x20not\x20company-scoped.','1047712egmHbJ','decode','length','string','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','title','num','version','Pass\x20--file\x20<knowledge.md>.','3SqzxLi','\x20was\x20requested.','147560espmOF','\x20while\x20id\x20','50746KUygnB','createTime','items','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','cookie','scope','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','trim','byteLength','\x20during\x20paging.','Company\x20knowledge\x20base\x20not\x20found:\x20','2342853XrnjRI','digest',',\x20current\x20','content','kb_file_unreadable','\x20records.','kb_file_required','\x20response\x20contains\x20an\x20invalid\x20version.','from','Knowledge-base\x20content\x20file\x20is\x20blank:\x20'];a104_0x56df=function(){return _0x212c83;};return a104_0x56df();}export async function readKbFile(_0x3d9c19){const _0x3c6de3=a104_0x3d7079,_0x538297=_0x3d9c19['trim']();if(!_0x538297)throw kbError(_0x3c6de3(0x16b),'Knowledge-base\x20content\x20file\x20path\x20is\x20required.',_0x3c6de3(0x155));const _0x490dfb=resolve(_0x538297);let _0x204b41;try{_0x204b41=await stat(_0x490dfb);}catch(_0x764b37){throw kbError(_0x3c6de3(0x169),_0x3c6de3(0x14b)+_0x538297,_0x764b37 instanceof Error?_0x764b37[_0x3c6de3(0x197)]:String(_0x764b37));}if(!_0x204b41[_0x3c6de3(0x188)]())throw kbError(_0x3c6de3(0x13f),_0x3c6de3(0x151)+_0x538297);let _0x341239;try{_0x341239=await readFile(_0x490dfb);}catch(_0x197b03){throw kbError(_0x3c6de3(0x169),'Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x538297,_0x197b03 instanceof Error?_0x197b03[_0x3c6de3(0x197)]:String(_0x197b03));}let _0x1eb88a;try{_0x1eb88a=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})[_0x3c6de3(0x14e)](_0x341239);}catch{throw kbError('kb_content_invalid',_0x3c6de3(0x142)+_0x538297);}if(!_0x1eb88a[_0x3c6de3(0x161)]())throw kbError('kb_content_invalid',_0x3c6de3(0x16e)+_0x538297);return inspectKbContent(_0x1eb88a);}export async function verifyKbMutationReadback(_0x4c0140,_0x57460c,_0x2bfc3e){const _0x2e2082=a104_0x3d7079;try{return await _0x2bfc3e();}catch(_0x4adaee){const _0x74c330=kbError(_0x2e2082(0x173)+_0x4c0140+'_'+(_0x57460c?_0x2e2082(0x171):_0x2e2082(0x190)),'The\x20'+_0x4c0140+_0x2e2082(0x160),'Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.');Object[_0x2e2082(0x199)](_0x74c330,_0x2e2082(0x180),{'value':_0x4adaee,'enumerable':![]});throw _0x74c330;}}function requireRecordText(_0x39fa19,_0x171181,_0x2831a5,_0x110568={}){const _0x4a0158=a104_0x3d7079;if(typeof _0x39fa19===_0x4a0158(0x150)&&(_0x110568['allowEmpty']||_0x39fa19['trim']()))return _0x39fa19;throw kbError(_0x4a0158(0x148),_0x4a0158(0x146)+String(_0x2831a5)+_0x4a0158(0x17b)+_0x171181+'.');}export function projectKb(_0x1ac71f){const _0x3df24e=a104_0x3d7079;if(!Number['isSafeInteger'](_0x1ac71f['id'])||_0x1ac71f['id']<=0x0)throw kbError('kb_response_invalid',_0x3df24e(0x174));if(!Number[_0x3df24e(0x170)](_0x1ac71f[_0x3df24e(0x154)])||_0x1ac71f[_0x3df24e(0x154)]<0x0)throw kbError(_0x3df24e(0x148),_0x3df24e(0x146)+_0x1ac71f['id']+_0x3df24e(0x16c));if(_0x1ac71f[_0x3df24e(0x15f)]!==_0x3df24e(0x17c))throw kbError(_0x3df24e(0x185),'Knowledge\x20base\x20'+_0x1ac71f['id']+_0x3df24e(0x14c));const _0x578255=requireRecordText(_0x1ac71f['appCode'],_0x3df24e(0x193),_0x1ac71f['id']),_0x5f3b9=requireRecordText(_0x1ac71f[_0x3df24e(0x152)],_0x3df24e(0x152),_0x1ac71f['id']),_0x1a6c7d=inspectKbContent(requireRecordText(_0x1ac71f[_0x3df24e(0x168)],'content',_0x1ac71f['id'],{'allowEmpty':!![]})),_0x56d6da=typeof _0x1ac71f[_0x3df24e(0x15b)]===_0x3df24e(0x150)||typeof _0x1ac71f['createTime']==='number'?_0x1ac71f[_0x3df24e(0x15b)]:undefined,_0x3d6fe7=typeof _0x1ac71f[_0x3df24e(0x18a)]==='string'||typeof _0x1ac71f[_0x3df24e(0x18a)]==='number'?_0x1ac71f['updateTime']:undefined,_0x1e3719=sha256(JSON[_0x3df24e(0x16f)]({'id':_0x1ac71f['id'],'scope':_0x1ac71f[_0x3df24e(0x15f)],'appCode':_0x578255,'title':_0x5f3b9,'version':_0x1ac71f[_0x3df24e(0x154)],'contentHash':_0x1a6c7d[_0x3df24e(0x195)],'createTime':_0x56d6da,'updateTime':_0x3d6fe7}));return{'id':_0x1ac71f['id'],'scope':_0x3df24e(0x17c),'appCode':_0x578255,'title':_0x5f3b9,'version':_0x1ac71f[_0x3df24e(0x154)],'contentByteSize':_0x1a6c7d[_0x3df24e(0x17f)],'contentHash':_0x1a6c7d[_0x3df24e(0x195)],'snapshotHash':_0x1e3719,..._0x56d6da!==undefined?{'createTime':_0x56d6da}:{},..._0x3d6fe7!==undefined?{'updateTime':_0x3d6fe7}:{}};}export function assertCompanyKnowledgeBase(_0x1e6494,_0x50f0fd,_0x63766d){const _0x5c63c4=a104_0x3d7079;if(_0x63766d!==undefined&&_0x1e6494['id']!==_0x63766d)throw kbError(_0x5c63c4(0x148),'Knowledge-base\x20get-one\x20returned\x20id\x20'+_0x1e6494['id']+_0x5c63c4(0x159)+_0x63766d+_0x5c63c4(0x157));if(_0x1e6494[_0x5c63c4(0x15f)]!==_0x5c63c4(0x17c)||_0x1e6494[_0x5c63c4(0x193)]!==_0x50f0fd)throw kbError(_0x5c63c4(0x185),_0x5c63c4(0x146)+_0x1e6494['id']+_0x5c63c4(0x18b)+_0x50f0fd+'.');}export async function fetchAllCompanyKnowledgeBases(_0x141476,_0x1bf495){const _0x2fc5e5=a104_0x3d7079,_0x8ced0b=[],_0x226dbb=new Set();let _0x1e1b80=0x1,_0x4bab08=0x0,_0x4a6cb0;while(!![]){const _0x52a193=await listEnterpriseKnowledgeBases(_0x141476['cookie'],{'currentPage':_0x1e1b80,'pageSize':LIST_PAGE_SIZE,'appCode':_0x141476[_0x2fc5e5(0x193)],..._0x1bf495}),_0x372d87=_0x52a193['paging']?.[_0x2fc5e5(0x187)];if(_0x52a193[_0x2fc5e5(0x17e)]?.[_0x2fc5e5(0x186)]!==undefined&&_0x52a193[_0x2fc5e5(0x17e)][_0x2fc5e5(0x186)]!==_0x1e1b80)throw kbError('kb_list_contract_invalid',_0x2fc5e5(0x147)+_0x52a193[_0x2fc5e5(0x17e)][_0x2fc5e5(0x186)]+_0x2fc5e5(0x191)+_0x1e1b80+_0x2fc5e5(0x157));if(_0x372d87!==undefined){if(_0x4a6cb0!==undefined&&_0x372d87!==_0x4a6cb0)throw kbError('kb_list_contract_invalid',_0x2fc5e5(0x18f)+_0x4a6cb0+_0x2fc5e5(0x179)+_0x372d87+_0x2fc5e5(0x163),_0x2fc5e5(0x172));_0x4a6cb0=_0x372d87;}for(const _0x50f68f of _0x52a193[_0x2fc5e5(0x15c)]){if(!Number[_0x2fc5e5(0x170)](_0x50f68f['id'])||_0x226dbb[_0x2fc5e5(0x143)](_0x50f68f['id']))throw kbError(_0x2fc5e5(0x13c),_0x2fc5e5(0x18c)+String(_0x50f68f['id'])+'.');_0x226dbb[_0x2fc5e5(0x18e)](_0x50f68f['id']),_0x50f68f['scope']==='company'&&_0x50f68f[_0x2fc5e5(0x193)]===_0x141476['appCode']&&_0x8ced0b[_0x2fc5e5(0x177)](_0x50f68f);}_0x4bab08+=_0x52a193[_0x2fc5e5(0x15c)][_0x2fc5e5(0x14f)];if(_0x372d87!==undefined&&_0x4bab08>=_0x372d87)break;if(_0x52a193[_0x2fc5e5(0x15c)]['length']<LIST_PAGE_SIZE){if(_0x372d87!==undefined&&_0x4bab08<_0x372d87)throw kbError(_0x2fc5e5(0x13c),_0x2fc5e5(0x182)+_0x4bab08+_0x2fc5e5(0x141)+_0x372d87+_0x2fc5e5(0x16a));break;}_0x1e1b80+=0x1;}return _0x8ced0b;}export function findExactCompanyKnowledgeBases(_0x175103,_0x4aa5f4,_0x4dbe7b){const _0x454a09=a104_0x3d7079;return _0x175103[_0x454a09(0x144)](_0x4eabc8=>_0x4eabc8[_0x454a09(0x15f)]==='company'&&_0x4eabc8[_0x454a09(0x193)]===_0x4aa5f4&&_0x4eabc8[_0x454a09(0x152)]===_0x4dbe7b);}export async function getKbOrNull(_0x536b97,_0x1ee177){const _0xd3fde8=a104_0x3d7079;try{const _0x4e08b3=await getEnterpriseKnowledgeBase(_0x536b97[_0xd3fde8(0x15e)],_0x1ee177);return assertCompanyKnowledgeBase(_0x4e08b3,_0x536b97[_0xd3fde8(0x193)],_0x1ee177),_0x4e08b3;}catch(_0x211212){if(getPlatformErrorCode(_0x211212)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x211212;}}export async function requireKb(_0x156b8e,_0x577592){const _0x411a54=a104_0x3d7079,_0x52f91d=await getKbOrNull(_0x156b8e,_0x577592);if(!_0x52f91d)throw kbError(_0x411a54(0x194),_0x411a54(0x164)+_0x577592,'Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.');return _0x52f91d;}export function assertExpectedKbVersion(_0x1ce02b,_0x52b810){const _0x5bdb65=a104_0x3d7079;if(_0x52b810===undefined||_0x1ce02b[_0x5bdb65(0x154)]===_0x52b810)return;throw kbError(_0x5bdb65(0x196),'Knowledge\x20base\x20'+_0x1ce02b['id']+_0x5bdb65(0x18d)+_0x52b810+_0x5bdb65(0x167)+_0x1ce02b[_0x5bdb65(0x154)]+'.',_0x5bdb65(0x145));}
|
|
1
|
+
const a104_0x3c12f2=a104_0x5f2d;(function(_0x72a15c,_0x4729f0){const _0x1ab3d6=a104_0x5f2d,_0x5b95b5=_0x72a15c();while(!![]){try{const _0x4345c4=parseInt(_0x1ab3d6(0x181))/0x1*(-parseInt(_0x1ab3d6(0x186))/0x2)+-parseInt(_0x1ab3d6(0x167))/0x3*(-parseInt(_0x1ab3d6(0x16e))/0x4)+parseInt(_0x1ab3d6(0x16c))/0x5+parseInt(_0x1ab3d6(0x18f))/0x6*(-parseInt(_0x1ab3d6(0x17c))/0x7)+parseInt(_0x1ab3d6(0x173))/0x8*(-parseInt(_0x1ab3d6(0x16d))/0x9)+-parseInt(_0x1ab3d6(0x183))/0xa+-parseInt(_0x1ab3d6(0x1a9))/0xb*(-parseInt(_0x1ab3d6(0x17a))/0xc);if(_0x4345c4===_0x4729f0)break;else _0x5b95b5['push'](_0x5b95b5['shift']());}catch(_0x53f116){_0x5b95b5['push'](_0x5b95b5['shift']());}}}(a104_0x356d,0x8dd2a));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x3c12f2(0x19a);export function kbError(_0x517439,_0x47f2e3,_0x474459){return new CliError(_0x517439,0x1,_0x47f2e3,_0x474459);}export function readKbId(_0x3bf1ed){const _0x27552c=a104_0x3c12f2,_0x4cb850=_0x3bf1ed[_0x27552c(0x1b4)]('id');if(!Number[_0x27552c(0x1af)](_0x4cb850)||_0x4cb850<=0x0)throw kbError(_0x27552c(0x171),_0x27552c(0x16a));return _0x4cb850;}export function requireKbExplicitYes(_0x3723d7){const _0x11cb7c=a104_0x3c12f2;if(_0x3723d7[_0x11cb7c(0x1b1)]('dry-run')||_0x3723d7['bool'](_0x11cb7c(0x162)))return;throw kbError(_0x11cb7c(0x15d),_0x11cb7c(0x197),_0x11cb7c(0x172));}function sha256(_0xc646e3){const _0x398c42=a104_0x3c12f2;return'sha256:'+createHash(_0x398c42(0x1a4))['update'](_0xc646e3)['digest']('hex');}export function inspectKbContent(_0x294c78){const _0x2edaca=a104_0x3c12f2,_0x57a0d=Buffer[_0x2edaca(0x1ad)](_0x294c78,_0x2edaca(0x18c));return{'content':_0x294c78,'byteSize':_0x57a0d['byteLength'],'contentHash':sha256(_0x57a0d)};}export async function readKbFile(_0x171726){const _0x3c355b=a104_0x3c12f2,_0x2d6c2b=_0x171726[_0x3c355b(0x1a8)]();if(!_0x2d6c2b)throw kbError('kb_file_required',_0x3c355b(0x165),_0x3c355b(0x1a3));const _0xe44b12=resolve(_0x2d6c2b);let _0x28ac69;try{_0x28ac69=await stat(_0xe44b12);}catch(_0x49e328){throw kbError(_0x3c355b(0x1a1),_0x3c355b(0x174)+_0x2d6c2b,_0x49e328 instanceof Error?_0x49e328['message']:String(_0x49e328));}if(!_0x28ac69[_0x3c355b(0x1b8)]())throw kbError('kb_file_invalid','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20'+_0x2d6c2b);let _0x4f7079;try{_0x4f7079=await readFile(_0xe44b12);}catch(_0x4c0df9){throw kbError('kb_file_unreadable','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x2d6c2b,_0x4c0df9 instanceof Error?_0x4c0df9['message']:String(_0x4c0df9));}let _0x27634d;try{_0x27634d=new TextDecoder('utf-8',{'fatal':!![],'ignoreBOM':!![]})['decode'](_0x4f7079);}catch{throw kbError(_0x3c355b(0x19f),_0x3c355b(0x196)+_0x2d6c2b);}if(!_0x27634d[_0x3c355b(0x1a8)]())throw kbError(_0x3c355b(0x19f),_0x3c355b(0x190)+_0x2d6c2b);return inspectKbContent(_0x27634d);}export async function verifyKbMutationReadback(_0x5eeff6,_0x5b8dce,_0x5a7b3a){const _0x3388d7=a104_0x3c12f2;try{return await _0x5a7b3a();}catch(_0x587421){const _0x5952e7=kbError(_0x3388d7(0x17e)+_0x5eeff6+'_'+(_0x5b8dce?_0x3388d7(0x19b):_0x3388d7(0x1a5)),_0x3388d7(0x179)+_0x5eeff6+'\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.',_0x3388d7(0x1ab));Object[_0x3388d7(0x18a)](_0x5952e7,_0x3388d7(0x193),{'value':_0x587421,'enumerable':![]});throw _0x5952e7;}}function requireRecordText(_0x44959e,_0x17b320,_0x5bc46c,_0x3985c0={}){const _0x4a751e=a104_0x3c12f2;if(typeof _0x44959e==='string'&&(_0x3985c0[_0x4a751e(0x180)]||_0x44959e[_0x4a751e(0x1a8)]()))return _0x44959e;throw kbError(_0x4a751e(0x1ae),'Knowledge\x20base\x20'+String(_0x5bc46c)+_0x4a751e(0x17f)+_0x17b320+'.');}export function projectKb(_0x56f267){const _0x152339=a104_0x3c12f2;if(!Number[_0x152339(0x1af)](_0x56f267['id'])||_0x56f267['id']<=0x0)throw kbError(_0x152339(0x1ae),_0x152339(0x176));if(!Number['isSafeInteger'](_0x56f267[_0x152339(0x19c)])||_0x56f267[_0x152339(0x19c)]<0x0)throw kbError('kb_response_invalid','Knowledge\x20base\x20'+_0x56f267['id']+_0x152339(0x18e));if(_0x56f267[_0x152339(0x182)]!==_0x152339(0x1a7))throw kbError(_0x152339(0x187),_0x152339(0x18d)+_0x56f267['id']+_0x152339(0x168));const _0x13afad=requireRecordText(_0x56f267[_0x152339(0x191)],'appCode',_0x56f267['id']),_0x34580f=requireRecordText(_0x56f267['title'],_0x152339(0x199),_0x56f267['id']),_0x52fd71=inspectKbContent(requireRecordText(_0x56f267[_0x152339(0x1b0)],_0x152339(0x1b0),_0x56f267['id'],{'allowEmpty':!![]})),_0xf4f8b4=typeof _0x56f267['createTime']===_0x152339(0x169)||typeof _0x56f267[_0x152339(0x161)]===_0x152339(0x16b)?_0x56f267[_0x152339(0x161)]:undefined,_0x285a11=typeof _0x56f267['updateTime']===_0x152339(0x169)||typeof _0x56f267['updateTime']===_0x152339(0x16b)?_0x56f267[_0x152339(0x1b2)]:undefined,_0x36bfc3=sha256(JSON[_0x152339(0x15f)]({'id':_0x56f267['id'],'scope':_0x56f267[_0x152339(0x182)],'appCode':_0x13afad,'title':_0x34580f,'version':_0x56f267[_0x152339(0x19c)],'contentHash':_0x52fd71['contentHash'],'createTime':_0xf4f8b4,'updateTime':_0x285a11}));return{'id':_0x56f267['id'],'scope':_0x152339(0x1a7),'appCode':_0x13afad,'title':_0x34580f,'version':_0x56f267[_0x152339(0x19c)],'contentByteSize':_0x52fd71[_0x152339(0x177)],'contentHash':_0x52fd71[_0x152339(0x1a0)],'snapshotHash':_0x36bfc3,..._0xf4f8b4!==undefined?{'createTime':_0xf4f8b4}:{},..._0x285a11!==undefined?{'updateTime':_0x285a11}:{}};}export function assertCompanyKnowledgeBase(_0x3e3c35,_0x466798,_0x1de68b){const _0x2aabe4=a104_0x3c12f2;if(_0x1de68b!==undefined&&_0x3e3c35['id']!==_0x1de68b)throw kbError(_0x2aabe4(0x1ae),_0x2aabe4(0x17b)+_0x3e3c35['id']+_0x2aabe4(0x1aa)+_0x1de68b+_0x2aabe4(0x184));if(_0x3e3c35[_0x2aabe4(0x182)]!==_0x2aabe4(0x1a7)||_0x3e3c35[_0x2aabe4(0x191)]!==_0x466798)throw kbError(_0x2aabe4(0x187),_0x2aabe4(0x18d)+_0x3e3c35['id']+_0x2aabe4(0x1b7)+_0x466798+'.');}export async function fetchAllCompanyKnowledgeBases(_0x9549a7,_0x22329c){const _0x168753=a104_0x3c12f2,_0x27fe8c=[],_0x163dd5=new Set();let _0x458e26=0x1,_0x492063=0x0,_0x402ae2;while(!![]){const _0x18cc3f=await listEnterpriseKnowledgeBases(_0x9549a7[_0x168753(0x160)],{'currentPage':_0x458e26,'pageSize':LIST_PAGE_SIZE,'appCode':_0x9549a7[_0x168753(0x191)],..._0x22329c}),_0x34d4d1=_0x18cc3f[_0x168753(0x166)]?.[_0x168753(0x19e)];if(_0x18cc3f[_0x168753(0x166)]?.[_0x168753(0x195)]!==undefined&&_0x18cc3f[_0x168753(0x166)][_0x168753(0x195)]!==_0x458e26)throw kbError('kb_list_contract_invalid',_0x168753(0x170)+_0x18cc3f[_0x168753(0x166)][_0x168753(0x195)]+_0x168753(0x16f)+_0x458e26+_0x168753(0x184));if(_0x34d4d1!==undefined){if(_0x402ae2!==undefined&&_0x34d4d1!==_0x402ae2)throw kbError('kb_list_contract_invalid',_0x168753(0x189)+_0x402ae2+'\x20to\x20'+_0x34d4d1+_0x168753(0x175),_0x168753(0x178));_0x402ae2=_0x34d4d1;}for(const _0x2ea8b4 of _0x18cc3f[_0x168753(0x164)]){if(!Number[_0x168753(0x1af)](_0x2ea8b4['id'])||_0x163dd5[_0x168753(0x1a6)](_0x2ea8b4['id']))throw kbError(_0x168753(0x198),_0x168753(0x188)+String(_0x2ea8b4['id'])+'.');_0x163dd5[_0x168753(0x18b)](_0x2ea8b4['id']),_0x2ea8b4[_0x168753(0x182)]===_0x168753(0x1a7)&&_0x2ea8b4[_0x168753(0x191)]===_0x9549a7[_0x168753(0x191)]&&_0x27fe8c[_0x168753(0x185)](_0x2ea8b4);}_0x492063+=_0x18cc3f[_0x168753(0x164)][_0x168753(0x15e)];if(_0x34d4d1!==undefined&&_0x492063>=_0x34d4d1)break;if(_0x18cc3f['items']['length']<LIST_PAGE_SIZE){if(_0x34d4d1!==undefined&&_0x492063<_0x34d4d1)throw kbError(_0x168753(0x198),_0x168753(0x163)+_0x492063+_0x168753(0x19d)+_0x34d4d1+'\x20records.');break;}_0x458e26+=0x1;}return _0x27fe8c;}export function findExactCompanyKnowledgeBases(_0x5229b0,_0x232b0e,_0x53d5d2){const _0x40f778=a104_0x3c12f2;return _0x5229b0[_0x40f778(0x1a2)](_0x1a0d0f=>_0x1a0d0f['scope']===_0x40f778(0x1a7)&&_0x1a0d0f[_0x40f778(0x191)]===_0x232b0e&&_0x1a0d0f['title']===_0x53d5d2);}function a104_0x5f2d(_0x140738,_0x1d219d){_0x140738=_0x140738-0x15d;const _0x356dca=a104_0x356d();let _0x5f2df6=_0x356dca[_0x140738];return _0x5f2df6;}export async function getKbOrNull(_0x35cf0f,_0x3a5b1d){const _0x28942b=a104_0x3c12f2;try{const _0x3eac77=await getEnterpriseKnowledgeBase(_0x35cf0f[_0x28942b(0x160)],_0x3a5b1d);return assertCompanyKnowledgeBase(_0x3eac77,_0x35cf0f['appCode'],_0x3a5b1d),_0x3eac77;}catch(_0x112e4c){if(getPlatformErrorCode(_0x112e4c)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x112e4c;}}export async function requireKb(_0x3ae268,_0x4fd8bf){const _0x28416b=a104_0x3c12f2,_0x292e84=await getKbOrNull(_0x3ae268,_0x4fd8bf);if(!_0x292e84)throw kbError(_0x28416b(0x194),_0x28416b(0x17d)+_0x4fd8bf,_0x28416b(0x1ac));return _0x292e84;}export function assertExpectedKbVersion(_0x2069e5,_0xdc6ed1){const _0x507c85=a104_0x3c12f2;if(_0xdc6ed1===undefined||_0x2069e5[_0x507c85(0x19c)]===_0xdc6ed1)return;throw kbError(_0x507c85(0x1b6),_0x507c85(0x18d)+_0x2069e5['id']+_0x507c85(0x1b3)+_0xdc6ed1+_0x507c85(0x1b5)+_0x2069e5['version']+'.',_0x507c85(0x192));}function a104_0x356d(){const _0x93ab9b=['push','37078lrISjN','kb_scope_mismatch','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','Knowledge-base\x20list\x20total\x20changed\x20from\x20','defineProperty','add','utf8','Knowledge\x20base\x20','\x20response\x20contains\x20an\x20invalid\x20version.','6TBqZjV','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','appCode','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','cause','kb_not_found','currentPage','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','kb_list_contract_invalid','title','306','outcome_unknown','version','\x20of\x20','totalCount','kb_content_invalid','contentHash','kb_file_unreadable','filter','Pass\x20--file\x20<knowledge.md>.','sha256','verification_unavailable','has','company','trim','2231603eZzNEq','\x20while\x20id\x20','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','from','kb_response_invalid','isSafeInteger','content','bool','updateTime','\x20version\x20changed:\x20expected\x20','num',',\x20current\x20','kb_state_drift','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','isFile','kb_confirmation_required','length','stringify','cookie','createTime','yes','Knowledge-base\x20list\x20stopped\x20at\x20','items','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','paging','3hDNNFM','\x20is\x20not\x20company-scoped.','string','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','number','184475iTeopj','541818pBQPcG','4340152Hhxmmv','\x20while\x20page\x20','Knowledge-base\x20list\x20returned\x20page\x20','kb_id_invalid','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','136OYjLny','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','\x20during\x20paging.','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','byteSize','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','The\x20','168rqypEJ','Knowledge-base\x20get-one\x20returned\x20id\x20','3767547ECZUtf','Company\x20knowledge\x20base\x20not\x20found:\x20','kb_','\x20response\x20is\x20missing\x20','allowEmpty','40htzdEj','scope','10780340TyThVx','\x20was\x20requested.'];a104_0x356d=function(){return _0x93ab9b;};return a104_0x356d();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a105_0x364b7b=a105_0x4e05;function a105_0x4e05(_0x35c67e,_0x3dde5a){_0x35c67e=_0x35c67e-0x1a6;const _0x5f04ae=a105_0x5f04();let _0x4e0514=_0x5f04ae[_0x35c67e];return _0x4e0514;}(function(_0x3a3b61,_0x438c1b){const _0x34488e=a105_0x4e05,_0x486a2b=_0x3a3b61();while(!![]){try{const _0x2d1f99=-parseInt(_0x34488e(0x1c3))/0x1*(parseInt(_0x34488e(0x1bc))/0x2)+parseInt(_0x34488e(0x1a9))/0x3+-parseInt(_0x34488e(0x1d0))/0x4+-parseInt(_0x34488e(0x1c7))/0x5*(parseInt(_0x34488e(0x1c8))/0x6)+parseInt(_0x34488e(0x1b6))/0x7+-parseInt(_0x34488e(0x1ac))/0x8+parseInt(_0x34488e(0x1ce))/0x9;if(_0x2d1f99===_0x438c1b)break;else _0x486a2b['push'](_0x486a2b['shift']());}catch(_0x523717){_0x486a2b['push'](_0x486a2b['shift']());}}}(a105_0x5f04,0x4edbd));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';function a105_0x5f04(){const _0x27b5ef=['replacement','rabetbase\x20kb\x20detail\x20--id\x20','POST','file','string','21486GgBOOZ','high-risk-write','number','\x20--format\x20compress','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','46VmqtFw','kb_title_invalid','beforeRecord','push','3100390wIJcaz','6laRyfT','cookie','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','contentHash','kb_update_outcome_unknown','verified','13722606lLGzXO','company','2199584CoiUuq','appCode','title','expectedVersion','snapshotHash','--file\x20cannot\x20be\x20empty.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','kb_verification_failed','trim','kb_file_required','version','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','484182zGSEKL','before','flag','2400256ezKhug','Nothing\x20to\x20update.','patch','isSafeInteger','New\x20knowledge-base\x20title','planned','content','update','expected-version','kb_update_empty','4207427lMJoaJ'];a105_0x5f04=function(){return _0x27b5ef;};return a105_0x5f04();}import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH='/admin/knowledge-base/update',NON_ATOMIC_WARNING='--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.';function readUpdatePatch(_0x228ee3){const _0x187f34=a105_0x4e05,_0x34cf2e=readKbId(_0x228ee3),_0x416170=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1d2)),_0x1f436b=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1ba)),_0x4ce856=_0x228ee3[_0x187f34(0x1ab)](_0x187f34(0x1b4)),_0x5bdaec=_0x416170===undefined?undefined:String(_0x416170)[_0x187f34(0x1d8)]();if(_0x416170!==undefined&&!_0x5bdaec)throw kbError(_0x187f34(0x1c4),'--title\x20cannot\x20be\x20empty.');const _0x340aab=_0x1f436b===undefined?undefined:String(_0x1f436b)[_0x187f34(0x1d8)]();if(_0x1f436b!==undefined&&!_0x340aab)throw kbError(_0x187f34(0x1a6),_0x187f34(0x1d5));if(_0x5bdaec===undefined&&_0x340aab===undefined)throw kbError(_0x187f34(0x1b5),_0x187f34(0x1ad),_0x187f34(0x1a8));let _0x11d952;if(_0x4ce856!==undefined){_0x11d952=Number(_0x4ce856);if(!Number[_0x187f34(0x1af)](_0x11d952)||_0x11d952<0x0)throw kbError('kb_expected_version_invalid',_0x187f34(0x1d6));}return{'id':_0x34cf2e,'title':_0x5bdaec,'file':_0x340aab,'expectedVersion':_0x11d952};}async function prepareUpdate(_0x3fa021){const _0x23cb1c=a105_0x4e05,_0x43e52a=readUpdatePatch(_0x3fa021),_0x304882=await requireKb(_0x3fa021,_0x43e52a['id']);assertExpectedKbVersion(_0x304882,_0x43e52a['expectedVersion']);const _0x4e77bf=_0x43e52a[_0x23cb1c(0x1ba)]?await readKbFile(_0x43e52a[_0x23cb1c(0x1ba)]):undefined,_0x4f039e=projectKb(_0x304882),_0x23f650=projectKb({..._0x304882,..._0x43e52a[_0x23cb1c(0x1d2)]!==undefined?{'title':_0x43e52a['title']}:{},..._0x4e77bf?{'content':_0x4e77bf['content']}:{}});return{'patch':_0x43e52a,'beforeRecord':_0x304882,'before':_0x4f039e,'planned':_0x23f650,'replacement':_0x4e77bf};}export const kbUpdate={'service':'kb','command':a105_0x364b7b(0x1b3),'description':a105_0x364b7b(0x1ca),'risk':a105_0x364b7b(0x1bd),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a105_0x364b7b(0x1be),'required':!![],'description':'Company\x20knowledge-base\x20id'},{'name':a105_0x364b7b(0x1d2),'type':'string','required':![],'description':a105_0x364b7b(0x1b0)},{'name':a105_0x364b7b(0x1ba),'type':a105_0x364b7b(0x1bb),'required':![],'description':'Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file'},{'name':a105_0x364b7b(0x1b4),'type':a105_0x364b7b(0x1be),'required':![],'description':a105_0x364b7b(0x1c2)}],async 'validate'(_0x74c535){readUpdatePatch(_0x74c535),requireKbExplicitYes(_0x74c535);},async 'dryRun'(_0x3ab513){const _0x32f380=a105_0x364b7b,_0x1323ee=await prepareUpdate(_0x3ab513),_0x1217e8=_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':'update','selector':{'id':_0x1323ee[_0x32f380(0x1aa)]['id'],'scope':_0x32f380(0x1cf),'appCode':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d1)]},'before':_0x1323ee[_0x32f380(0x1aa)],'after':_0x1323ee[_0x32f380(0x1b1)],'dryRun':!![],'backend':{'method':_0x32f380(0x1b9),'path':UPDATE_PATH},'warnings':_0x1217e8,'verification':{'expectedVersion':_0x1323ee[_0x32f380(0x1ae)][_0x32f380(0x1d3)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x1323ee[_0x32f380(0x1aa)][_0x32f380(0x1d4)],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x1323ee['before']['id']+_0x32f380(0x1bf)}},{'method':_0x32f380(0x1b9),'url':UPDATE_PATH});},async 'execute'(_0x1d296f){const _0x316677=a105_0x364b7b;requireKbExplicitYes(_0x1d296f);const _0x52ddc4=await prepareUpdate(_0x1d296f),_0x2df4b5={'id':_0x52ddc4[_0x316677(0x1ae)]['id'],..._0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]!==undefined?{'title':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]}:{},..._0x52ddc4[_0x316677(0x1b7)]?{'content':_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1b2)]}:{}};let _0x278019=![];try{const _0x39af58=await updateEnterpriseKnowledgeBase(_0x1d296f[_0x316677(0x1c9)],_0x2df4b5);assertCompanyKnowledgeBase(_0x39af58,_0x1d296f[_0x316677(0x1d1)],_0x52ddc4[_0x316677(0x1ae)]['id']);}catch(_0x1cea7a){if(!isPlatformTransportFailure(_0x1cea7a))throw _0x1cea7a;_0x278019=!![];}const _0x43256b=await verifyKbMutationReadback('update',_0x278019,()=>requireKb(_0x1d296f,_0x52ddc4[_0x316677(0x1ae)]['id'])),_0x447587=projectKb(_0x43256b),_0x4c0bc=_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x43256b[_0x316677(0x1d2)]===_0x52ddc4['patch'][_0x316677(0x1d2)],_0xff8e2a=!_0x52ddc4['replacement']||inspectKbContent(_0x43256b[_0x316677(0x1b2)])['contentHash']===_0x52ddc4[_0x316677(0x1b7)][_0x316677(0x1cb)],_0x617a32=!_0x52ddc4[_0x316677(0x1b7)]||_0x43256b[_0x316677(0x1a7)]>_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1a7)],_0xe57e73=!_0x278019||_0x52ddc4[_0x316677(0x1b7)]!==undefined||_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)]===undefined||_0x52ddc4[_0x316677(0x1c5)][_0x316677(0x1d2)]!==_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d2)];if(!_0x4c0bc||!_0xff8e2a||!_0x617a32||!_0xe57e73)throw kbError(_0x278019?_0x316677(0x1cc):_0x316677(0x1d7),'Company\x20knowledge\x20base\x20'+_0x52ddc4['patch']['id']+_0x316677(0x1c0),_0x316677(0x1c1)+_0x52ddc4[_0x316677(0x1ae)]['id']+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x47c23e=[];return _0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]!==undefined&&_0x47c23e[_0x316677(0x1c6)](NON_ATOMIC_WARNING),_0x278019&&_0x47c23e[_0x316677(0x1c6)]('Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.'),{'ok':!![],'data':{'operation':_0x316677(0x1b3),'selector':{'id':_0x447587['id'],'scope':'company','appCode':_0x447587[_0x316677(0x1d1)]},'before':_0x52ddc4[_0x316677(0x1aa)],'after':_0x447587,'dryRun':![],'backend':{'method':_0x316677(0x1b9),'path':UPDATE_PATH},'warnings':_0x47c23e,'verification':{'status':_0x316677(0x1cd),'recoveredAfterUnknownResponse':_0x278019,'expectedVersion':_0x52ddc4[_0x316677(0x1ae)][_0x316677(0x1d3)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x316677(0x1b8)+_0x447587['id']+_0x316677(0x1bf)}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x447587['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a106_0x32646b=a106_0x187d;function a106_0x3aac(){const _0xc8b7ba=['message','\x20\x20\x20Details:\x20','699LGvorw','error','duration','clear','log','395064VTiUrW','222TcFYbj','*\x20No\x20logs\x20found','44310048pqSLcJ','\x20\x20\x20Time:\x20','level','write','493620oVUheb','153pmjXCK','5koykwW','readLogs','181531HUYyZV','logs','warn','details','70rPNBMm','keys','31702xjOEJH','258870iesvsu','9436xMrlRZ','show','*\x20Logs\x20cleared','stringify','*\x20Lovrabet\x20CLI\x20logs:\x0a','clearLogs','length'];a106_0x3aac=function(){return _0xc8b7ba;};return a106_0x3aac();}(function(_0x29fe86,_0x30ada4){const _0x5ef76b=a106_0x187d,_0x147722=_0x29fe86();while(!![]){try{const _0x568bdf=-parseInt(_0x5ef76b(0x151))/0x1*(parseInt(_0x5ef76b(0x139))/0x2)+parseInt(_0x5ef76b(0x143))/0x3*(-parseInt(_0x5ef76b(0x13a))/0x4)+-parseInt(_0x5ef76b(0x14f))/0x5+-parseInt(_0x5ef76b(0x149))/0x6*(parseInt(_0x5ef76b(0x153))/0x7)+-parseInt(_0x5ef76b(0x148))/0x8*(parseInt(_0x5ef76b(0x150))/0x9)+-parseInt(_0x5ef76b(0x136))/0xa*(-parseInt(_0x5ef76b(0x138))/0xb)+parseInt(_0x5ef76b(0x14b))/0xc;if(_0x568bdf===_0x30ada4)break;else _0x147722['push'](_0x147722['shift']());}catch(_0x166c8d){_0x147722['push'](_0x147722['shift']());}}}(a106_0x3aac,0x96e74));function a106_0x187d(_0x2b1586,_0x1387cc){_0x2b1586=_0x2b1586-0x133;const _0x3aac8b=a106_0x3aac();let _0x187dd0=_0x3aac8b[_0x2b1586];return _0x187dd0;}import{logger}from'../../utils/logger.js';function printLogs(_0x2f42d8){const _0x4c268c=a106_0x187d;if(_0x2f42d8[_0x4c268c(0x140)]===0x0){console['log'](_0x4c268c(0x14a));return;}console[_0x4c268c(0x147)](_0x4c268c(0x13e)),_0x2f42d8['forEach']((_0x266922,_0x15c368)=>{const _0x2189e4=_0x4c268c,_0x595eda=new Date(_0x266922['timestamp'])['toLocaleString']('en-US'),_0x20a3cd=_0x266922[_0x2189e4(0x14d)]==='success'?'√':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x144)?'×':_0x266922[_0x2189e4(0x14d)]===_0x2189e4(0x134)?'!':'i';console[_0x2189e4(0x147)](_0x15c368+0x1+'.\x20'+_0x20a3cd+'\x20['+_0x266922['command']+']\x20'+_0x266922[_0x2189e4(0x141)]),console[_0x2189e4(0x147)](_0x2189e4(0x14c)+_0x595eda),_0x266922[_0x2189e4(0x145)]&&console['log']('\x20\x20\x20Duration:\x20'+_0x266922[_0x2189e4(0x145)]+'ms'),_0x266922['details']&&Object[_0x2189e4(0x137)](_0x266922[_0x2189e4(0x135)])['length']>0x0&&console[_0x2189e4(0x147)](_0x2189e4(0x142)+JSON[_0x2189e4(0x13d)](_0x266922['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x13b),'description':'View\x20command\x20history\x20logs','risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x339f42){const _0x258ddf=a106_0x32646b;return printLogs(logger[_0x258ddf(0x152)]()),{'ok':!![]};}},{'service':a106_0x32646b(0x133),'command':a106_0x32646b(0x146),'description':'Clear\x20command\x20history\x20logs','risk':a106_0x32646b(0x14e),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0xb527cc){const _0x421545=a106_0x32646b;return logger[_0x421545(0x13f)](),console[_0x421545(0x147)](_0x421545(0x13c)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_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_0x4f8c40=a107_0x4fb5;(function(_0x341558,_0xc22d18){const _0x5c18a6=a107_0x4fb5,_0x237754=_0x341558();while(!![]){try{const _0x29c089=-parseInt(_0x5c18a6(0x9a))/0x1+parseInt(_0x5c18a6(0xa7))/0x2+parseInt(_0x5c18a6(0x92))/0x3+-parseInt(_0x5c18a6(0xb4))/0x4*(parseInt(_0x5c18a6(0xab))/0x5)+-parseInt(_0x5c18a6(0x90))/0x6*(-parseInt(_0x5c18a6(0x80))/0x7)+-parseInt(_0x5c18a6(0xa6))/0x8*(parseInt(_0x5c18a6(0xb0))/0x9)+-parseInt(_0x5c18a6(0xbe))/0xa*(-parseInt(_0x5c18a6(0x84))/0xb);if(_0x29c089===_0xc22d18)break;else _0x237754['push'](_0x237754['shift']());}catch(_0x2452cb){_0x237754['push'](_0x237754['shift']());}}}(a107_0x324f,0xcfdaa));import a107_0x3dc387 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';function a107_0x324f(){const _0x3fbd0b=['3454SaksnL','selectedAppName','object','rawFlags','bool','isSafeInteger','gray','validation','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','Online\x20menu\x20list\x20fetched','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','label','10608XTVKqX','map','2416314iGJQeI','replace','POST','Updating\x20','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','Menu\x20asset\x20update\x20failed','\x20menu(s)\x20with\x20existing\x20resources','menu-ids','803856opXrdB','paths','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','mode','yellow','str','\x20menu(s)','script','\x20\x20Update\x20','jsUrl','force','trim','48GvMnkZ','257852FffdNu','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','flag','skipped','188755SpcfPF','message','\x20menu\x20resource\x20set(s).','\x20failed.','appcode','1277829LNfVLn','asset-update','yes','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','128YALAYx','Failed\x20to\x20fetch\x20online\x20menu\x20list','cookie','failed','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','Menu\x20asset\x20update\x20completed:\x20','params','boolean','\x20updated,\x20','76060CspScv','load-mode','filter','\x20\x20Cancelled.','✓\x20Menu\x20asset\x20update\x20completed:\x20','fetch','/smartapi/menu/update','\x20menu(s)...','Menu\x20asset\x20update\x20skipped','split','high-risk-write','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','patch','import','updated','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','Fetching\x20online\x20menu\x20list...','length','menu','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','appCode','isArray','string','\x20menu(s)\x20updated','1554YXpuCD','all','cssUrl','Would\x20update\x20'];a107_0x324f=function(){return _0x3fbd0b;};return a107_0x324f();}import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';function a107_0x4fb5(_0x527465,_0x17fc9f){_0x527465=_0x527465-0x76;const _0x324f54=a107_0x324f();let _0x4fb57d=_0x324f54[_0x527465];return _0x4fb57d;}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x4f8c40(0x7a),'command':a107_0x4f8c40(0xb1),'description':a107_0x4f8c40(0xc9),'risk':a107_0x4f8c40(0xc8),'flags':[{'name':a107_0x4f8c40(0xbb),'type':a107_0x4f8c40(0x7e),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+'JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}'},{'name':'mode','type':a107_0x4f8c40(0x7e),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a107_0x4f8c40(0x77),'enum':[a107_0x4f8c40(0x93),'patch'],'default':a107_0x4f8c40(0xca)},{'name':a107_0x4f8c40(0xa4),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xa8)},{'name':'menu-ids','type':a107_0x4f8c40(0x7e),'description':a107_0x4f8c40(0x7b)},{'name':'paths','type':a107_0x4f8c40(0x7e),'description':'Exact\x20comma-separated\x20menu\x20paths\x20to\x20update'},{'name':a107_0x4f8c40(0x81),'type':a107_0x4f8c40(0xbc),'description':a107_0x4f8c40(0xb3)},{'name':a107_0x4f8c40(0xbf),'type':a107_0x4f8c40(0x7e),'enum':['import',a107_0x4f8c40(0xa1),a107_0x4f8c40(0xc3)],'description':a107_0x4f8c40(0xb8)}],async 'dryRun'(_0x5c87b1){const _0x55bc84=a107_0x4f8c40;ensureRunnableContext(_0x5c87b1[_0x55bc84(0x87)],_0x5c87b1['selectedAppName']);const _0x24527c=await runMenuUpdateCore(_0x5c87b1[_0x55bc84(0x7c)],_0x5c87b1['cookie'],_0x5c87b1['str'](_0x55bc84(0xbb)),{'mode':parseMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0x9d))),'dryRun':!![],'force':_0x5c87b1['bool'](_0x55bc84(0xa4)),'selection':parseSelection(_0x5c87b1),'loadScriptMode':parseLoadScriptMode(_0x5c87b1[_0x55bc84(0x9f)](_0x55bc84(0xbf)))});return{'method':_0x55bc84(0x94),'url':_0x55bc84(0xc4),'body':_0x24527c,'description':_0x24527c[_0x55bc84(0xaa)]?_0x55bc84(0x8c):_0x55bc84(0x83)+(_0x24527c['diffs']?.[_0x55bc84(0x79)]??0x0)+_0x55bc84(0xad)};},async 'execute'(_0x35e22e){const _0x447500=a107_0x4f8c40;ensureRunnableContext(_0x35e22e['rawFlags'],_0x35e22e[_0x447500(0x85)]);const _0x4bd9c2=_0x35e22e[_0x447500(0xa9)](_0x447500(0xb2)),_0x9f95ee=_0x35e22e[_0x447500(0x9f)](_0x447500(0xbb)),_0x490668=parseMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0x9d))),_0xc02560=_0x35e22e[_0x447500(0x88)](_0x447500(0xa4)),_0x3bb86b=parseLoadScriptMode(_0x35e22e[_0x447500(0x9f)](_0x447500(0xbf))),_0x4b0606=parseParams(_0x9f95ee),_0x30df1c=!!(_0x4b0606[_0x447500(0xa3)]||_0x4b0606[_0x447500(0x82)]);if(_0x4bd9c2||_0x30df1c&&!isInteractive()){const _0x4d0388=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)],_0x9f95ee,{'mode':_0x490668,'force':_0xc02560,'selection':parseSelection(_0x35e22e),'loadScriptMode':_0x3bb86b});return _0x4d0388['skipped']?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine(_0x447500(0xc2)+_0x4d0388[_0x447500(0x76)]+_0x447500(0x7f)),_0x4d0388[_0x447500(0xb7)]>0x0&&writeCliSideChannelLine('!\x20'+_0x4d0388['failed']+'\x20menu(s)\x20failed')),{'ok':_0x4d0388['failed']===0x0,'data':_0x4d0388,'message':_0x4d0388[_0x447500(0xaa)]?_0x447500(0xc6):_0x447500(0xba)+_0x4d0388[_0x447500(0x76)]+_0x447500(0xbd)+_0x4d0388[_0x447500(0xb7)]+_0x447500(0xae)};}requireInteractive();const _0x5cdf67=startSpinner(_0x447500(0x78));let _0x38965b;try{_0x38965b=await fetchOnlineMenuList(_0x35e22e[_0x447500(0x7c)],_0x35e22e[_0x447500(0xb6)]),stopSpinner(_0x5cdf67,_0x447500(0x8d),!![]);}catch(_0x109b65){stopSpinner(_0x5cdf67,_0x447500(0xb5),![]);throw CliErrors['validation'](_0x109b65 instanceof Error?_0x109b65[_0x447500(0xac)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x44890b=filterMenusWithResources(_0x38965b),_0x273598=parseSelection(_0x35e22e,![]),_0x36b6df=_0x273598?selectMenusForUpdate(_0x44890b,_0x273598):_0x44890b;if(_0x36b6df[_0x447500(0x79)]===0x0)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x9e)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x3dc387['cyan']('\x20\x20Found\x20'+_0x36b6df[_0x447500(0x79)]+_0x447500(0x98))),writeCliSideChannelLine(renderUpdateSummary(_0x36b6df[_0x447500(0x91)](_0x41693d=>_0x41693d[_0x447500(0x8f)]),[_0x4b0606['jsUrl'],_0x4b0606[_0x447500(0x82)]])),writeCliSideChannelLine('');let _0xb7618b=_0x4b0606[_0x447500(0xa3)],_0x3aa13b=_0x4b0606[_0x447500(0x82)];!_0xb7618b&&(_0xb7618b=await askJsUrl());!_0x3aa13b&&(_0x3aa13b=await askCssUrl());const _0x4117af=await askConfirm(_0x447500(0xa2)+_0x36b6df['length']+'\x20menu(s)\x20with\x20JS:\x20'+_0xb7618b+'\x20and\x20CSS:\x20'+_0x3aa13b+'?');if(!_0x4117af)return writeCliSideChannelLine(a107_0x3dc387[_0x447500(0x8a)](_0x447500(0xc1))),{'ok':!![]};const _0x58972c=startSpinner(_0x447500(0x95)+_0x36b6df[_0x447500(0x79)]+_0x447500(0xc5));try{const _0x6e17c7=await runMenuUpdateCore(_0x35e22e[_0x447500(0x7c)],_0x35e22e['cookie'],JSON['stringify']({'jsUrl':_0xb7618b,'cssUrl':_0x3aa13b}),{'mode':_0x490668,'force':_0xc02560,'selection':{'all':![],'menuIds':_0x36b6df['map'](_0x1dd29f=>_0x1dd29f['id']),'paths':[]},'loadScriptMode':_0x3bb86b});return stopSpinner(_0x58972c,'Updated\x20'+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xa0),_0x6e17c7['failed']===0x0),{'ok':_0x6e17c7[_0x447500(0xb7)]===0x0,'data':_0x6e17c7,'message':_0x6e17c7['failed']>0x0?_0x447500(0xba)+_0x6e17c7[_0x447500(0x76)]+_0x447500(0xbd)+_0x6e17c7[_0x447500(0xb7)]+'\x20failed.':'Menu\x20asset\x20update\x20completed:\x20'+_0x6e17c7['updated']+'\x20updated.'};}catch(_0x4bcd99){stopSpinner(_0x58972c,_0x447500(0x97),![]);throw CliErrors[_0x447500(0x8b)](_0x4bcd99 instanceof Error?_0x4bcd99['message']:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x3023cf,_0x3402f1){const _0x34b977=a107_0x4f8c40,_0x3bea20=_0x3023cf[_0x34b977(0xaf)]?String(_0x3023cf[_0x34b977(0xaf)])[_0x34b977(0xa5)]():'';if(!isInProject()&&!_0x3402f1&&!_0x3bea20)throw CliErrors['validation'](_0x34b977(0xb9)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x97a1f){const _0x444a6a=a107_0x4f8c40;if(!_0x97a1f)return _0x444a6a(0xca);if(_0x97a1f==='replace'||_0x97a1f===_0x444a6a(0xca))return _0x97a1f;throw CliErrors[_0x444a6a(0x8b)](_0x444a6a(0x9c));}function parseSelection(_0x201c6b,_0x5915e7=!![]){const _0x2d65de=a107_0x4f8c40,_0x416793=_0x201c6b[_0x2d65de(0x88)]('all'),_0x140e3=parseMenuIds(_0x201c6b[_0x2d65de(0x9f)](_0x2d65de(0x99))),_0x2e4009=parseCsv(_0x201c6b['str'](_0x2d65de(0x9b))),_0x1af8ae=_0x140e3[_0x2d65de(0x79)]>0x0||_0x2e4009[_0x2d65de(0x79)]>0x0;if(_0x416793&&_0x1af8ae)throw CliErrors[_0x2d65de(0x8b)]('--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.');if(!_0x416793&&!_0x1af8ae){if(!_0x5915e7)return undefined;throw CliErrors['validation'](_0x2d65de(0x8e));}return{'all':_0x416793,'menuIds':_0x140e3,'paths':_0x2e4009};}function parseMenuIds(_0x473114){const _0x2c3a32=a107_0x4f8c40,_0x44f9e9=parseCsv(_0x473114),_0x4b51ca=_0x44f9e9[_0x2c3a32(0x91)](Number);if(_0x4b51ca['some'](_0x19b55f=>!Number[_0x2c3a32(0x89)](_0x19b55f)||_0x19b55f<=0x0))throw CliErrors[_0x2c3a32(0x8b)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x4b51ca)];}function parseCsv(_0x413ce2){const _0x783a5b=a107_0x4f8c40;return[...new Set(_0x413ce2[_0x783a5b(0xc7)](',')[_0x783a5b(0x91)](_0x20779b=>_0x20779b['trim']())[_0x783a5b(0xc0)](Boolean))];}function parseLoadScriptMode(_0x4a52e5){const _0x20de02=a107_0x4f8c40;if(!_0x4a52e5)return undefined;if(_0x4a52e5===_0x20de02(0xcb)||_0x4a52e5==='script'||_0x4a52e5===_0x20de02(0xc3))return _0x4a52e5;throw CliErrors[_0x20de02(0x8b)](_0x20de02(0x96));}function parseParams(_0x5594ae){const _0x39daf0=a107_0x4f8c40;if(!_0x5594ae)return{};try{const _0x20e871=JSON['parse'](_0x5594ae);if(typeof _0x20e871!==_0x39daf0(0x86)||_0x20e871===null||Array[_0x39daf0(0x7d)](_0x20e871))return{};return{'jsUrl':typeof _0x20e871[_0x39daf0(0xa3)]===_0x39daf0(0x7e)?_0x20e871[_0x39daf0(0xa3)][_0x39daf0(0xa5)]():undefined,'cssUrl':typeof _0x20e871[_0x39daf0(0x82)]==='string'?_0x20e871[_0x39daf0(0x82)][_0x39daf0(0xa5)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_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_0x42aa36=a108_0x36d9;(function(_0xba7495,_0xa96a23){const _0x4942c2=a108_0x36d9,_0x4df4da=_0xba7495();while(!![]){try{const _0x4a211c=parseInt(_0x4942c2(0xd6))/0x1+parseInt(_0x4942c2(0x87))/0x2*(parseInt(_0x4942c2(0x7f))/0x3)+parseInt(_0x4942c2(0xdf))/0x4*(parseInt(_0x4942c2(0xe3))/0x5)+-parseInt(_0x4942c2(0x84))/0x6+-parseInt(_0x4942c2(0x8a))/0x7+-parseInt(_0x4942c2(0xd3))/0x8+parseInt(_0x4942c2(0xca))/0x9;if(_0x4a211c===_0xa96a23)break;else _0x4df4da['push'](_0x4df4da['shift']());}catch(_0x42e5c7){_0x4df4da['push'](_0x4df4da['shift']());}}}(a108_0x248c,0x7b38d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';function a108_0x36d9(_0x49a947,_0x40890a){_0x49a947=_0x49a947-0x77;const _0x248c27=a108_0x248c();let _0x36d926=_0x248c27[_0x49a947];return _0x36d926;}import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a108_0x42aa36(0xbc)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x42aa36(0xe1)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x42aa36(0xf0),'type':a108_0x42aa36(0xbf),'description':a108_0x42aa36(0xc5)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x42aa36(0xb8),'type':a108_0x42aa36(0x97),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':a108_0x42aa36(0xee),'type':a108_0x42aa36(0x97),'description':a108_0x42aa36(0xc9)};export const menuDelete={'service':a108_0x42aa36(0xe2),'command':a108_0x42aa36(0x9e),'description':a108_0x42aa36(0xdc),'risk':a108_0x42aa36(0x95),'structuredErrors':!![],'flags':[MENU_DELETE_ID_FLAG,MENU_DELETE_RECURSIVE_FLAG,MENU_DELETE_PLAN_OUT_FLAG,MENU_DELETE_PLAN_FLAG,...MENU_EXPECT_FLAGS,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x489e38){const _0x47616d=a108_0x42aa36;_0x489e38['bool'](_0x47616d(0x8d))?validateDeleteDryRunInput(_0x489e38):validateDeleteExecuteInput(_0x489e38),requireExplicitYes(_0x489e38);},async 'dryRun'(_0x5b0537){const _0x28b8b1=a108_0x42aa36;validateDeleteDryRunInput(_0x5b0537);const _0x1918b3=await buildDeletePlan(_0x5b0537),_0x451a7f=createMenuDeletePlanFile(_0x5b0537[_0x28b8b1(0x9d)],_0x1918b3),_0xc48a93=await writeMenuDeletePlan(_0x5b0537['str']('plan-out'),_0x451a7f),_0x7e0a91=mutationResult({..._0x1918b3,'planFile':{'path':_0xc48a93,'createdAt':_0x451a7f['createdAt'],'expiresAt':_0x451a7f['expiresAt']}});return menuDryRunResult(_0x7e0a91,{'method':'POST','url':'/smartapi/menu/batchDelete','body':{'idList':_0x7e0a91[_0x28b8b1(0x9b)]},'description':_0x28b8b1(0xd4)+(_0x7e0a91[_0x28b8b1(0x9b)]?.[_0x28b8b1(0xc0)]??0x1)+_0x28b8b1(0x9a)+_0x7e0a91['selector']['id']+_0x28b8b1(0x8c)+_0xc48a93+'.'});},async 'execute'(_0x5219f2){const _0x41f997=a108_0x42aa36;requireExplicitYes(_0x5219f2),validateDeleteExecuteInput(_0x5219f2);const _0x4cbf8f=await readMenuDeletePlan(_0x5219f2[_0x41f997(0xd2)](_0x41f997(0xee))),_0x2bf237=mutationPlanFromDeleteFile(_0x4cbf8f[_0x41f997(0xee)],_0x4cbf8f['path']),_0x455d32=_0x4cbf8f['plan']['target']['id'];try{assertMenuDeletePlanExecutable(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)]);}catch(_0x47958e){throw menuFailure(asMenuError(_0x47958e),_0x2bf237,{'stage':_0x41f997(0x81),'failed':{'id':_0x455d32}});}let _0x809127,_0x292e84;try{_0x809127=await fetchMutationSnapshot(_0x5219f2,_0x41f997(0xe7),_0x455d32),_0x292e84=assertMenuDeletePlanCurrent(_0x4cbf8f[_0x41f997(0xee)],_0x5219f2[_0x41f997(0x9d)],_0x809127),assertDeleteTargetsComplete(_0x4cbf8f[_0x41f997(0xee)],_0x809127),_0x292e84[_0x41f997(0xac)](_0x1700ba=>assertDeleteSafety(_0x1700ba,_0x4cbf8f[_0x41f997(0xee)][_0x41f997(0xf0)])),assertNoSharedPages(_0x809127,_0x292e84),assertCascadeMatchesPlan(_0x2bf237,_0x292e84);}catch(_0x54f6df){throw menuFailure(asMenuError(_0x54f6df),_0x2bf237,{'stage':_0x41f997(0xe0),'failed':{'id':_0x455d32}});}const _0x3cfcaf=_0x4cbf8f[_0x41f997(0xee)]['deleteOrder'];let _0x1ffe1a;try{_0x1ffe1a=await batchDeleteMenuEntities(_0x5219f2[_0x41f997(0x92)],_0x3cfcaf);}catch(_0x1c1b5a){const _0x22072a=mapMenuApiError(_0x1c1b5a,_0x41f997(0xda)),_0x3cdafc=[_0x41f997(0xd1)];let _0x5a06ba;try{_0x5a06ba=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x3a5d03){const _0x1ac8e2=describeMenuErrorCause(_0x3a5d03,'read\x20menu\x20state\x20after\x20batch\x20delete\x20failure',_0x455d32);_0x3cdafc[_0x41f997(0x80)](_0x41f997(0xed)+_0x1ac8e2['causeCode']+'):\x20'+_0x1ac8e2[_0x41f997(0xa4)]);throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'failed':{'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x1ac8e2},'warnings':_0x3cdafc,'verification':{'status':_0x41f997(0x93),'lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0x22072a,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x5a06ba['absentIds'][_0x41f997(0xa9)](_0x1157ea=>({'id':_0x1157ea,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'absentIds':_0x5a06ba['absentIds'],'remainingIds':_0x5a06ba[_0x41f997(0xd7)]},'warnings':_0x3cdafc,'verification':verificationFromOutcome(_0x5a06ba)});}if(_0x1ffe1a!==_0x3cfcaf[_0x41f997(0xc0)]){const _0xe2760c=menuError(_0x41f997(0xaa),'Backend\x20reported\x20'+_0x1ffe1a+'\x20deleted\x20menus;\x20expected\x20'+_0x3cfcaf[_0x41f997(0xc0)]+'.',_0x41f997(0x9c)),_0x40bc3e=[_0x41f997(0xd9)];let _0x56b86a;try{_0x56b86a=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x579562){const _0x527fc2=describeMenuErrorCause(_0x579562,_0x41f997(0x8e),_0x455d32);_0x40bc3e[_0x41f997(0x80)](_0x41f997(0x89)+_0x527fc2[_0x41f997(0xaf)]+_0x41f997(0xa0)+_0x527fc2[_0x41f997(0xa4)]);throw menuFailure(_0xe2760c,_0x2bf237,{'stage':'batch-delete','failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'targetIdsAbsent':_0x41f997(0x82),..._0x527fc2},'warnings':_0x40bc3e,'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}throw menuFailure(_0xe2760c,_0x2bf237,{'stage':_0x41f997(0xe5),'succeeded':_0x56b86a[_0x41f997(0xa6)][_0x41f997(0xa9)](_0x45351b=>({'id':_0x45351b,'deleted':!![]})),'failed':{'targetIds':_0x3cfcaf,'expectedCount':_0x3cfcaf[_0x41f997(0xc0)],'reportedDeletedCount':_0x1ffe1a,'absentIds':_0x56b86a[_0x41f997(0xa6)],'remainingIds':_0x56b86a[_0x41f997(0xd7)]},'warnings':_0x40bc3e,'verification':verificationFromOutcome(_0x56b86a)});}let _0xeb7ae;try{_0xeb7ae=await readDeleteOutcome(_0x5219f2,_0x3cfcaf);}catch(_0x35b5e4){const _0x5c7de6=describeMenuErrorCause(_0x35b5e4,'verify\x20batch\x20delete',_0x455d32),_0x13ebe3=asVerificationError(_0x35b5e4,_0x41f997(0x83)+_0x455d32+_0x41f997(0xb0));throw menuFailure(_0x13ebe3,_0x2bf237,{'stage':'verification','succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x3b359c=>({'id':_0x3b359c,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'targetIdsAbsent':'unconfirmed',..._0x5c7de6},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':_0x41f997(0x7d),'targetIds':_0x3cfcaf}});}if(_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xc0)]>0x0){const _0x26a3dd=menuError(_0x41f997(0x90),_0x41f997(0xf1)+_0xeb7ae[_0x41f997(0xd7)][_0x41f997(0xbd)](',\x20')+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.');throw menuFailure(_0x26a3dd,_0x2bf237,{'stage':_0x41f997(0xd8),'succeeded':_0x3cfcaf[_0x41f997(0xa9)](_0x5b26d9=>({'id':_0x5b26d9,'deleteRequested':!![]})),'failed':{'id':_0x455d32,'targetIds':_0x3cfcaf,'absentIds':_0xeb7ae[_0x41f997(0xa6)],'remainingIds':_0xeb7ae[_0x41f997(0xd7)]},'warnings':[_0x41f997(0x8b)],'verification':verificationFromOutcome(_0xeb7ae)});}const _0x24c3c6=_0x3cfcaf[_0x41f997(0xa9)](_0x3209f3=>({'id':_0x3209f3,'deleted':!![]})),_0x2b762f=mutationResult({..._0x2bf237,'dryRun':![],'succeeded':_0x24c3c6,'verification':{'checkedBy':_0x41f997(0x98),'plannedSnapshotHash':_0x2bf237[_0x41f997(0x94)],'finalSnapshotHash':_0xeb7ae['snapshot'][_0x41f997(0xa2)],'reportedDeletedCount':_0x1ffe1a,'targetAbsent':!_0xeb7ae[_0x41f997(0x96)][_0x41f997(0xdb)][_0x41f997(0xb9)](_0x455d32),'allTargetsAbsent':!![],'targetIds':_0x3cfcaf}});return{'ok':!![],'data':_0x2b762f,'message':_0x41f997(0xc2)+_0x24c3c6[_0x41f997(0xc0)]+_0x41f997(0x9a)+_0x455d32+'.'};}};async function readDeleteOutcome(_0x51c05e,_0x4f804f){const _0x57d364=a108_0x42aa36,_0x476d3a=await fetchMenuSnapshot(_0x51c05e[_0x57d364(0x9d)],_0x51c05e[_0x57d364(0x92)]);return{'snapshot':_0x476d3a,'absentIds':_0x4f804f[_0x57d364(0xcf)](_0x306a8d=>!_0x476d3a['byId'][_0x57d364(0xb9)](_0x306a8d)),'remainingIds':_0x4f804f[_0x57d364(0xcf)](_0x152e0b=>_0x476d3a[_0x57d364(0xdb)]['has'](_0x152e0b))};}function verificationFromOutcome(_0x172b47){const _0xf493cc=a108_0x42aa36;return{'checkedBy':_0xf493cc(0x98),'absentIds':_0x172b47[_0xf493cc(0xa6)],'remainingIds':_0x172b47[_0xf493cc(0xd7)]};}function a108_0x248c(){const _0x3b92a6=['menu_tree_invalid','boolean','length','menu_page_shared','Deleted\x20','menu_delete_page_bound','childrenCount','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','menu_folder_has_resources','unknown','menu_plan_invalid','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','6736725nOawVN','resources','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','get','filter','plan\x20delete','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','str','3376064nTkgSd','Would\x20batch\x20delete\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','266286TFQhoS','remainingIds','verification','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','batch\x20delete','byId','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Recursive\x20menu\x20delete\x20plan\x20root\x20','resourcesValid','1867044vgkcSz','pre-write-plan-validation','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu','5WZVvmF','Folder\x20','batch-delete','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','execute\x20reviewed\x20delete\x20plan','\x20has\x20','\x20is\x20type\x20\x22','\x20and\x20cannot\x20be\x20deleted\x20safely.','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','expect-path','Post-failure\x20menu\x20readback\x20failed\x20(','plan','add','recursive','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','\x20still\x20references\x20','\x20is\x20not\x20a\x20folder.','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','POST','rabetbase\x20menu\x20list\x20--format\x20json','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','34989rEmFOM','push','plan-validation','unconfirmed','Batch\x20delete\x20request\x20for\x20menu\x20','701172VaIWMh','type','validation','38HJExik','menu_folder_resources_invalid','Post-mismatch\x20menu\x20readback\x20failed\x20(','4617074ZZIhKQ','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.',';\x20execution\x20must\x20consume\x20','dry-run','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','target','menu_verification_failed','folder','cookie','failed','snapshotHash','high-risk-write','snapshot','string','menu\x20list','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','\x20menu(s)\x20under\x20exact\x20id\x20','deleteOrder','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','appCode','delete','trim','):\x20','menu_non_empty','hash','Menu\x20','causeMessage','pages','absentIds','toLowerCase','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','map','menu_batch_delete_count_mismatch','pageId','forEach','menus','stringify','causeCode','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','expected-children-count','cascade','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','batch-delete-menu','plan-out','has','size','childrenIds','/smartapi/menu/batchDelete','join'];a108_0x248c=function(){return _0x3b92a6;};return a108_0x248c();}function validateDeleteDryRunInput(_0x7438a9){const _0x3d3a4f=a108_0x42aa36;validateExactId(_0x7438a9);if(!hasFlag(_0x7438a9,_0x3d3a4f(0xb8))||!_0x7438a9['str'](_0x3d3a4f(0xb8))[_0x3d3a4f(0x9f)]())throw CliErrors['flagMissing']('plan-out','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.');if(hasFlag(_0x7438a9,_0x3d3a4f(0xee)))throw CliErrors['validation']('--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.');}function validateDeleteExecuteInput(_0x2a0eee){const _0x2c8ccf=a108_0x42aa36;if(!hasFlag(_0x2a0eee,_0x2c8ccf(0xee))||!_0x2a0eee['str'](_0x2c8ccf(0xee))[_0x2c8ccf(0x9f)]())throw CliErrors['flagMissing'](_0x2c8ccf(0xee),_0x2c8ccf(0x99));const _0x4a79a7=['id',_0x2c8ccf(0xf0),'plan-out','expect-parent-id',_0x2c8ccf(0xec),_0x2c8ccf(0xb4)][_0x2c8ccf(0xcf)](_0x421147=>hasFlag(_0x2a0eee,_0x421147));if(_0x4a79a7[_0x2c8ccf(0xc0)]>0x0)throw CliErrors[_0x2c8ccf(0x86)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4a79a7[_0x2c8ccf(0xa9)](_0x3c3c74=>'--'+_0x3c3c74)[_0x2c8ccf(0xbd)](',\x20')+'.');}async function buildDeletePlan(_0x26f416){const _0x402484=a108_0x42aa36,_0x4744cd=validateExactId(_0x26f416),_0x10e05a=await fetchMutationSnapshot(_0x26f416,_0x402484(0xd0),_0x4744cd),_0x186c81=requireMenu(_0x10e05a,_0x4744cd);assertExpectedState(_0x26f416,_0x186c81);const _0x3c9ca8=_0x26f416['bool']('recursive');let _0x440d1a;if(_0x3c9ca8){if(_0x186c81[_0x402484(0x85)]['trim']()[_0x402484(0xa7)]()!==_0x402484(0x91))throw menuError('menu_recursive_requires_folder','Menu\x20'+_0x186c81['id']+_0x402484(0xe9)+(_0x186c81[_0x402484(0x85)]||_0x402484(0xc7))+_0x402484(0xe6));_0x440d1a=collectDeleteTargets(_0x10e05a,_0x186c81),_0x440d1a[_0x402484(0xac)](_0x83548e=>assertDeleteSafety(_0x83548e,!![]));}else assertDeleteSafety(_0x186c81),_0x440d1a=[_0x186c81];assertNoSharedPages(_0x10e05a,_0x440d1a);const _0x5cdea8=_0x440d1a[_0x402484(0xa9)](_0x3511c5=>_0x3511c5['id']),_0x286103=cascadeForTargets(_0x440d1a),_0x3cf8f5=_0x286103[_0x402484(0xa5)]['length']>0x0?[_0x402484(0x7e)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x4744cd,'recursive':_0x3c9ca8},'before':_0x186c81,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x402484(0xb7),'method':_0x402484(0x7c),'path':_0x402484(0xbc),'body':{'idList':_0x5cdea8}}],'targets':_0x440d1a,'deleteOrder':_0x5cdea8,'snapshotHash':_0x10e05a['hash'],'cascade':_0x286103,'warnings':_0x3cf8f5});}function assertDeleteSafety(_0x4ebabd,_0x412a95=![]){const _0x462534=a108_0x42aa36,_0x58d9ee=_0x4ebabd[_0x462534(0x85)]['trim']()['toLowerCase']()===_0x462534(0x91);if(_0x4ebabd[_0x462534(0xc4)]>0x0&&(!_0x412a95||!_0x58d9ee))throw menuError(_0x462534(0xa1),_0x462534(0xa3)+_0x4ebabd['id']+_0x462534(0xe8)+_0x4ebabd[_0x462534(0xc4)]+_0x462534(0xb2),_0x462534(0xb3)+_0x4ebabd['childrenIds'][_0x462534(0xbd)](',\x20'));if(_0x58d9ee&&_0x4ebabd[_0x462534(0xab)]!=null)throw menuError(_0x462534(0xc3),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xd5)+_0x4ebabd[_0x462534(0xab)]+_0x462534(0xea),_0x462534(0xb6));if(!_0x58d9ee)return;if(!_0x4ebabd[_0x462534(0xde)])throw menuError(_0x462534(0x88),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0xeb),_0x462534(0xcd));if(_0x4ebabd[_0x462534(0xcb)]['length']>0x0)throw menuError(_0x462534(0xc6),_0x462534(0xe4)+_0x4ebabd['id']+_0x462534(0x77)+_0x4ebabd['resources'][_0x462534(0xc0)]+'\x20resource\x20URL(s).',_0x462534(0x79));}function collectDeleteTargets(_0xd69062,_0x3212ed){const _0x3a3617=[],_0x47e2cd=new Set(),_0x4b25fd=new Set(),_0x112b6f=_0x4ee43a=>{const _0x3ae775=a108_0x36d9;if(_0x47e2cd['has'](_0x4ee43a['id']))throw menuError(_0x3ae775(0xbe),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x4ee43a['id']+'.');if(_0x4b25fd[_0x3ae775(0xb9)](_0x4ee43a['id']))return;_0x47e2cd[_0x3ae775(0xef)](_0x4ee43a['id']);for(const _0x57ad91 of _0x4ee43a[_0x3ae775(0xbb)]){const _0x48af25=_0xd69062['byId'][_0x3ae775(0xce)](_0x57ad91);if(!_0x48af25)throw menuError(_0x3ae775(0xbe),_0x3ae775(0xa3)+_0x4ee43a['id']+'\x20references\x20missing\x20child\x20'+_0x57ad91+'.');_0x112b6f(_0x48af25);}_0x47e2cd[_0x3ae775(0x9e)](_0x4ee43a['id']),_0x4b25fd['add'](_0x4ee43a['id']),_0x3a3617['push'](_0x4ee43a);};return _0x112b6f(_0x3212ed),_0x3a3617;}function assertDeleteTargetsComplete(_0x2ba81c,_0x491779){const _0x171534=a108_0x42aa36,_0x4b79bd=requireMenu(_0x491779,_0x2ba81c[_0x171534(0x8f)]['id']);if(_0x2ba81c[_0x171534(0xf0)]&&_0x4b79bd[_0x171534(0x85)][_0x171534(0x9f)]()[_0x171534(0xa7)]()!==_0x171534(0x91))throw menuError(_0x171534(0xc8),_0x171534(0xdd)+_0x4b79bd['id']+_0x171534(0x78));const _0x2f0027=_0x2ba81c['recursive']?collectDeleteTargets(_0x491779,_0x4b79bd)[_0x171534(0xa9)](_0x2eae37=>_0x2eae37['id']):[_0x4b79bd['id']];if(JSON[_0x171534(0xae)](_0x2ba81c[_0x171534(0x9b)])!==JSON[_0x171534(0xae)](_0x2f0027))throw menuError('menu_plan_invalid',_0x171534(0xa8),_0x171534(0x7b));}function assertNoSharedPages(_0x545fff,_0x1c1d8f){const _0x3f7daf=a108_0x42aa36,_0x2c9a92=new Set(_0x1c1d8f['map'](_0x244fbb=>_0x244fbb['id'])),_0x32f1f2=new Set(_0x1c1d8f[_0x3f7daf(0xa9)](_0xa54085=>_0xa54085[_0x3f7daf(0xab)])[_0x3f7daf(0xcf)](_0x588d84=>_0x588d84!=null));if(_0x32f1f2[_0x3f7daf(0xba)]===0x0)return;const _0x2b5aeb=_0x545fff[_0x3f7daf(0xad)]['filter'](_0x3239a0=>!_0x2c9a92[_0x3f7daf(0xb9)](_0x3239a0['id'])&&_0x3239a0[_0x3f7daf(0xab)]!=null&&_0x32f1f2[_0x3f7daf(0xb9)](_0x3239a0[_0x3f7daf(0xab)]));if(_0x2b5aeb[_0x3f7daf(0xc0)]===0x0)return;const _0x3f5cb8=_0x2b5aeb[_0x3f7daf(0xa9)](_0x3d0e25=>'page\x20'+_0x3d0e25['pageId']+'\x20->\x20menu\x20'+_0x3d0e25['id'])['join'](',\x20');throw menuError(_0x3f7daf(0xc1),_0x3f7daf(0x7a)+_0x3f5cb8+'.',_0x3f7daf(0xb1));}function assertCascadeMatchesPlan(_0x9ec973,_0x1c2101){const _0x1e05a8=a108_0x42aa36,_0x499d5b=cascadeForTargets(_0x1c2101);if(JSON['stringify'](_0x9ec973[_0x1e05a8(0xb5)])!==JSON[_0x1e05a8(0xae)](_0x499d5b))throw menuError(_0x1e05a8(0xc8),_0x1e05a8(0xcc));}function cascadeForTargets(_0x5c5705){const _0x38ed86=a108_0x42aa36,_0x944734=_0x5c5705['map'](_0x19f16e=>_0x19f16e[_0x38ed86(0xab)])[_0x38ed86(0xcf)](_0x3f48c6=>_0x3f48c6!=null)[_0x38ed86(0xcf)]((_0x230a5e,_0x512d8e,_0x101a07)=>_0x101a07['indexOf'](_0x230a5e)===_0x512d8e);return{'pages':_0x944734,'pageSchemaAffected':_0x944734[_0x38ed86(0xc0)]>0x0};}function asMenuError(_0x16974f){const _0x41320c=a108_0x42aa36;return _0x16974f instanceof CliError?_0x16974f:menuError(_0x41320c(0xc8),_0x16974f instanceof Error?_0x16974f['message']:String(_0x16974f));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_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_0xd2b4ac=a109_0x4ccc;(function(_0x214ced,_0x53e2a1){const _0x50b1cc=a109_0x4ccc,_0x224d3a=_0x214ced();while(!![]){try{const _0x23e13f=-parseInt(_0x50b1cc(0xfd))/0x1*(parseInt(_0x50b1cc(0xf9))/0x2)+-parseInt(_0x50b1cc(0x12d))/0x3+parseInt(_0x50b1cc(0x138))/0x4+-parseInt(_0x50b1cc(0xd2))/0x5+-parseInt(_0x50b1cc(0x119))/0x6+parseInt(_0x50b1cc(0xd6))/0x7*(parseInt(_0x50b1cc(0xeb))/0x8)+parseInt(_0x50b1cc(0xf6))/0x9*(parseInt(_0x50b1cc(0x134))/0xa);if(_0x23e13f===_0x53e2a1)break;else _0x224d3a['push'](_0x224d3a['shift']());}catch(_0x270fa2){_0x224d3a['push'](_0x224d3a['shift']());}}}(a109_0x386f,0x889f2));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':'link'};function a109_0x386f(){const _0x436321=['label','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','replace','hasOwnProperty','fromEntries','menu_sort_invalid','<platform-generated>','\x27\x5c\x27\x27','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','POST','create\x20external\x20menu','visible','embedded','rawerror','readbackerror','\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.','succeeded','map','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','create-menu','length','recovered','URL','5091265WgPzOF','menu_url_invalid','Created\x20external\x20menu\x20','username','253687NwNkKq','byId','cause','open-mode','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','menu_not_found','new-window','Would\x20create\x20external\x20website\x20link\x20menu\x20','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','toLowerCase','after','hash','call','\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.','flagMissing','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','cookie','verification','menu_url_credentials_forbidden','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','filter','136gGpQTP','\x20with\x20','plan','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','prototype','password','add','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','data','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','873aBOKqM','code','path','2SXCLSE','isSafeInteger','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','fact','737131Nddqdy','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','write','menus','get','menu_permission_denied','parentId','protocol','external-link-create','expectedPath','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','\x20--format\x20compress','menu_sort_overflow','string','\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.','snapshot','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','visibility','Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.','rawFlags','menu_mutation_failed','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','menu','pre-write-recheck','str','/smartapi/menu/create','has','Whether\x20the\x20menu\x20is\x20visible','1307532XADbJS','currentSnapshotHash','\x20after\x20response\x20loss.','menu_parent_not_folder','type','menu_url_https_required','Recovered\x20created\x20external\x20menu\x20','menu_create_response_invalid','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','entries','createdId','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','isArray','parent-id','Provide\x20an\x20HTTPS\x20URL.','before','failed','url','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','1659111iFoxyS','Created\x20menu\x20','boolean','expectedSnapshotHash','trim','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','239980HrTUTY','\x20failed\x20final\x20verification.','Run\x20','External\x20menu\x20URL\x20must\x20use\x20HTTPS.','568168trHcHn','body','sort','object','menu_create_recovery_required','parent','Menu\x20','create','menu_verification_failed','afterPlan','rabetbase\x20menu\x20list\x20--appcode\x20','appCode','lookupCommand','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','Menu\x20label'];a109_0x386f=function(){return _0x436321;};return a109_0x386f();}export function validateExternalMenuUrl(_0x56bdab){const _0x270af0=a109_0x4ccc,_0x56e545=_0x56bdab[_0x270af0(0x131)]();let _0xf448d9;try{_0xf448d9=new URL(_0x56e545);}catch{throw menuError(_0x270af0(0xd3),'External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.',_0x270af0(0x12c));}if(_0xf448d9[_0x270af0(0x104)]!=='https:')throw menuError(_0x270af0(0x11e),_0x270af0(0x137),_0x270af0(0x128));if(_0xf448d9[_0x270af0(0xd5)]||_0xf448d9[_0x270af0(0xf0)])throw menuError(_0x270af0(0xe8),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x270af0(0xf2));return _0x56e545;}export const menuExternalLinkCreate={'service':'menu','command':a109_0xd2b4ac(0x105),'description':'Create\x20an\x20external\x20website\x20link\x20menu','risk':a109_0xd2b4ac(0xff),'structuredErrors':!![],'flags':[{'name':a109_0xd2b4ac(0x147),'type':'string','required':!![],'description':a109_0xd2b4ac(0x146)},{'name':'open-mode','type':a109_0xd2b4ac(0x10a),'required':!![],'enum':[a109_0xd2b4ac(0xc7),a109_0xd2b4ac(0xdc)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a109_0xd2b4ac(0x12b),'type':a109_0xd2b4ac(0x10a),'required':!![],'description':'External\x20HTTPS\x20URL'},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0xd2b4ac(0xc6),'type':a109_0xd2b4ac(0x12f),'default':!![],'description':a109_0xd2b4ac(0x118)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0xf93ee7){validateAddInput(_0xf93ee7);},async 'dryRun'(_0x5f31b3){const _0x591124=a109_0xd2b4ac;validateAddInput(_0x5f31b3);const {plan:_0x34e7ea}=await buildSafeAddPlan(_0x5f31b3,!![]),_0x2f20e3=_0x34e7ea['after'],_0x51a86f=createBody(_0x2f20e3);return menuDryRunResult(_0x34e7ea,{'method':_0x591124(0x150),'url':_0x591124(0x116),'body':_0x51a86f,'description':_0x591124(0xdd)+JSON['stringify'](_0x2f20e3[_0x591124(0x147)])+_0x591124(0xec)+_0x5f31b3[_0x591124(0x115)]('open-mode')+_0x591124(0xe3)});},async 'execute'(_0x15b38a){const _0x42e81b=a109_0xd2b4ac;validateAddInput(_0x15b38a);const _0x4358ca=await buildSafeAddPlan(_0x15b38a,![]),{plan:_0x3cf70c,snapshot:_0x1ccc5c}=_0x4358ca,_0xf374ce=_0x3cf70c[_0x42e81b(0xe0)],_0x278a42=buildMenuLookupCommand(_0x15b38a[_0x42e81b(0x143)]);await recheckAddSnapshot(_0x15b38a,_0x3cf70c);let _0x4e4413;try{_0x4e4413=await createMenuEntity(_0x15b38a['appCode'],_0x15b38a[_0x42e81b(0xe6)],createBody(_0xf374ce));}catch(_0x3ba1d8){const _0x294d9d=mapMenuApiError(_0x3ba1d8,_0x42e81b(0xc5));if(!isMenuResponseLoss(_0x3ba1d8)||_0x294d9d[_0x42e81b(0xf7)]===_0x42e81b(0x102))throw externalLinkCreateFailure(_0x294d9d,_0x3cf70c,{'stage':_0x42e81b(0x13f),'failed':{},'verification':{'status':'failed','lookupCommand':_0x278a42}});return recoverAfterResponseLoss(_0x15b38a,_0x4358ca,_0x278a42);}const _0x2da49d=Number(_0x4e4413?.['id']),_0x129012=typeof _0x4e4413?.[_0x42e81b(0xf8)]===_0x42e81b(0x10a)?_0x4e4413[_0x42e81b(0xf8)]:'';if(!Number[_0x42e81b(0xfa)](_0x2da49d)||_0x2da49d<=0x0||!_0x129012['trim']()){const _0x5d6737=menuError('menu_create_response_invalid',_0x42e81b(0xda),_0x42e81b(0x136)+_0x278a42+'\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.');throw externalLinkCreateFailure(_0x5d6737,_0x3cf70c,{'stage':'create-response-validation','succeeded':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?[{'id':_0x2da49d,'created':!![]}]:[],'failed':{'createdId':Number[_0x42e81b(0xfa)](_0x2da49d)?_0x2da49d:null,'generatedPathConfirmed':Boolean(_0x129012[_0x42e81b(0x131)]())},'warnings':[_0x42e81b(0xee)],'after':Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{..._0xf374ce,'id':_0x2da49d,'path':_0x129012}:_0xf374ce,'verification':{'status':_0x42e81b(0x12a),'lookupCommand':_0x278a42,...Number[_0x42e81b(0xfa)](_0x2da49d)&&_0x2da49d>0x0?{'targetId':_0x2da49d}:{}}});}const _0x360395=await readAndVerifyCreatedMenu({'appCode':_0x15b38a['appCode'],'cookie':_0x15b38a[_0x42e81b(0xe6)],'plan':_0x3cf70c,'afterPlan':_0xf374ce,'createdId':_0x2da49d,'expectedPath':_0x129012,'lookupCommand':_0x278a42,'recovered':![]});return creationSuccess(_0x3cf70c,_0x360395[_0x42e81b(0x10c)],_0x360395[_0x42e81b(0xfc)],![]);}};function validateAddInput(_0x325906){const _0x1f6936=a109_0xd2b4ac;if(!_0x325906['str'](_0x1f6936(0x147))['trim']())throw CliErrors[_0x1f6936(0xe4)]('label');resolveExternalMenuType(_0x325906),validateExternalMenuUrl(_0x325906[_0x1f6936(0x115)](_0x1f6936(0x12b))),parseParentId(_0x325906,'parent-id'),validateSort(_0x325906);}function resolveExternalMenuType(_0x19825b){const _0x16b43d=a109_0xd2b4ac,_0x376a89=_0x19825b[_0x16b43d(0x115)](_0x16b43d(0xd9))[_0x16b43d(0x131)]();if(!_0x376a89)throw CliErrors['flagMissing'](_0x16b43d(0xd9));const _0x4308c5=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x376a89];if(!_0x4308c5)throw menuError('menu_open_mode_invalid','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.',_0x16b43d(0xe9));return _0x4308c5;}async function buildAddPlan(_0x1a0ed7,_0x2ed03e){const _0x2461ca=a109_0xd2b4ac,_0x1c85fe=await fetchMutationSnapshot(_0x1a0ed7,_0x2461ca(0xc5)),_0x4bd78f=parseParentId(_0x1a0ed7,_0x2461ca(0x127))??null;if(_0x4bd78f!=null)requireFolder(_0x1c85fe,_0x4bd78f);const _0x5d7806=validateSort(_0x1a0ed7),_0x1591b2=_0x5d7806??nextSiblingSort(_0x1c85fe,_0x4bd78f,_0x2461ca(0x113)),_0x4fbbf6=_0x1a0ed7[_0x2461ca(0x115)](_0x2461ca(0x147))[_0x2461ca(0x131)](),_0x56bb7c=resolveExternalMenuType(_0x1a0ed7),_0x5c6a68=validateExternalMenuUrl(_0x1a0ed7['str'](_0x2461ca(0x12b))),_0x2cc434=Object[_0x2461ca(0xef)][_0x2461ca(0x14a)][_0x2461ca(0xe2)](_0x1a0ed7[_0x2461ca(0x110)],_0x2461ca(0xc6))?_0x1a0ed7['bool'](_0x2461ca(0xc6)):!![],_0x4e08b6={'id':null,'parentId':_0x4bd78f,'label':_0x4fbbf6,'path':_0x2461ca(0x14d),'url':_0x5c6a68,'type':_0x56bb7c,'visible':_0x2cc434,'sort':_0x1591b2},_0x2d6ecd=buildMenuLookupCommand(_0x1a0ed7['appCode']),_0x34a3d1=mutationResult({'operation':_0x2461ca(0xf1),'selector':{'parentId':_0x4bd78f,'type':_0x56bb7c,'label':_0x4fbbf6,'url':_0x5c6a68},'before':null,'after':_0x4e08b6,'dryRun':_0x2ed03e,'backend':[{'method':_0x2461ca(0x150),'path':'/smartapi/menu/create'}],'plannedActions':[{'stage':_0x2461ca(0xce),'method':'POST','path':_0x2461ca(0x116),'body':createBody(_0x4e08b6)}],'snapshotHash':_0x1c85fe[_0x2461ca(0xe1)],'warnings':[_0x2461ca(0xf5)],'verification':{'lookupCommand':_0x2d6ecd}});return{'plan':_0x34a3d1,'snapshot':_0x1c85fe};}async function buildSafeAddPlan(_0x1c43fa,_0x44c2e0){try{return await buildAddPlan(_0x1c43fa,_0x44c2e0);}catch(_0x23f85c){throw safeMenuAddError(_0x23f85c);}}async function recheckAddSnapshot(_0x10657f,_0x564642){const _0x4949ac=a109_0xd2b4ac;try{await recheckMutationSnapshot(_0x10657f,_0x564642,_0x4949ac(0xc5));}catch(_0x30e26d){const _0x21a5bf=getFailureRecord(_0x30e26d);throw externalLinkCreateFailure(_0x30e26d,_0x564642,{'stage':_0x4949ac(0x114),'failed':{..._0x21a5bf?.[_0x4949ac(0x130)]?{'expectedSnapshotHash':_0x21a5bf['expectedSnapshotHash']}:{},..._0x21a5bf?.['currentSnapshotHash']?{'currentSnapshotHash':_0x21a5bf[_0x4949ac(0x11a)]}:{}}});}}function createBody(_0x5d439b){const _0x4c6f3f=a109_0xd2b4ac;return{'parentId':toApiParentId(_0x5d439b[_0x4c6f3f(0x103)]),'label':String(_0x5d439b[_0x4c6f3f(0x147)]),'type':String(_0x5d439b['type']),'url':String(_0x5d439b[_0x4c6f3f(0x12b)]),'visible':Boolean(_0x5d439b[_0x4c6f3f(0xc6)]),'sort':Number(_0x5d439b[_0x4c6f3f(0x13a)]),'extend':{}};}function buildMenuLookupCommand(_0x2b3059){const _0x49afa5=a109_0xd2b4ac,_0x4d6803='\x27'+_0x2b3059[_0x49afa5(0x149)](/'/g,_0x49afa5(0x14e))+'\x27';return _0x49afa5(0x142)+_0x4d6803+_0x49afa5(0x108);}async function recoverAfterResponseLoss(_0x576396,_0x16af81,_0x3d2c3e){const _0x305939=a109_0xd2b4ac,{plan:_0x435b97,snapshot:_0xd66b70}=_0x16af81,_0x17af4d=_0x435b97[_0x305939(0xe0)];let _0xa35a1c;try{_0xa35a1c=await fetchMenuSnapshot(_0x576396['appCode'],_0x576396[_0x305939(0xe6)]);}catch(_0x260be3){throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0xa0cec5=_0xa35a1c[_0x305939(0x100)][_0x305939(0xea)](_0x45af86=>_0x45af86[_0x305939(0x103)]===_0x17af4d['parentId']&&_0x45af86[_0x305939(0x11d)]===_0x17af4d[_0x305939(0x11d)]&&_0x45af86['label']===_0x17af4d[_0x305939(0x147)]&&_0x45af86['url']===_0x17af4d[_0x305939(0x12b)]),_0x51706c=_0xa0cec5[_0x305939(0xea)](_0x3cf384=>!_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x3cf384['id'])),_0x11dd13=_0xa0cec5[_0x305939(0xea)](_0x59d3e5=>_0xd66b70[_0x305939(0xd7)][_0x305939(0x117)](_0x59d3e5['id']));if(_0xa0cec5[_0x305939(0xcf)]!==0x1||_0x51706c[_0x305939(0xcf)]!==0x1)throw recoveryRequiredFailure(_0x435b97,_0x3d2c3e,{'matchCount':_0xa0cec5[_0x305939(0xcf)],'newMatchCount':_0x51706c[_0x305939(0xcf)],'preexistingMatchCount':_0x11dd13[_0x305939(0xcf)]});const _0xc50680=_0x51706c[0x0];try{verifyCreatedFact(_0xc50680,_0xc50680['id'],_0x17af4d,null);}catch(_0x1ea97e){const _0x2761dc=_0x1ea97e instanceof Error&&'code'in _0x1ea97e?_0x1ea97e:menuError(_0x305939(0x140),'Recovered\x20menu\x20'+_0xc50680['id']+'\x20could\x20not\x20be\x20verified.',_0x305939(0x136)+_0x3d2c3e+_0x305939(0xfe));throw externalLinkCreateFailure(_0x2761dc,_0x435b97,{'stage':_0x305939(0xe7),'succeeded':[{'id':_0xc50680['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0xc50680['id'],'finalFactsConfirmed':![]},'after':_0xc50680,'warnings':[_0x305939(0x13e)+_0xc50680['id']+_0x305939(0x10b)],'verification':{'status':'failed','targetId':_0xc50680['id'],'recovered':!![],'lookupCommand':_0x3d2c3e}});}return creationSuccess(_0x435b97,_0xa35a1c,_0xc50680,!![]);}function recoveryRequiredFailure(_0x11488b,_0x365b0b,_0x375e32){const _0xb93168=a109_0xd2b4ac,_0xd127dd=menuError(_0xb93168(0x13c),_0xb93168(0x145),_0xb93168(0x136)+_0x365b0b+_0xb93168(0x132));return externalLinkCreateFailure(_0xd127dd,_0x11488b,{'stage':'create-recovery','failed':_0x375e32,'warnings':[_0xb93168(0x112)],'verification':{'status':_0xb93168(0x12a),..._0x375e32,'lookupCommand':_0x365b0b}});}async function readAndVerifyCreatedMenu(_0x4ab959){const _0xad792=a109_0xd2b4ac;let _0x5bfd50;try{_0x5bfd50=await fetchMenuSnapshot(_0x4ab959[_0xad792(0x143)],_0x4ab959[_0xad792(0xe6)]);}catch(_0x3bc875){const _0x2a4e5c=menuError(_0xad792(0x140),_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xca),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x2a4e5c,_0x4ab959['plan'],{'stage':'verification','succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+_0xad792(0xfb)],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'lookupCommand':_0x4ab959['lookupCommand']}});}const _0x45e414=_0x5bfd50[_0xad792(0xd7)][_0xad792(0x101)](_0x4ab959[_0xad792(0x124)]);try{if(!_0x45e414)throw menuError('menu_verification_failed',_0xad792(0x12e)+_0x4ab959['createdId']+_0xad792(0xcd),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));verifyCreatedFact(_0x45e414,_0x4ab959[_0xad792(0x124)],_0x4ab959[_0xad792(0x141)],_0x4ab959[_0xad792(0x106)]);}catch(_0x40330e){const _0x48537d=_0x40330e instanceof Error&&_0xad792(0xf7)in _0x40330e?_0x40330e:menuError('menu_verification_failed','Created\x20menu\x20'+_0x4ab959[_0xad792(0x124)]+_0xad792(0x135),_0xad792(0x136)+_0x4ab959[_0xad792(0x144)]+_0xad792(0x14f));throw externalLinkCreateFailure(_0x48537d,_0x4ab959[_0xad792(0xed)],{'stage':_0xad792(0xe7),'succeeded':[{'id':_0x4ab959[_0xad792(0x124)],'created':!![]}],'failed':{'id':_0x4ab959[_0xad792(0x124)],'finalFactsConfirmed':![]},'after':_0x45e414??{..._0x4ab959[_0xad792(0x141)],'id':_0x4ab959[_0xad792(0x124)],'path':_0x4ab959[_0xad792(0x106)]},'warnings':[_0xad792(0x13e)+_0x4ab959[_0xad792(0x124)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0xad792(0x12a),'targetId':_0x4ab959[_0xad792(0x124)],'recovered':_0x4ab959[_0xad792(0xd0)],'lookupCommand':_0x4ab959[_0xad792(0x144)]}});}return{'snapshot':_0x5bfd50,'fact':_0x45e414};}function verifyCreatedFact(_0x2ae30c,_0x3227b9,_0x2aea2a,_0x15f495){const _0x508905=a109_0xd2b4ac;if(!Number[_0x508905(0xfa)](_0x2ae30c['id'])||_0x2ae30c['id']<=0x0||_0x2ae30c['id']!==_0x3227b9)throw menuError(_0x508905(0x140),'Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.',_0x508905(0x10f));const _0x45d81a=[[_0x508905(0x13d),_0x2ae30c[_0x508905(0x103)],_0x2aea2a[_0x508905(0x103)]],['type',_0x2ae30c[_0x508905(0x11d)],_0x2aea2a[_0x508905(0x11d)]],['label',_0x2ae30c[_0x508905(0x147)],_0x2aea2a['label']],[_0x508905(0xd1),_0x2ae30c['url'],_0x2aea2a[_0x508905(0x12b)]],[_0x508905(0x10e),_0x2ae30c['visible'],_0x2aea2a['visible']],[_0x508905(0x13a),_0x2ae30c[_0x508905(0x13a)],_0x2aea2a[_0x508905(0x13a)]]];for(const [_0x2efa5b,_0x2bebf8,_0x3f5a9f]of _0x45d81a){if(_0x2bebf8!==_0x3f5a9f)throw menuError('menu_verification_failed',_0x508905(0x12e)+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20'+_0x2efa5b+'.',_0x508905(0x10d));}if(!_0x2ae30c[_0x508905(0xf8)][_0x508905(0x131)]()||_0x15f495!==null&&_0x2ae30c[_0x508905(0xf8)]!==_0x15f495)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x2ae30c['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.');}function creationSuccess(_0x1d48af,_0x540f22,_0x2621e4,_0x25beea){const _0x1f4bf5=a109_0xd2b4ac,_0xe19d6b=mutationResult({..._0x1d48af,'after':_0x2621e4,'dryRun':![],'succeeded':[{'id':_0x2621e4['id'],'created':!![],'recovered':_0x25beea}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x540f22['hash'],'targetId':_0x2621e4['id'],'recovered':_0x25beea,'path':_0x2621e4[_0x1f4bf5(0xf8)]}});return{'ok':!![],'message':_0x25beea?_0x1f4bf5(0x11f)+_0x2621e4['id']+_0x1f4bf5(0x11b):_0x1f4bf5(0xd4)+_0x2621e4['id']+'.','data':{..._0xe19d6b,'recovered':_0x25beea}};}function externalLinkCreateFailure(_0x5b6305,_0x29ad8d,_0x4cb93c){const _0x17e1a3=a109_0xd2b4ac;return menuFailure(safeMenuAddError(_0x5b6305),redactFailurePlan(_0x29ad8d),{..._0x4cb93c,'succeeded':_0x4cb93c[_0x17e1a3(0xcb)]?.[_0x17e1a3(0xcc)](redactFailureRecord),'failed':_0x4cb93c[_0x17e1a3(0x12a)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0x12a)]):undefined,'verification':_0x4cb93c[_0x17e1a3(0xe7)]?redactFailureRecord(_0x4cb93c[_0x17e1a3(0xe7)]):undefined,'after':_0x4cb93c['after']===undefined?undefined:redactFailureValue(_0x4cb93c[_0x17e1a3(0xe0)])});}function redactFailurePlan(_0x401ab4){const _0x1ceaa4=a109_0xd2b4ac;return{..._0x401ab4,'selector':redactFailureRecord(_0x401ab4['selector']),'before':redactFailureValue(_0x401ab4[_0x1ceaa4(0x129)]),'after':redactFailureValue(_0x401ab4[_0x1ceaa4(0xe0)]),'plannedActions':_0x401ab4['plannedActions']?.[_0x1ceaa4(0xcc)](_0x25a791=>({..._0x25a791,'body':redactFailureRecord(_0x25a791[_0x1ceaa4(0x139)])})),'succeeded':_0x401ab4['succeeded'][_0x1ceaa4(0xcc)](redactFailureRecord),'failed':_0x401ab4['failed'][_0x1ceaa4(0xcc)](redactFailureRecord),'verification':_0x401ab4[_0x1ceaa4(0xe7)]?redactFailureRecord(_0x401ab4[_0x1ceaa4(0xe7)]):undefined};}function redactFailureRecord(_0x327eaa){return redactFailureValue(_0x327eaa);}function a109_0x4ccc(_0x42bbf8,_0x24c634){_0x42bbf8=_0x42bbf8-0xc5;const _0x386fc2=a109_0x386f();let _0x4ccc73=_0x386fc2[_0x42bbf8];return _0x4ccc73;}function redactFailureValue(_0x2e2a60,_0x273354=''){const _0xb96dc9=a109_0xd2b4ac,_0x3918f7=_0x273354[_0xb96dc9(0xdf)]()[_0xb96dc9(0x149)](/[^a-z0-9]/g,'');if([_0xb96dc9(0xd8),'causemessage',_0xb96dc9(0xc9),_0xb96dc9(0xc8)]['includes'](_0x3918f7))return'<redacted>';if(Array[_0xb96dc9(0x126)](_0x2e2a60))return _0x2e2a60[_0xb96dc9(0xcc)](_0x460ec0=>redactFailureValue(_0x460ec0));if(_0x2e2a60&&typeof _0x2e2a60===_0xb96dc9(0x13b))return Object[_0xb96dc9(0x14b)](Object[_0xb96dc9(0x123)](_0x2e2a60)[_0xb96dc9(0xcc)](([_0x581a23,_0x131493])=>[_0x581a23,redactFailureValue(_0x131493,_0x581a23)]));return _0x2e2a60;}function safeMenuAddError(_0x359169){const _0x52158f=a109_0xd2b4ac,_0x257698=_0x359169 instanceof CliError?_0x359169[_0x52158f(0xf7)]:_0x52158f(0x111);switch(_0x257698){case'menu_state_drift':return menuError(_0x257698,_0x52158f(0x122),_0x52158f(0x133));case _0x52158f(0x102):return menuError(_0x257698,_0x52158f(0x148),_0x52158f(0x121));case _0x52158f(0x120):return menuError(_0x257698,_0x52158f(0xde),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x257698,_0x52158f(0xe5),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_create_recovery_required':return menuError(_0x257698,_0x52158f(0x107),_0x52158f(0x125));case _0x52158f(0x111):case _0x52158f(0xdb):case _0x52158f(0x11c):case _0x52158f(0x14c):case _0x52158f(0x109):return menuError(_0x257698,'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));default:return menuError(_0x52158f(0x111),'External\x20menu\x20creation\x20failed.',_0x52158f(0xf3));}}function getFailureRecord(_0x2eb8b8){const _0x373c16=a109_0xd2b4ac;if(!(_0x2eb8b8 instanceof Error)||!(_0x373c16(0xf4)in _0x2eb8b8))return undefined;const _0x50e6a4=_0x2eb8b8['data'];if(!_0x50e6a4||typeof _0x50e6a4!==_0x373c16(0x13b))return undefined;const _0x385cf=_0x50e6a4[_0x373c16(0x12a)];if(!Array[_0x373c16(0x126)](_0x385cf)||!_0x385cf[0x0]||typeof _0x385cf[0x0]!==_0x373c16(0x13b))return undefined;return _0x385cf[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_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
|
+
function a110_0x41d9(){const _0x5c1d46=['rabetbase\x20menu\x20list\x20--appcode\x20','2402770NyJvnt','245764wPBwOo','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','type','1019333joNJhZ','appCode','byId','menu_permission_denied','30OGSRCu','10IrRtnD','\x20could\x20not\x20be\x20verified\x20safely','str','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','\x22,\x20not\x20iframe\x20or\x20link.','menu_external_link_not_leaf','body','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','menu','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20has\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','string','45vyoPSR','menu\x20list','label','\x20changed\x20during\x20the\x20URL-only\x20update.','\x20URL\x20update\x20did\x20not\x20take\x20effect.','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','iframe','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','parentId','menu_state_drift','46746btlxlj','POST','path','expect-url','\x20--format\x20compress','/smartapi/menu/update','failed','hash','external-link-update','visible','Response\x20was\x20lost\x20and\x20menu\x20','Run\x20','9001NNHBPd','710280wCEcde','Update\x20request\x20for\x20menu\x20','44lArNQy','\x20already\x20matches\x20the\x20requested\x20URL.','\x20has\x20an\x20empty\x20platform\x20path.',',\x20current\x20','8UAgLso','sort','update\x20external\x20menu\x20URL','expect-parent-id','Menu\x20','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','flagMissing','7400364nlgGgT','cookie','get','\x27\x5c\x27\x27','update-recovery','update-external-link-url','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','childrenCount','\x20is\x20type\x20\x22','link','after','unknown','trim','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','readbackFailed','verify\x20external\x20menu\x20URL\x20update','verification','url','requestedUrlObserved','menu_update_recovery_required'];a110_0x41d9=function(){return _0x5c1d46;};return a110_0x41d9();}const a110_0x2233cd=a110_0x2d65;(function(_0x2615ce,_0xc9fb3d){const _0x293469=a110_0x2d65,_0x57461d=_0x2615ce();while(!![]){try{const _0x21cdb1=-parseInt(_0x293469(0x8b))/0x1*(-parseInt(_0x293469(0xb8))/0x2)+parseInt(_0x293469(0xb7))/0x3*(parseInt(_0x293469(0xaf))/0x4)+parseInt(_0x293469(0x72))/0x5*(-parseInt(_0x293469(0x7f))/0x6)+parseInt(_0x293469(0xb3))/0x7*(-parseInt(_0x293469(0x92))/0x8)+-parseInt(_0x293469(0x8c))/0x9+parseInt(_0x293469(0xae))/0xa*(parseInt(_0x293469(0x8e))/0xb)+-parseInt(_0x293469(0x99))/0xc;if(_0x21cdb1===_0xc9fb3d)break;else _0x57461d['push'](_0x57461d['shift']());}catch(_0x463906){_0x57461d['push'](_0x57461d['shift']());}}}(a110_0x41d9,0xad230));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';function a110_0x2d65(_0x3d8297,_0x190529){_0x3d8297=_0x3d8297-0x71;const _0x41d901=a110_0x41d9();let _0x2d65a0=_0x41d901[_0x3d8297];return _0x2d65a0;}import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x2233cd(0x80),'path':a110_0x2233cd(0x84)}];export const menuExternalLinkUpdate={'service':a110_0x2233cd(0xc1),'command':'external-link-update','description':a110_0x2233cd(0x97),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':a110_0x2233cd(0xaa),'type':a110_0x2233cd(0x71),'required':!![],'description':'New\x20external\x20HTTPS\x20URL'},{'name':a110_0x2233cd(0x82),'type':a110_0x2233cd(0x71),'required':!![],'description':a110_0x2233cd(0x78)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x447dbc){validateInput(_0x447dbc),requireExplicitYes(_0x447dbc);},async 'dryRun'(_0x3d5ec5){const _0x5ef6de=a110_0x2233cd;validateInput(_0x3d5ec5);const _0x2dd62d=await buildPlan(_0x3d5ec5,!![]);return menuDryRunResult(_0x2dd62d['plan'],{'method':_0x5ef6de(0x80),'url':_0x5ef6de(0x84),'body':_0x2dd62d[_0x5ef6de(0xbf)],'description':_0x5ef6de(0x7b)+_0x2dd62d[_0x5ef6de(0xbf)]['id']+'.'});},async 'execute'(_0x228b96){const _0x2f880f=a110_0x2233cd;validateInput(_0x228b96),requireExplicitYes(_0x228b96);const _0x431b7d=await buildPlan(_0x228b96,![]),{plan:_0x4f7923,body:_0x592424,before:_0xb580de,noChanges:_0x572396}=_0x431b7d,_0x570888=_0x592424['id'];if(_0x572396)return updateSuccess(_0x4f7923,_0x431b7d['snapshot'],_0xb580de,!![],![]);await recheckMutationSnapshot(_0x228b96,_0x4f7923,'update\x20external\x20menu\x20URL',_0x570888);try{await updateMenuEntity(_0x228b96['appCode'],_0x228b96[_0x2f880f(0x9a)],{'id':_0x592424['id'],'url':_0x592424[_0x2f880f(0xaa)]});}catch(_0x4f690f){const _0x591730=mapMenuApiError(_0x4f690f,_0x2f880f(0x94),_0x570888);if(isMenuResponseLoss(_0x4f690f)&&_0x591730['code']!==_0x2f880f(0xb6))return recoverAfterResponseLoss(_0x228b96,_0x431b7d);throw menuFailure(_0x591730,_0x4f7923,{'stage':'update','failed':{'id':_0x570888},'warnings':[_0x2f880f(0xc2)],'verification':{'status':_0x2f880f(0x85),'targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}let _0x5fe246,_0x10a74f;try{_0x5fe246=await fetchMenuSnapshot(_0x228b96[_0x2f880f(0xb4)],_0x228b96['cookie']),_0x10a74f=requireMenu(_0x5fe246,_0x570888),verifyUpdatedFact(_0xb580de,_0x10a74f,_0x592424[_0x2f880f(0xaa)]);}catch(_0xda194e){const _0x98b11e=describeMenuErrorCause(_0xda194e,_0x2f880f(0xa8),_0x570888),_0x2422c8=asVerificationError(_0xda194e,_0x2f880f(0x8d)+_0x570888+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x2422c8,_0x4f7923,{'stage':_0x2f880f(0xa9),'succeeded':[{'id':_0x570888,'updateRequested':!![]}],'failed':{'id':_0x570888,'requestedStateConfirmed':![],..._0x98b11e},'warnings':['The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.'],'verification':{'status':'failed','targetId':_0x570888,'lookupCommand':buildLookupCommand(_0x228b96[_0x2f880f(0xb4)])}});}return updateSuccess(_0x4f7923,_0x5fe246,_0x10a74f,![],![]);}};function validateInput(_0x1b15ae){const _0x41bf87=a110_0x2233cd;validateExactId(_0x1b15ae),requiredUrl(_0x1b15ae,_0x41bf87(0xaa)),requiredExpectedUrl(_0x1b15ae),parseParentId(_0x1b15ae,_0x41bf87(0x95),{'required':!![]});}function requiredUrl(_0x35e002,_0x5edf2d){const _0x34dfe2=a110_0x2233cd;if(!hasFlag(_0x35e002,_0x5edf2d)||!_0x35e002['str'](_0x5edf2d)['trim']())throw CliErrors[_0x34dfe2(0x98)](_0x5edf2d);return validateExternalMenuUrl(_0x35e002[_0x34dfe2(0xba)](_0x5edf2d));}function requiredExpectedUrl(_0x2d7cb9){const _0x59a2c1=a110_0x2233cd;if(!hasFlag(_0x2d7cb9,_0x59a2c1(0x82))||!_0x2d7cb9['str']('expect-url')['trim']())throw CliErrors[_0x59a2c1(0x98)](_0x59a2c1(0x82));return _0x2d7cb9[_0x59a2c1(0xba)](_0x59a2c1(0x82))[_0x59a2c1(0xa5)]();}async function buildPlan(_0x2b4008,_0x1635aa){const _0x48d358=a110_0x2233cd,_0x5a24df=validateExactId(_0x2b4008),_0x36261a=requiredUrl(_0x2b4008,_0x48d358(0xaa)),_0x493c3b=requiredExpectedUrl(_0x2b4008),_0xd9495c=parseParentId(_0x2b4008,_0x48d358(0x95),{'required':!![]}),_0xdcc5e8=await fetchMutationSnapshot(_0x2b4008,'update\x20external\x20menu\x20URL',_0x5a24df),_0x39dd59=requireMenu(_0xdcc5e8,_0x5a24df);assertExternalLinkLeaf(_0x39dd59);if(_0x39dd59[_0x48d358(0x7d)]!==_0xd9495c)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20parent\x20changed:\x20expected\x20'+formatParent(_0xd9495c)+_0x48d358(0x91)+formatParent(_0x39dd59[_0x48d358(0x7d)])+'.',_0x48d358(0xbc));const _0x1bbccb=_0x39dd59[_0x48d358(0xaa)]===_0x36261a;if(!_0x1bbccb&&_0x39dd59[_0x48d358(0xaa)]!==_0x493c3b)throw menuError(_0x48d358(0x7e),_0x48d358(0x96)+_0x5a24df+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x48d358(0xc4));const _0x4e118f={'id':_0x5a24df,'appCode':_0x2b4008[_0x48d358(0xb4)],'url':_0x36261a},_0x448631={..._0x39dd59,'url':_0x36261a};return{'body':_0x4e118f,'before':_0x39dd59,'noChanges':_0x1bbccb,'snapshot':_0xdcc5e8,'plan':mutationResult({'operation':_0x48d358(0x87),'selector':{'id':_0x5a24df},'before':_0x39dd59,'after':_0x448631,'dryRun':_0x1635aa,'backend':[...BACKEND],'plannedActions':_0x1bbccb?[]:[{'stage':_0x48d358(0x9e),'method':'POST','path':_0x48d358(0x84),'body':_0x4e118f}],'snapshotHash':_0xdcc5e8[_0x48d358(0x86)],'warnings':_0x1bbccb?[_0x48d358(0x9f)]:[]})};}function assertExternalLinkLeaf(_0x118da7){const _0x41dd99=a110_0x2233cd;if(_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0x79)&&_0x118da7[_0x41dd99(0xb2)]!==_0x41dd99(0xa2))throw menuError('menu_external_link_type_required',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xa1)+(_0x118da7[_0x41dd99(0xb2)]||_0x41dd99(0xa4))+_0x41dd99(0xbd),_0x41dd99(0x77));if(_0x118da7['childrenCount']!==0x0)throw menuError(_0x41dd99(0xbe),_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0xc3)+_0x118da7[_0x41dd99(0xa0)]+'\x20direct\x20child\x20menu(s).',_0x41dd99(0xb0));if(!_0x118da7[_0x41dd99(0x81)]['trim']())throw menuError('menu_external_link_path_missing',_0x41dd99(0x96)+_0x118da7['id']+_0x41dd99(0x90),_0x41dd99(0x7a));}function verifyUpdatedFact(_0x2e9273,_0x2bc04c,_0x1deafc){const _0x4377c9=a110_0x2233cd;assertExternalLinkLeaf(_0x2bc04c);const _0x85b60d=[['id',_0x2bc04c['id'],_0x2e9273['id']],[_0x4377c9(0x74),_0x2bc04c['label'],_0x2e9273['label']],[_0x4377c9(0xb2),_0x2bc04c[_0x4377c9(0xb2)],_0x2e9273[_0x4377c9(0xb2)]],[_0x4377c9(0x81),_0x2bc04c[_0x4377c9(0x81)],_0x2e9273[_0x4377c9(0x81)]],[_0x4377c9(0x7d),_0x2bc04c[_0x4377c9(0x7d)],_0x2e9273[_0x4377c9(0x7d)]],[_0x4377c9(0x93),_0x2bc04c['sort'],_0x2e9273[_0x4377c9(0x93)]],[_0x4377c9(0x88),_0x2bc04c[_0x4377c9(0x88)],_0x2e9273[_0x4377c9(0x88)]]];for(const [_0x536acd,_0x38d9d7,_0x3aacea]of _0x85b60d){assertVerified(_0x38d9d7===_0x3aacea,'Menu\x20'+_0x2e9273['id']+'\x20'+_0x536acd+_0x4377c9(0x75));}assertVerified(_0x2bc04c[_0x4377c9(0xaa)]===_0x1deafc,_0x4377c9(0x96)+_0x2e9273['id']+_0x4377c9(0x76));}function updateSuccess(_0x3ea150,_0x1a45ef,_0xd69beb,_0x167ba9,_0x5b6b58){const _0x55119c=a110_0x2233cd,_0xc810ee=_0xd69beb['id'],_0x34b8cc=mutationResult({..._0x3ea150,'after':_0xd69beb,'dryRun':![],'succeeded':[{'id':_0xc810ee,'updated':!_0x167ba9,'skipped':_0x167ba9,'recovered':_0x5b6b58}],'verification':{'checkedBy':_0x55119c(0x73),'snapshotHash':_0x1a45ef[_0x55119c(0x86)],'targetId':_0xc810ee,'matchesRequestedState':!![],'recovered':_0x5b6b58}});return{'ok':!![],'message':_0x5b6b58?_0x55119c(0xc0)+_0xc810ee+'.':_0x167ba9?_0x55119c(0x96)+_0xc810ee+_0x55119c(0x8f):'Updated\x20external\x20URL\x20for\x20menu\x20'+_0xc810ee+'.','data':{..._0x34b8cc,'recovered':_0x5b6b58}};}async function recoverAfterResponseLoss(_0xf619e8,_0x5260d4){const _0x320663=a110_0x2233cd,{plan:_0x3aa6f8,before:_0x2a5417,body:_0x542003}=_0x5260d4;let _0x2dd444;try{_0x2dd444=await fetchMenuSnapshot(_0xf619e8[_0x320663(0xb4)],_0xf619e8['cookie']);}catch{throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'readbackFailed':!![]});}const _0x48fca2=_0x2dd444[_0x320663(0xb5)][_0x320663(0x9b)](_0x542003['id']);if(!_0x48fca2||_0x48fca2['url']!==_0x542003[_0x320663(0xaa)])throw recoveryRequired(_0x3aa6f8,_0xf619e8[_0x320663(0xb4)],{'id':_0x542003['id'],'requestedUrlObserved':![],'after':_0x48fca2??null});try{verifyUpdatedFact(_0x2a5417,_0x48fca2,_0x542003[_0x320663(0xaa)]);}catch(_0x4cdb11){const _0x3d591d=asVerificationError(_0x4cdb11,_0x320663(0x89)+_0x542003['id']+_0x320663(0xb9));throw menuFailure(_0x3d591d,_0x3aa6f8,{'stage':_0x320663(0x9d),'succeeded':[{'id':_0x542003['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x48fca2,'warnings':[_0x320663(0xa6)],'verification':{'status':'failed','targetId':_0x542003['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xf619e8[_0x320663(0xb4)])}});}return updateSuccess(_0x3aa6f8,_0x2dd444,_0x48fca2,![],!![]);}function recoveryRequired(_0x4edd86,_0x33fdd9,_0xc141ed){const _0xc473e4=a110_0x2233cd,_0x1dbf97=menuError(_0xc473e4(0xac),_0xc473e4(0xb1),_0xc473e4(0x8a)+buildLookupCommand(_0x33fdd9)+_0xc473e4(0x7c));return menuFailure(_0x1dbf97,_0x4edd86,{'stage':_0xc473e4(0x9d),'failed':{'id':_0xc141ed['id'],..._0xc141ed['requestedUrlObserved']===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed[_0xc473e4(0xa7)]?{'readbackFailed':!![]}:{}},'after':_0xc141ed[_0xc473e4(0xa3)],'warnings':[_0xc473e4(0xbb)],'verification':{'status':'failed','targetId':_0xc141ed['id'],..._0xc141ed[_0xc473e4(0xab)]===undefined?{}:{'requestedUrlObserved':_0xc141ed[_0xc473e4(0xab)]},..._0xc141ed['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x33fdd9)}});}function buildLookupCommand(_0x11951b){const _0x4e3417=a110_0x2233cd,_0x5a067f='\x27'+_0x11951b['replace'](/'/g,_0x4e3417(0x9c))+'\x27';return _0x4e3417(0xad)+_0x5a067f+_0x4e3417(0x83);}
|