@lovrabet/rabetbase-cli 2.4.7-beta.2 → 2.5.0-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/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.d.ts +13 -3
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-file.d.ts +7 -0
- package/lib/api/generate-sdk-config-file.js +1 -0
- 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.d.ts +2 -5
- 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/delete.d.ts +5 -0
- package/lib/commands/config/delete.js +1 -0
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.d.ts +12 -0
- package/lib/commands/config/init.js +1 -0
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.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/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.d.ts +1 -0
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.d.ts +6 -2
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.d.ts +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.d.ts +2 -2
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.d.ts +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.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +10 -0
- package/lib/config/domain-config.js +1 -0
- package/lib/config/schema.d.ts +3 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.d.ts +23 -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/region.d.ts +9 -0
- package/lib/constant/region.js +1 -0
- 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.d.ts +4 -6
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +2 -2
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +2 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/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.d.ts +11 -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.d.ts +2 -2
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/types/index.d.ts +28 -0
- package/lib/utils/ai_config.d.ts +1 -2
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -3
- package/skills/rabetbase/SKILL.md +33 -28
- package/skills/rabetbase/guides/backend-function.md +41 -12
- package/skills/rabetbase/guides/bff-creation-workflow.md +6 -4
- package/skills/rabetbase/guides/custom-page-workflow.md +1 -1
- package/skills/rabetbase/guides/data-api-guidelines.md +8 -8
- package/skills/rabetbase/guides/database-connection-workflow.md +8 -16
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +1 -6
- package/skills/rabetbase/guides/sdk-client-generation.md +146 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +1 -1
- package/skills/rabetbase/guides/troubleshooting.md +1 -1
- package/skills/rabetbase/guides/typescript-sdk.md +46 -10
- package/skills/rabetbase/references/rabetbase-api-list.md +4 -4
- package/skills/rabetbase/references/rabetbase-api-pull.md +44 -29
- package/skills/rabetbase/references/rabetbase-app-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-auth-login.md +4 -2
- package/skills/rabetbase/references/rabetbase-bff-push.md +3 -1
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +3 -1
- package/skills/rabetbase/references/rabetbase-config.md +75 -30
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +1 -1
- package/skills/rabetbase/references/rabetbase-db-analyze.md +3 -3
- package/skills/rabetbase/references/rabetbase-db-detail.md +2 -2
- package/skills/rabetbase/references/rabetbase-db-diff-refresh.md +4 -4
- package/skills/rabetbase/references/rabetbase-db-diff.md +6 -9
- package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
- package/skills/rabetbase/references/rabetbase-init.md +57 -51
- package/skills/rabetbase/references/rabetbase-kb.md +2 -0
- package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
- package/skills/rabetbase/references/rabetbase-page-custom-detail.md +3 -3
- package/skills/rabetbase/references/rabetbase-page-custom-list.md +2 -2
- package/skills/rabetbase/references/rabetbase-project-create.md +12 -3
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +2 -2
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +2 -2
- package/skills/rabetbase/references/rabetbase-user-account.md +1 -1
- package/skills/rabetbase/references/rabetbase-workspace.md +6 -6
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +17 -28
- package/templates/generate-api/api.ts.tpl +3 -3
- package/templates/generate-api/client.ts.tpl +10 -37
- package/lib/commands/data/filter.d.ts +0 -7
- package/lib/commands/data/filter.js +0 -1
- package/lib/commands/data/getOne.d.ts +0 -7
- package/lib/commands/data/getOne.js +0 -1
- package/lib/commands/data/index.d.ts +0 -8
- package/lib/commands/data/index.js +0 -1
- package/lib/commands/data/shared.d.ts +0 -33
- package/lib/commands/data/shared.js +0 -1
- package/lib/commands/init/index.d.ts +0 -11
- package/lib/commands/init/index.js +0 -1
- package/lib/utils/rules-cdn.d.ts +0 -38
- package/lib/utils/rules-cdn.js +0 -1
- package/templates/rules/lovrabet_rules.mdc.tpl +0 -893
- package/templates/skill/SKILL.md.tpl +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a101_0x1f0e37=a101_0x4da8;(function(_0x2a0214,_0x1f8d7f){const _0x11fd28=a101_0x4da8,_0x4b0689=_0x2a0214();while(!![]){try{const _0xefd61c=parseInt(_0x11fd28(0x12f))/0x1+parseInt(_0x11fd28(0x142))/0x2+-parseInt(_0x11fd28(0x132))/0x3*(parseInt(_0x11fd28(0x14d))/0x4)+-parseInt(_0x11fd28(0x13b))/0x5+parseInt(_0x11fd28(0x13c))/0x6*(parseInt(_0x11fd28(0x14a))/0x7)+-parseInt(_0x11fd28(0x147))/0x8*(-parseInt(_0x11fd28(0x148))/0x9)+-parseInt(_0x11fd28(0x149))/0xa;if(_0xefd61c===_0x1f8d7f)break;else _0x4b0689['push'](_0x4b0689['shift']());}catch(_0x241929){_0x4b0689['push'](_0x4b0689['shift']());}}}(a101_0x3a19,0x75fbe));import{deleteEnterpriseKnowledgeBase,isPlatformTransportFailure}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertExpectedKbVersion,getKbOrNull,kbError,projectKb,readKbId,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const DELETE_PATH=a101_0x1f0e37(0x137),RAG_WARNING=a101_0x1f0e37(0x136),NON_ATOMIC_WARNING=a101_0x1f0e37(0x13f);function readExpectedVersion(_0x52094f){const _0x1c9663=a101_0x1f0e37,_0x5c337a=_0x52094f[_0x1c9663(0x143)](_0x1c9663(0x14b));if(_0x5c337a===undefined)return undefined;const _0x6bfd06=Number(_0x5c337a);if(!Number['isSafeInteger'](_0x6bfd06)||_0x6bfd06<0x0)throw kbError(_0x1c9663(0x150),_0x1c9663(0x138));return _0x6bfd06;}function noOpData(_0x50e614,_0xac3453,_0x24d1e7){const _0x134810=a101_0x1f0e37;return{'operation':_0x134810(0x135),'selector':{'id':_0xac3453,'scope':_0x134810(0x154),'appCode':_0x50e614[_0x134810(0x131)]},'before':null,'after':null,'dryRun':_0x24d1e7,'deleteCalled':![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':[],'verification':{'status':_0x134810(0x13e),'databaseSoftDelete':!![],'ragCleanup':{'asynchronous':!![],'verified':![]}}};}function a101_0x4da8(_0x34ee9b,_0x2c6bea){_0x34ee9b=_0x34ee9b-0x12e;const _0x3a1933=a101_0x3a19();let _0x4da814=_0x3a1933[_0x34ee9b];return _0x4da814;}export const kbDelete={'service':'kb','command':a101_0x1f0e37(0x152),'description':a101_0x1f0e37(0x134),'risk':a101_0x1f0e37(0x14f),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a101_0x1f0e37(0x151),'required':!![],'description':a101_0x1f0e37(0x14e)},{'name':a101_0x1f0e37(0x14b),'type':a101_0x1f0e37(0x151),'required':![],'description':a101_0x1f0e37(0x145)}],async 'validate'(_0x25732c){readKbId(_0x25732c),readExpectedVersion(_0x25732c),requireKbExplicitYes(_0x25732c);},async 'dryRun'(_0x2de6f2){const _0x29220c=a101_0x1f0e37,_0x2fa330=readKbId(_0x2de6f2),_0xf0eb0d=readExpectedVersion(_0x2de6f2),_0x13189b=await getKbOrNull(_0x2de6f2,_0x2fa330);if(!_0x13189b)return asDryRunResult(noOpData(_0x2de6f2,_0x2fa330,!![]),{'method':_0x29220c(0x133),'url':DELETE_PATH});assertExpectedKbVersion(_0x13189b,_0xf0eb0d);const _0x4f9896=projectKb(_0x13189b),_0x57618b=[RAG_WARNING];if(_0xf0eb0d!==undefined)_0x57618b['unshift'](NON_ATOMIC_WARNING);return asDryRunResult({'operation':_0x29220c(0x152),'selector':{'id':_0x4f9896['id'],'scope':_0x29220c(0x154),'appCode':_0x4f9896['appCode']},'before':_0x4f9896,'after':null,'dryRun':!![],'deleteCalled':![],'backend':{'method':_0x29220c(0x133),'path':DELETE_PATH},'warnings':_0x57618b,'verification':{'expectedVersion':_0xf0eb0d??null,'atomicCompareAndSet':![],'snapshotHash':_0x4f9896[_0x29220c(0x156)],'databaseSoftDelete':!![],'ragCleanup':{'asynchronous':!![],'verified':![]},'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x4f9896['id']+_0x29220c(0x139)}},{'method':'POST','url':DELETE_PATH});},async 'execute'(_0x2c148c){const _0x4fc9fb=a101_0x1f0e37;requireKbExplicitYes(_0x2c148c);const _0x16e07d=readKbId(_0x2c148c),_0x503216=readExpectedVersion(_0x2c148c),_0x59a60a=await getKbOrNull(_0x2c148c,_0x16e07d);if(!_0x59a60a)return{'ok':!![],'data':noOpData(_0x2c148c,_0x16e07d,![]),'message':_0x4fc9fb(0x13d)+_0x16e07d+_0x4fc9fb(0x155)};assertExpectedKbVersion(_0x59a60a,_0x503216);const _0x11976e=projectKb(_0x59a60a);let _0x118a48=![];try{await deleteEnterpriseKnowledgeBase(_0x2c148c[_0x4fc9fb(0x130)],_0x16e07d);}catch(_0x33e96d){if(!isPlatformTransportFailure(_0x33e96d))throw _0x33e96d;_0x118a48=!![];}const _0x1bd565=await verifyKbMutationReadback(_0x4fc9fb(0x152),_0x118a48,()=>getKbOrNull(_0x2c148c,_0x16e07d));if(_0x1bd565)throw kbError(_0x118a48?_0x4fc9fb(0x140):_0x4fc9fb(0x141),_0x4fc9fb(0x13d)+_0x16e07d+_0x4fc9fb(0x12e),'Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20'+_0x16e07d+'\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.');const _0x27aa6c=[RAG_WARNING];if(_0x503216!==undefined)_0x27aa6c[_0x4fc9fb(0x14c)](NON_ATOMIC_WARNING);return _0x118a48&&_0x27aa6c[_0x4fc9fb(0x14c)](_0x4fc9fb(0x146)),{'ok':!![],'data':{'operation':_0x4fc9fb(0x152),'selector':{'id':_0x11976e['id'],'scope':'company','appCode':_0x11976e['appCode']},'before':_0x11976e,'after':null,'dryRun':![],'deleteCalled':!![],'backend':{'method':'POST','path':DELETE_PATH},'warnings':_0x27aa6c,'verification':{'status':_0x4fc9fb(0x13a),'databaseSoftDelete':!![],'ragCleanup':{'asynchronous':!![],'verified':![]},'recoveredAfterUnknownResponse':_0x118a48,'lookupCommand':_0x4fc9fb(0x153)+_0x11976e['id']+_0x4fc9fb(0x139)}},'message':_0x4fc9fb(0x144)+_0x11976e['id']};}};function a101_0x3a19(){const _0x1e8d0b=['326798zKkcuz','cookie','appCode','600285RpdPUS','POST','Soft-delete\x20a\x20company\x20knowledge\x20base\x20for\x20the\x20resolved\x20app','no_op','Database\x20soft\x20deletion\x20was\x20verified;\x20asynchronous\x20RAG\x20cleanup\x20was\x20not\x20verified\x20by\x20the\x20CLI.','/admin/knowledge-base/delete','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','\x20--format\x20compress','verified','1087440vwUIsg','4909884iUzFDw','Company\x20knowledge\x20base\x20','already_absent','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20delete\x20contract\x20has\x20no\x20version\x20predicate.','kb_delete_outcome_unknown','kb_verification_failed','1010154DXsWPE','flag','Soft-deleted\x20company\x20knowledge\x20base\x20','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','Delete\x20response\x20was\x20unavailable;\x20exact-ID\x20not-found\x20readback\x20verified\x20database\x20soft\x20deletion\x20without\x20resubmitting.','8voACQu','4125114hmXMYg','10075950TNYQFN','7RuJMVU','expected-version','unshift','8pekawT','Company\x20knowledge-base\x20id','high-risk-write','kb_expected_version_invalid','number','delete','rabetbase\x20kb\x20detail\x20--id\x20','company','\x20is\x20already\x20absent;\x20no\x20delete\x20request\x20was\x20made','snapshotHash','\x20remains\x20readable\x20after\x20delete.'];a101_0x3a19=function(){return _0x1e8d0b;};return a101_0x3a19();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a102_0x202a(){const _0xe38589=['8RctjXI','2173863lglOwb','number','10341002eHMXco','4214440UsLTIv','10181709yrIKvG','read','2570374cpVRoe','404066ejpnCp','19590UnBIie','4flmTnc','Loaded\x20company\x20knowledge\x20base\x20','565GYAqCK','22hkhudW'];a102_0x202a=function(){return _0xe38589;};return a102_0x202a();}const a102_0x25c731=a102_0x364e;(function(_0xe9774,_0x18b2aa){const _0x582572=a102_0x364e,_0x4308a8=_0xe9774();while(!![]){try{const _0x2807b2=-parseInt(_0x582572(0x1df))/0x1+parseInt(_0x582572(0x1de))/0x2+-parseInt(_0x582572(0x1d8))/0x3*(-parseInt(_0x582572(0x1e1))/0x4)+parseInt(_0x582572(0x1d5))/0x5*(parseInt(_0x582572(0x1e0))/0x6)+parseInt(_0x582572(0x1da))/0x7*(-parseInt(_0x582572(0x1d7))/0x8)+parseInt(_0x582572(0x1dc))/0x9+-parseInt(_0x582572(0x1db))/0xa*(parseInt(_0x582572(0x1d6))/0xb);if(_0x2807b2===_0x18b2aa)break;else _0x4308a8['push'](_0x4308a8['shift']());}catch(_0x2d00b6){_0x4308a8['push'](_0x4308a8['shift']());}}}(a102_0x202a,0xbfd96));function a102_0x364e(_0xb22b1b,_0x361951){_0xb22b1b=_0xb22b1b-0x1d5;const _0x202ab3=a102_0x202a();let _0x364e79=_0x202ab3[_0xb22b1b];return _0x364e79;}import{projectKb,readKbId,requireKb}from'../../commands/kb/shared.js';export const kbDetail={'service':'kb','command':'detail','description':'Show\x20one\x20company\x20knowledge\x20base\x20for\x20the\x20resolved\x20app','risk':a102_0x25c731(0x1dd),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a102_0x25c731(0x1d9),'required':!![],'description':'Company\x20knowledge-base\x20id'}],async 'validate'(_0x1811ab){readKbId(_0x1811ab);},async 'execute'(_0x42edad){const _0x2c535c=a102_0x25c731,_0x3e4ce8=readKbId(_0x42edad),_0x2b9b95=await requireKb(_0x42edad,_0x3e4ce8);return{'ok':!![],'data':{'knowledgeBase':projectKb(_0x2b9b95)},'message':_0x2c535c(0x1e2)+_0x3e4ce8};}};
|
package/lib/commands/kb/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5f3d75,_0x418d19){const _0x4cf8bd=a103_0x4b40,_0x5775af=_0x5f3d75();while(!![]){try{const _0xcb3e5a=-parseInt(_0x4cf8bd(0x157))/0x1+parseInt(_0x4cf8bd(0x154))/0x2*(-parseInt(_0x4cf8bd(0x152))/0x3)+parseInt(_0x4cf8bd(0x151))/0x4+-parseInt(_0x4cf8bd(0x153))/0x5+parseInt(_0x4cf8bd(0x159))/0x6+parseInt(_0x4cf8bd(0x156))/0x7*(parseInt(_0x4cf8bd(0x158))/0x8)+parseInt(_0x4cf8bd(0x155))/0x9;if(_0xcb3e5a===_0x418d19)break;else _0x5775af['push'](_0x5775af['shift']());}catch(_0x4d41ea){_0x5775af['push'](_0x5775af['shift']());}}}(a103_0x7f28,0x3f313));import{kbList}from'../../commands/kb/list.js';import{kbDetail}from'../../commands/kb/detail.js';import{kbSearch}from'../../commands/kb/search.js';import{kbCreate}from'../../commands/kb/create.js';import{kbUpdate}from'../../commands/kb/update.js';function a103_0x7f28(){const _0x2d5a58=['809820UNMNqi','1104932IrvtxK','138594YwaUgc','1192515lbwfug','8xYEHDi','65322Ytpwxl','14WMfDCY','245591NDHEyq','2037040OlRNIy'];a103_0x7f28=function(){return _0x2d5a58;};return a103_0x7f28();}import{kbDelete}from'../../commands/kb/delete.js';function a103_0x4b40(_0x281847,_0xfaf120){_0x281847=_0x281847-0x151;const _0x7f2822=a103_0x7f28();let _0x4b4076=_0x7f2822[_0x281847];return _0x4b4076;}export const kbDefinitions=[kbList,kbDetail,kbSearch,kbCreate,kbUpdate,kbDelete];
|
package/lib/commands/kb/list.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a104_0x96f6f4=a104_0x2864;(function(_0x4d1e16,_0x4c807a){const _0x5ab5e0=a104_0x2864,_0x518917=_0x4d1e16();while(!![]){try{const _0xc13955=-parseInt(_0x5ab5e0(0xea))/0x1+-parseInt(_0x5ab5e0(0xfd))/0x2*(parseInt(_0x5ab5e0(0xf7))/0x3)+parseInt(_0x5ab5e0(0xf3))/0x4*(-parseInt(_0x5ab5e0(0xf9))/0x5)+-parseInt(_0x5ab5e0(0xfb))/0x6*(-parseInt(_0x5ab5e0(0xec))/0x7)+-parseInt(_0x5ab5e0(0xf4))/0x8*(parseInt(_0x5ab5e0(0xf6))/0x9)+-parseInt(_0x5ab5e0(0xed))/0xa*(parseInt(_0x5ab5e0(0xfc))/0xb)+parseInt(_0x5ab5e0(0xf0))/0xc;if(_0xc13955===_0x4c807a)break;else _0x518917['push'](_0x518917['shift']());}catch(_0x3b27f0){_0x518917['push'](_0x518917['shift']());}}}(a104_0x1bb3,0x375d8));function a104_0x2864(_0x5efe48,_0x50ad0e){_0x5efe48=_0x5efe48-0xea;const _0x1bb35b=a104_0x1bb3();let _0x2864ef=_0x1bb35b[_0x5efe48];return _0x2864ef;}function a104_0x1bb3(){const _0x32adcf=['32740BZiuXs','88qWwseU','title','19161fEBZTe','267186eqItqs','trim','155mpVejv','read','18dYTJbd','556897GZQBRy','8DTEyzL','228688BdEBqd','\x20company\x20knowledge\x20base(s)\x20for\x20','1034901gWJALN','70uTcMau','list','string','11996712AFfVJH','Found\x20','length'];a104_0x1bb3=function(){return _0x32adcf;};return a104_0x1bb3();}import{fetchAllCompanyKnowledgeBases,projectKb}from'../../commands/kb/shared.js';export const kbList={'service':'kb','command':a104_0x96f6f4(0xee),'description':'List\x20company\x20knowledge\x20bases\x20for\x20the\x20resolved\x20app','risk':a104_0x96f6f4(0xfa),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':a104_0x96f6f4(0xf5),'type':a104_0x96f6f4(0xef),'required':![],'description':'Filter\x20by\x20knowledge-base\x20title'}],async 'execute'(_0x172f90){const _0x2e7549=a104_0x96f6f4,_0x399953=_0x172f90['str'](_0x2e7549(0xf5))[_0x2e7549(0xf8)](),_0x5c0d60=await fetchAllCompanyKnowledgeBases(_0x172f90,{..._0x399953?{'title':_0x399953}:{}}),_0x23df7b=_0x5c0d60['map'](projectKb);return{'ok':!![],'data':{'total':_0x23df7b[_0x2e7549(0xf2)],'knowledgeBases':_0x23df7b},'message':_0x2e7549(0xf1)+_0x23df7b['length']+_0x2e7549(0xeb)+_0x172f90['appCode']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a105_0x27f3(_0xf7811a,_0x49ec20){_0xf7811a=_0xf7811a-0x1ef;const _0x4921c2=a105_0x4921();let _0x27f39c=_0x4921c2[_0xf7811a];return _0x27f39c;}const a105_0xc0f907=a105_0x27f3;(function(_0x203b5a,_0x613ac){const _0xb76329=a105_0x27f3,_0x1cd325=_0x203b5a();while(!![]){try{const _0x1e1605=-parseInt(_0xb76329(0x1f9))/0x1+-parseInt(_0xb76329(0x1fb))/0x2*(-parseInt(_0xb76329(0x1ef))/0x3)+-parseInt(_0xb76329(0x206))/0x4+-parseInt(_0xb76329(0x1f7))/0x5+parseInt(_0xb76329(0x1f4))/0x6*(parseInt(_0xb76329(0x1f8))/0x7)+parseInt(_0xb76329(0x200))/0x8*(-parseInt(_0xb76329(0x1f5))/0x9)+parseInt(_0xb76329(0x205))/0xa;if(_0x1e1605===_0x613ac)break;else _0x1cd325['push'](_0x1cd325['shift']());}catch(_0x28048c){_0x1cd325['push'](_0x1cd325['shift']());}}}(a105_0x4921,0x429a8));import{searchCompanyPublicKnowledge}from'../../core/api-client.js';import{CliErrors}from'../../errors.js';function readSearchQuery(_0x5bc394){const _0x2dc30c=a105_0x27f3,_0x143bba=_0x5bc394['str'](_0x2dc30c(0x1f6))[_0x2dc30c(0x201)]();if(!_0x143bba)throw CliErrors['validation'](_0x2dc30c(0x1fd));return _0x143bba;}function readSearchTopK(_0x271c0c){const _0x332817=a105_0x27f3,_0x47c029=_0x271c0c[_0x332817(0x202)](_0x332817(0x204));if(_0x47c029===undefined||_0x47c029===null||_0x47c029==='')return undefined;const _0x3188d6=_0x271c0c[_0x332817(0x207)](_0x332817(0x204));if(!Number['isSafeInteger'](_0x3188d6)||_0x3188d6<=0x0)throw CliErrors['validation'](_0x332817(0x1f0));return _0x3188d6;}function a105_0x4921(){const _0x2401b8=['topk','8406900kuzocr','1490396oUFHMe','num','Found\x20','287877jGIUft','--topk\x20must\x20be\x20a\x20positive\x20integer.','search','appCode','Search\x20company\x20and\x20public\x20knowledge\x20for\x20the\x20resolved\x20app','716334rINSTy','1732284HiTcXR','query','843150CZfTyq','21EAfqaR','384262WBaQIh','\x20company/public\x20knowledge\x20hit(s)\x20for\x20','4wExyLv','number','Search\x20query\x20is\x20required.','Maximum\x20number\x20of\x20knowledge\x20hits\x20to\x20return','string','8kgXcuG','trim','flag','length'];a105_0x4921=function(){return _0x2401b8;};return a105_0x4921();}export const kbSearch={'service':'kb','command':a105_0xc0f907(0x1f1),'description':a105_0xc0f907(0x1f3),'risk':'read','requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':a105_0xc0f907(0x1f6),'type':a105_0xc0f907(0x1ff),'required':!![],'description':'Company\x20and\x20public\x20knowledge\x20search\x20query'},{'name':a105_0xc0f907(0x204),'type':a105_0xc0f907(0x1fc),'required':![],'description':a105_0xc0f907(0x1fe)}],async 'validate'(_0x4c0c36){readSearchQuery(_0x4c0c36),readSearchTopK(_0x4c0c36);},async 'execute'(_0xf44593){const _0x38f7cb=a105_0xc0f907,_0x849dd6=readSearchQuery(_0xf44593),_0x4bd465=readSearchTopK(_0xf44593),_0x4d2322=await searchCompanyPublicKnowledge(_0xf44593['cookie'],{'query':_0x849dd6,'appCode':_0xf44593[_0x38f7cb(0x1f2)],..._0x4bd465!==undefined?{'topK':_0x4bd465}:{}});return{'ok':!![],'data':{'total':_0x4d2322[_0x38f7cb(0x203)],'hits':_0x4d2322},'message':_0x38f7cb(0x208)+_0x4d2322[_0x38f7cb(0x203)]+_0x38f7cb(0x1fa)+_0xf44593['appCode']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1f0502,_0x3f80ab){const _0x219f6b=a108_0xf998,_0x23e5e3=_0x1f0502();while(!![]){try{const _0x5c6f1b=parseInt(_0x219f6b(0x17f))/0x1*(-parseInt(_0x219f6b(0x145))/0x2)+-parseInt(_0x219f6b(0x13c))/0x3*(parseInt(_0x219f6b(0x13e))/0x4)+parseInt(_0x219f6b(0x178))/0x5*(parseInt(_0x219f6b(0x185))/0x6)+-parseInt(_0x219f6b(0x17a))/0x7*(-parseInt(_0x219f6b(0x165))/0x8)+-parseInt(_0x219f6b(0x127))/0x9*(parseInt(_0x219f6b(0x17d))/0xa)+parseInt(_0x219f6b(0x143))/0xb*(-parseInt(_0x219f6b(0x15a))/0xc)+parseInt(_0x219f6b(0x147))/0xd;if(_0x5c6f1b===_0x3f80ab)break;else _0x23e5e3['push'](_0x23e5e3['shift']());}catch(_0x55b167){_0x23e5e3['push'](_0x23e5e3['shift']());}}}(a108_0x1432,0x6785f));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';function a108_0x1432(){const _0x14e3cc=['stringify','bool','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20','contentHash','1051854MgORQC',',\x20current\x20','4lCxNAE','scope','\x20version\x20changed:\x20expected\x20','kb_','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','36113GpRQOT','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','21332cEIdGt','kb_content_invalid','23186397dnzXza','kb_list_contract_invalid','kb_file_required','createTime','Knowledge-base\x20list\x20total\x20changed\x20from\x20','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','Pass\x20--file\x20<knowledge.md>.','isSafeInteger','number','The\x20','kb_file_unreadable','\x20to\x20','updateTime','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','utf8','add','defineProperty','string','kb_scope_mismatch','2412AzZUKG','items','kb_confirmation_required','message','\x20of\x20','verification_unavailable','utf-8','digest','paging','kb_state_drift','byteLength','4250440QfKHow','kb_file_invalid','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','Knowledge\x20base\x20','version','currentPage','totalCount','length','Knowledge-base\x20list\x20returned\x20page\x20','content','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','cause','\x20during\x20paging.','\x20was\x20requested.','kb_response_invalid','\x20while\x20id\x20','outcome_unknown','75rgpiRy','cookie','7rHVpic','sha256','\x20while\x20page\x20','226370sPVGfi','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','46tbYary','company','from','trim','update','\x20response\x20is\x20missing\x20','142926dVQbpF','title','allowEmpty','297XMxGyB','hex','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','\x20records.','appCode','push','Knowledge-base\x20list\x20stopped\x20at\x20','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','kb_id_invalid','byteSize','\x20response\x20contains\x20an\x20invalid\x20version.','isFile','has','dry-run','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','decode','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.'];a108_0x1432=function(){return _0x14e3cc;};return a108_0x1432();}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='306';export function kbError(_0x30d919,_0x3f1da3,_0xbb1b0){return new CliError(_0x30d919,0x1,_0x3f1da3,_0xbb1b0);}export function readKbId(_0x475357){const _0x161cc5=a108_0xf998,_0x45e3b6=_0x475357['num']('id');if(!Number[_0x161cc5(0x14e)](_0x45e3b6)||_0x45e3b6<=0x0)throw kbError(_0x161cc5(0x12f),_0x161cc5(0x12e));return _0x45e3b6;}export function requireKbExplicitYes(_0x24cb78){const _0x38f872=a108_0xf998;if(_0x24cb78[_0x38f872(0x139)](_0x38f872(0x134))||_0x24cb78[_0x38f872(0x139)]('yes'))return;throw kbError(_0x38f872(0x15c),'This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function sha256(_0x59c970){const _0x4bafbe=a108_0xf998;return'sha256:'+createHash(_0x4bafbe(0x17b))[_0x4bafbe(0x183)](_0x59c970)[_0x4bafbe(0x161)](_0x4bafbe(0x128));}export function inspectKbContent(_0xc57c52){const _0x4fa531=a108_0xf998,_0x5a5265=Buffer[_0x4fa531(0x181)](_0xc57c52,_0x4fa531(0x155));return{'content':_0xc57c52,'byteSize':_0x5a5265[_0x4fa531(0x164)],'contentHash':sha256(_0x5a5265)};}export async function readKbFile(_0x490bd6){const _0x3c37e1=a108_0xf998,_0x1bce78=_0x490bd6[_0x3c37e1(0x182)]();if(!_0x1bce78)throw kbError(_0x3c37e1(0x149),_0x3c37e1(0x144),_0x3c37e1(0x14d));const _0x392428=resolve(_0x1bce78);let _0x2f5326;try{_0x2f5326=await stat(_0x392428);}catch(_0x1d2c56){throw kbError(_0x3c37e1(0x151),_0x3c37e1(0x129)+_0x1bce78,_0x1d2c56 instanceof Error?_0x1d2c56[_0x3c37e1(0x15d)]:String(_0x1d2c56));}if(!_0x2f5326[_0x3c37e1(0x132)]())throw kbError(_0x3c37e1(0x166),_0x3c37e1(0x171)+_0x1bce78);let _0x4018ab;try{_0x4018ab=await readFile(_0x392428);}catch(_0x39d452){throw kbError(_0x3c37e1(0x151),_0x3c37e1(0x170)+_0x1bce78,_0x39d452 instanceof Error?_0x39d452['message']:String(_0x39d452));}let _0xd9cbfb;try{_0xd9cbfb=new TextDecoder(_0x3c37e1(0x160),{'fatal':!![],'ignoreBOM':!![]})[_0x3c37e1(0x136)](_0x4018ab);}catch{throw kbError(_0x3c37e1(0x146),_0x3c37e1(0x142)+_0x1bce78);}if(!_0xd9cbfb[_0x3c37e1(0x182)]())throw kbError(_0x3c37e1(0x146),_0x3c37e1(0x17e)+_0x1bce78);return inspectKbContent(_0xd9cbfb);}export async function verifyKbMutationReadback(_0x2f84b7,_0x4a4002,_0x6a8b89){const _0x3d0962=a108_0xf998;try{return await _0x6a8b89();}catch(_0x18da96){const _0x34ae18=kbError(_0x3d0962(0x141)+_0x2f84b7+'_'+(_0x4a4002?_0x3d0962(0x177):_0x3d0962(0x15f)),_0x3d0962(0x150)+_0x2f84b7+'\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.',_0x3d0962(0x14c));Object[_0x3d0962(0x157)](_0x34ae18,_0x3d0962(0x172),{'value':_0x18da96,'enumerable':![]});throw _0x34ae18;}}function requireRecordText(_0x202d60,_0x3308ca,_0x2351b5,_0x4418eb={}){const _0x20ac56=a108_0xf998;if(typeof _0x202d60==='string'&&(_0x4418eb[_0x20ac56(0x126)]||_0x202d60[_0x20ac56(0x182)]()))return _0x202d60;throw kbError(_0x20ac56(0x175),_0x20ac56(0x169)+String(_0x2351b5)+_0x20ac56(0x184)+_0x3308ca+'.');}export function projectKb(_0x51d994){const _0x42b1c8=a108_0xf998;if(!Number[_0x42b1c8(0x14e)](_0x51d994['id'])||_0x51d994['id']<=0x0)throw kbError(_0x42b1c8(0x175),_0x42b1c8(0x167));if(!Number[_0x42b1c8(0x14e)](_0x51d994['version'])||_0x51d994['version']<0x0)throw kbError('kb_response_invalid',_0x42b1c8(0x169)+_0x51d994['id']+_0x42b1c8(0x131));if(_0x51d994[_0x42b1c8(0x13f)]!==_0x42b1c8(0x180))throw kbError(_0x42b1c8(0x159),_0x42b1c8(0x169)+_0x51d994['id']+'\x20is\x20not\x20company-scoped.');const _0x3366b2=requireRecordText(_0x51d994[_0x42b1c8(0x12b)],_0x42b1c8(0x12b),_0x51d994['id']),_0x4d36ac=requireRecordText(_0x51d994[_0x42b1c8(0x186)],_0x42b1c8(0x186),_0x51d994['id']),_0x586624=inspectKbContent(requireRecordText(_0x51d994[_0x42b1c8(0x16f)],_0x42b1c8(0x16f),_0x51d994['id'],{'allowEmpty':!![]})),_0x939f79=typeof _0x51d994[_0x42b1c8(0x14a)]==='string'||typeof _0x51d994[_0x42b1c8(0x14a)]===_0x42b1c8(0x14f)?_0x51d994['createTime']:undefined,_0x626a05=typeof _0x51d994[_0x42b1c8(0x153)]===_0x42b1c8(0x158)||typeof _0x51d994[_0x42b1c8(0x153)]===_0x42b1c8(0x14f)?_0x51d994[_0x42b1c8(0x153)]:undefined,_0x57a6b0=sha256(JSON[_0x42b1c8(0x138)]({'id':_0x51d994['id'],'scope':_0x51d994[_0x42b1c8(0x13f)],'appCode':_0x3366b2,'title':_0x4d36ac,'version':_0x51d994[_0x42b1c8(0x16a)],'contentHash':_0x586624['contentHash'],'createTime':_0x939f79,'updateTime':_0x626a05}));return{'id':_0x51d994['id'],'scope':_0x42b1c8(0x180),'appCode':_0x3366b2,'title':_0x4d36ac,'version':_0x51d994[_0x42b1c8(0x16a)],'contentByteSize':_0x586624[_0x42b1c8(0x130)],'contentHash':_0x586624[_0x42b1c8(0x13b)],'snapshotHash':_0x57a6b0,..._0x939f79!==undefined?{'createTime':_0x939f79}:{},..._0x626a05!==undefined?{'updateTime':_0x626a05}:{}};}export function assertCompanyKnowledgeBase(_0x3b1b25,_0x22da32,_0x42eacb){const _0x35af89=a108_0xf998;if(_0x42eacb!==undefined&&_0x3b1b25['id']!==_0x42eacb)throw kbError(_0x35af89(0x175),'Knowledge-base\x20get-one\x20returned\x20id\x20'+_0x3b1b25['id']+_0x35af89(0x176)+_0x42eacb+_0x35af89(0x174));if(_0x3b1b25[_0x35af89(0x13f)]!==_0x35af89(0x180)||_0x3b1b25[_0x35af89(0x12b)]!==_0x22da32)throw kbError('kb_scope_mismatch',_0x35af89(0x169)+_0x3b1b25['id']+_0x35af89(0x13a)+_0x22da32+'.');}function a108_0xf998(_0x8dc779,_0x506557){_0x8dc779=_0x8dc779-0x126;const _0x143276=a108_0x1432();let _0xf9980a=_0x143276[_0x8dc779];return _0xf9980a;}export async function fetchAllCompanyKnowledgeBases(_0xd0d55e,_0x296e6e){const _0x253bcb=a108_0xf998,_0x77bb86=[],_0x51f0d1=new Set();let _0x456c49=0x1,_0x47e7f1=0x0,_0x43d060;while(!![]){const _0x3c8840=await listEnterpriseKnowledgeBases(_0xd0d55e[_0x253bcb(0x179)],{'currentPage':_0x456c49,'pageSize':LIST_PAGE_SIZE,'appCode':_0xd0d55e[_0x253bcb(0x12b)],..._0x296e6e}),_0x3e7fa8=_0x3c8840[_0x253bcb(0x162)]?.[_0x253bcb(0x16c)];if(_0x3c8840['paging']?.['currentPage']!==undefined&&_0x3c8840[_0x253bcb(0x162)][_0x253bcb(0x16b)]!==_0x456c49)throw kbError(_0x253bcb(0x148),_0x253bcb(0x16e)+_0x3c8840[_0x253bcb(0x162)]['currentPage']+_0x253bcb(0x17c)+_0x456c49+'\x20was\x20requested.');if(_0x3e7fa8!==undefined){if(_0x43d060!==undefined&&_0x3e7fa8!==_0x43d060)throw kbError(_0x253bcb(0x148),_0x253bcb(0x14b)+_0x43d060+_0x253bcb(0x152)+_0x3e7fa8+_0x253bcb(0x173),_0x253bcb(0x137));_0x43d060=_0x3e7fa8;}for(const _0x566c53 of _0x3c8840[_0x253bcb(0x15b)]){if(!Number[_0x253bcb(0x14e)](_0x566c53['id'])||_0x51f0d1[_0x253bcb(0x133)](_0x566c53['id']))throw kbError(_0x253bcb(0x148),_0x253bcb(0x168)+String(_0x566c53['id'])+'.');_0x51f0d1[_0x253bcb(0x156)](_0x566c53['id']),_0x566c53[_0x253bcb(0x13f)]===_0x253bcb(0x180)&&_0x566c53[_0x253bcb(0x12b)]===_0xd0d55e[_0x253bcb(0x12b)]&&_0x77bb86[_0x253bcb(0x12c)](_0x566c53);}_0x47e7f1+=_0x3c8840[_0x253bcb(0x15b)][_0x253bcb(0x16d)];if(_0x3e7fa8!==undefined&&_0x47e7f1>=_0x3e7fa8)break;if(_0x3c8840[_0x253bcb(0x15b)][_0x253bcb(0x16d)]<LIST_PAGE_SIZE){if(_0x3e7fa8!==undefined&&_0x47e7f1<_0x3e7fa8)throw kbError('kb_list_contract_invalid',_0x253bcb(0x12d)+_0x47e7f1+_0x253bcb(0x15e)+_0x3e7fa8+_0x253bcb(0x12a));break;}_0x456c49+=0x1;}return _0x77bb86;}export function findExactCompanyKnowledgeBases(_0x533647,_0xabb8a5,_0x37f624){const _0x289fec=a108_0xf998;return _0x533647['filter'](_0x53dd83=>_0x53dd83['scope']===_0x289fec(0x180)&&_0x53dd83[_0x289fec(0x12b)]===_0xabb8a5&&_0x53dd83[_0x289fec(0x186)]===_0x37f624);}export async function getKbOrNull(_0x8b62be,_0x38d2ff){const _0x1ddf71=a108_0xf998;try{const _0x1366a8=await getEnterpriseKnowledgeBase(_0x8b62be[_0x1ddf71(0x179)],_0x38d2ff);return assertCompanyKnowledgeBase(_0x1366a8,_0x8b62be[_0x1ddf71(0x12b)],_0x38d2ff),_0x1366a8;}catch(_0x3bebaa){if(getPlatformErrorCode(_0x3bebaa)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x3bebaa;}}export async function requireKb(_0x2ebf49,_0x55075c){const _0x4c9ade=a108_0xf998,_0x237aa6=await getKbOrNull(_0x2ebf49,_0x55075c);if(!_0x237aa6)throw kbError('kb_not_found','Company\x20knowledge\x20base\x20not\x20found:\x20'+_0x55075c,_0x4c9ade(0x154));return _0x237aa6;}export function assertExpectedKbVersion(_0x7f06b8,_0x52296e){const _0x3442a1=a108_0xf998;if(_0x52296e===undefined||_0x7f06b8[_0x3442a1(0x16a)]===_0x52296e)return;throw kbError(_0x3442a1(0x163),_0x3442a1(0x169)+_0x7f06b8['id']+_0x3442a1(0x140)+_0x52296e+_0x3442a1(0x13d)+_0x7f06b8['version']+'.',_0x3442a1(0x135));}
|
|
1
|
+
const a106_0x4b39c0=a106_0x5b9e;(function(_0x94fab2,_0x325990){const _0x362758=a106_0x5b9e,_0x1e090d=_0x94fab2();while(!![]){try{const _0x56d704=-parseInt(_0x362758(0x1b8))/0x1*(parseInt(_0x362758(0x1ae))/0x2)+parseInt(_0x362758(0x1dd))/0x3+-parseInt(_0x362758(0x1a7))/0x4+-parseInt(_0x362758(0x19a))/0x5+parseInt(_0x362758(0x19b))/0x6+-parseInt(_0x362758(0x1bc))/0x7*(-parseInt(_0x362758(0x1c0))/0x8)+-parseInt(_0x362758(0x1a4))/0x9;if(_0x56d704===_0x325990)break;else _0x1e090d['push'](_0x1e090d['shift']());}catch(_0x2e753d){_0x1e090d['push'](_0x1e090d['shift']());}}}(a106_0x577d,0xe042c));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=a106_0x4b39c0(0x1e2);function a106_0x577d(){const _0x407f41=['kb_list_contract_invalid','items','cause','kb_not_found','trim','content','title','\x20records.','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','decode','\x20while\x20page\x20','paging','kb_confirmation_required','contentHash','Knowledge-base\x20list\x20total\x20changed\x20from\x20','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','sha256','\x20during\x20paging.','verification_unavailable','The\x20','\x20was\x20requested.','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','5209029QLPyHQ','defineProperty','kb_scope_mismatch','push','kb_content_invalid','306','kb_file_invalid','utf8','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','kb_response_invalid','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','currentPage','\x20version\x20changed:\x20expected\x20','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','num','scope','appCode','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','allowEmpty','message','261375UZuDcF','10490412yOWLwy','Knowledge\x20base\x20','Pass\x20--file\x20<knowledge.md>.','updateTime','company','\x20of\x20','version','Knowledge-base\x20list\x20stopped\x20at\x20','byteLength','14315571iCXukq','cookie','\x20response\x20contains\x20an\x20invalid\x20version.','3586096CWhyEc','digest','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','yes','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','isSafeInteger',',\x20current\x20','246802Xzcoch','string','sha256:','kb_file_unreadable','byteSize','utf-8','bool','Knowledge-base\x20list\x20returned\x20page\x20','stringify','\x20to\x20','10QXGsyi','kb_','kb_file_required','outcome_unknown','241451IadyXB','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','Company\x20knowledge\x20base\x20not\x20found:\x20','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','280whrCmS','length','\x20is\x20not\x20company-scoped.','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','createTime','from','\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20'];a106_0x577d=function(){return _0x407f41;};return a106_0x577d();}export function kbError(_0x49dcbd,_0x4ca7da,_0x49c293){return new CliError(_0x49dcbd,0x1,_0x4ca7da,_0x49c293);}export function readKbId(_0x387f01){const _0x178507=a106_0x4b39c0,_0x34ff84=_0x387f01[_0x178507(0x1eb)]('id');if(!Number['isSafeInteger'](_0x34ff84)||_0x34ff84<=0x0)throw kbError('kb_id_invalid',_0x178507(0x1cf));return _0x34ff84;}export function requireKbExplicitYes(_0x2aee0f){const _0x4f31ad=a106_0x4b39c0;if(_0x2aee0f[_0x4f31ad(0x1b4)]('dry-run')||_0x2aee0f[_0x4f31ad(0x1b4)](_0x4f31ad(0x1aa)))return;throw kbError(_0x4f31ad(0x1d3),_0x4f31ad(0x1c3),_0x4f31ad(0x1a9));}function sha256(_0x652f00){const _0x5819fb=a106_0x4b39c0;return _0x5819fb(0x1b0)+createHash(_0x5819fb(0x1d7))['update'](_0x652f00)[_0x5819fb(0x1a8)]('hex');}export function inspectKbContent(_0x1cd6ae){const _0x3c703e=a106_0x4b39c0,_0x79ddd3=Buffer[_0x3c703e(0x1c5)](_0x1cd6ae,_0x3c703e(0x1e4));return{'content':_0x1cd6ae,'byteSize':_0x79ddd3[_0x3c703e(0x1a3)],'contentHash':sha256(_0x79ddd3)};}function a106_0x5b9e(_0x476efe,_0x38bf47){_0x476efe=_0x476efe-0x198;const _0x577db5=a106_0x577d();let _0x5b9e08=_0x577db5[_0x476efe];return _0x5b9e08;}export async function readKbFile(_0x46290a){const _0x426a43=a106_0x4b39c0,_0x3140c0=_0x46290a['trim']();if(!_0x3140c0)throw kbError(_0x426a43(0x1ba),'Knowledge-base\x20content\x20file\x20path\x20is\x20required.',_0x426a43(0x19d));const _0x2d526b=resolve(_0x3140c0);let _0x35520e;try{_0x35520e=await stat(_0x2d526b);}catch(_0x5cb1b5){throw kbError('kb_file_unreadable','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20'+_0x3140c0,_0x5cb1b5 instanceof Error?_0x5cb1b5[_0x426a43(0x199)]:String(_0x5cb1b5));}if(!_0x35520e['isFile']())throw kbError(_0x426a43(0x1e3),_0x426a43(0x1bd)+_0x3140c0);let _0x46080b;try{_0x46080b=await readFile(_0x2d526b);}catch(_0x4a9ace){throw kbError(_0x426a43(0x1b1),'Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x3140c0,_0x4a9ace instanceof Error?_0x4a9ace[_0x426a43(0x199)]:String(_0x4a9ace));}let _0x146c4b;try{_0x146c4b=new TextDecoder(_0x426a43(0x1b3),{'fatal':!![],'ignoreBOM':!![]})[_0x426a43(0x1d0)](_0x46080b);}catch{throw kbError(_0x426a43(0x1e1),_0x426a43(0x1d6)+_0x3140c0);}if(!_0x146c4b[_0x426a43(0x1cb)]())throw kbError('kb_content_invalid',_0x426a43(0x1e5)+_0x3140c0);return inspectKbContent(_0x146c4b);}export async function verifyKbMutationReadback(_0x25dc42,_0x2dbae9,_0x116c1e){const _0x1bbdab=a106_0x4b39c0;try{return await _0x116c1e();}catch(_0x3a3f2f){const _0x211b75=kbError(_0x1bbdab(0x1b9)+_0x25dc42+'_'+(_0x2dbae9?_0x1bbdab(0x1bb):_0x1bbdab(0x1d9)),_0x1bbdab(0x1da)+_0x25dc42+_0x1bbdab(0x1ea),_0x1bbdab(0x1dc));Object[_0x1bbdab(0x1de)](_0x211b75,_0x1bbdab(0x1c9),{'value':_0x3a3f2f,'enumerable':![]});throw _0x211b75;}}function requireRecordText(_0x22df1c,_0x1acc61,_0x1aaa47,_0x276d79={}){const _0xf9451b=a106_0x4b39c0;if(typeof _0x22df1c===_0xf9451b(0x1af)&&(_0x276d79[_0xf9451b(0x198)]||_0x22df1c[_0xf9451b(0x1cb)]()))return _0x22df1c;throw kbError('kb_response_invalid','Knowledge\x20base\x20'+String(_0x1aaa47)+'\x20response\x20is\x20missing\x20'+_0x1acc61+'.');}export function projectKb(_0x50e12b){const _0x58c1d7=a106_0x4b39c0;if(!Number[_0x58c1d7(0x1ac)](_0x50e12b['id'])||_0x50e12b['id']<=0x0)throw kbError(_0x58c1d7(0x1e6),'Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.');if(!Number[_0x58c1d7(0x1ac)](_0x50e12b['version'])||_0x50e12b['version']<0x0)throw kbError(_0x58c1d7(0x1e6),'Knowledge\x20base\x20'+_0x50e12b['id']+_0x58c1d7(0x1a6));if(_0x50e12b[_0x58c1d7(0x1ec)]!==_0x58c1d7(0x19f))throw kbError('kb_scope_mismatch',_0x58c1d7(0x19c)+_0x50e12b['id']+_0x58c1d7(0x1c2));const _0x39f98a=requireRecordText(_0x50e12b['appCode'],_0x58c1d7(0x1ed),_0x50e12b['id']),_0x31d13a=requireRecordText(_0x50e12b['title'],_0x58c1d7(0x1cd),_0x50e12b['id']),_0x50f9b4=inspectKbContent(requireRecordText(_0x50e12b[_0x58c1d7(0x1cc)],'content',_0x50e12b['id'],{'allowEmpty':!![]})),_0x45f4b5=typeof _0x50e12b[_0x58c1d7(0x1c4)]==='string'||typeof _0x50e12b[_0x58c1d7(0x1c4)]==='number'?_0x50e12b[_0x58c1d7(0x1c4)]:undefined,_0x1ecc2f=typeof _0x50e12b[_0x58c1d7(0x19e)]==='string'||typeof _0x50e12b[_0x58c1d7(0x19e)]==='number'?_0x50e12b[_0x58c1d7(0x19e)]:undefined,_0x2e66de=sha256(JSON[_0x58c1d7(0x1b6)]({'id':_0x50e12b['id'],'scope':_0x50e12b[_0x58c1d7(0x1ec)],'appCode':_0x39f98a,'title':_0x31d13a,'version':_0x50e12b['version'],'contentHash':_0x50f9b4['contentHash'],'createTime':_0x45f4b5,'updateTime':_0x1ecc2f}));return{'id':_0x50e12b['id'],'scope':'company','appCode':_0x39f98a,'title':_0x31d13a,'version':_0x50e12b['version'],'contentByteSize':_0x50f9b4[_0x58c1d7(0x1b2)],'contentHash':_0x50f9b4[_0x58c1d7(0x1d4)],'snapshotHash':_0x2e66de,..._0x45f4b5!==undefined?{'createTime':_0x45f4b5}:{},..._0x1ecc2f!==undefined?{'updateTime':_0x1ecc2f}:{}};}export function assertCompanyKnowledgeBase(_0x2327d5,_0x27c8f9,_0x1bcabd){const _0x1c3d0e=a106_0x4b39c0;if(_0x1bcabd!==undefined&&_0x2327d5['id']!==_0x1bcabd)throw kbError(_0x1c3d0e(0x1e6),'Knowledge-base\x20get-one\x20returned\x20id\x20'+_0x2327d5['id']+'\x20while\x20id\x20'+_0x1bcabd+_0x1c3d0e(0x1db));if(_0x2327d5[_0x1c3d0e(0x1ec)]!==_0x1c3d0e(0x19f)||_0x2327d5['appCode']!==_0x27c8f9)throw kbError(_0x1c3d0e(0x1df),_0x1c3d0e(0x19c)+_0x2327d5['id']+_0x1c3d0e(0x1c6)+_0x27c8f9+'.');}export async function fetchAllCompanyKnowledgeBases(_0x2c2c57,_0x5757ba){const _0x1a8a57=a106_0x4b39c0,_0x16ba34=[],_0x4c1690=new Set();let _0x241821=0x1,_0x49df62=0x0,_0x2c1452;while(!![]){const _0x3946ed=await listEnterpriseKnowledgeBases(_0x2c2c57[_0x1a8a57(0x1a5)],{'currentPage':_0x241821,'pageSize':LIST_PAGE_SIZE,'appCode':_0x2c2c57[_0x1a8a57(0x1ed)],..._0x5757ba}),_0x438063=_0x3946ed['paging']?.['totalCount'];if(_0x3946ed[_0x1a8a57(0x1d2)]?.['currentPage']!==undefined&&_0x3946ed[_0x1a8a57(0x1d2)][_0x1a8a57(0x1e8)]!==_0x241821)throw kbError(_0x1a8a57(0x1c7),_0x1a8a57(0x1b5)+_0x3946ed[_0x1a8a57(0x1d2)][_0x1a8a57(0x1e8)]+_0x1a8a57(0x1d1)+_0x241821+_0x1a8a57(0x1db));if(_0x438063!==undefined){if(_0x2c1452!==undefined&&_0x438063!==_0x2c1452)throw kbError(_0x1a8a57(0x1c7),_0x1a8a57(0x1d5)+_0x2c1452+_0x1a8a57(0x1b7)+_0x438063+_0x1a8a57(0x1d8),_0x1a8a57(0x1e7));_0x2c1452=_0x438063;}for(const _0x163dce of _0x3946ed[_0x1a8a57(0x1c8)]){if(!Number[_0x1a8a57(0x1ac)](_0x163dce['id'])||_0x4c1690['has'](_0x163dce['id']))throw kbError(_0x1a8a57(0x1c7),_0x1a8a57(0x1ab)+String(_0x163dce['id'])+'.');_0x4c1690['add'](_0x163dce['id']),_0x163dce[_0x1a8a57(0x1ec)]==='company'&&_0x163dce[_0x1a8a57(0x1ed)]===_0x2c2c57[_0x1a8a57(0x1ed)]&&_0x16ba34[_0x1a8a57(0x1e0)](_0x163dce);}_0x49df62+=_0x3946ed[_0x1a8a57(0x1c8)][_0x1a8a57(0x1c1)];if(_0x438063!==undefined&&_0x49df62>=_0x438063)break;if(_0x3946ed[_0x1a8a57(0x1c8)]['length']<LIST_PAGE_SIZE){if(_0x438063!==undefined&&_0x49df62<_0x438063)throw kbError(_0x1a8a57(0x1c7),_0x1a8a57(0x1a2)+_0x49df62+_0x1a8a57(0x1a0)+_0x438063+_0x1a8a57(0x1ce));break;}_0x241821+=0x1;}return _0x16ba34;}export function findExactCompanyKnowledgeBases(_0x12b9b6,_0x310a51,_0xe38df7){const _0x144efa=a106_0x4b39c0;return _0x12b9b6['filter'](_0x1c2b76=>_0x1c2b76[_0x144efa(0x1ec)]===_0x144efa(0x19f)&&_0x1c2b76[_0x144efa(0x1ed)]===_0x310a51&&_0x1c2b76[_0x144efa(0x1cd)]===_0xe38df7);}export async function getKbOrNull(_0x4d3085,_0x4de919){const _0xdbbd53=a106_0x4b39c0;try{const _0x547767=await getEnterpriseKnowledgeBase(_0x4d3085['cookie'],_0x4de919);return assertCompanyKnowledgeBase(_0x547767,_0x4d3085[_0xdbbd53(0x1ed)],_0x4de919),_0x547767;}catch(_0x4bfb85){if(getPlatformErrorCode(_0x4bfb85)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x4bfb85;}}export async function requireKb(_0x215c03,_0xe8607a){const _0x377d73=a106_0x4b39c0,_0x1caf06=await getKbOrNull(_0x215c03,_0xe8607a);if(!_0x1caf06)throw kbError(_0x377d73(0x1ca),_0x377d73(0x1be)+_0xe8607a,_0x377d73(0x1bf));return _0x1caf06;}export function assertExpectedKbVersion(_0xd1fa49,_0x2f0a8f){const _0x1ba9e7=a106_0x4b39c0;if(_0x2f0a8f===undefined||_0xd1fa49[_0x1ba9e7(0x1a1)]===_0x2f0a8f)return;throw kbError('kb_state_drift',_0x1ba9e7(0x19c)+_0xd1fa49['id']+_0x1ba9e7(0x1e9)+_0x2f0a8f+_0x1ba9e7(0x1ad)+_0xd1fa49[_0x1ba9e7(0x1a1)]+'.',_0x1ba9e7(0x1ee));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a107_0x5cd755=a107_0x5c09;(function(_0x4a2967,_0x29c9c0){const _0x1d0861=a107_0x5c09,_0x40ebe3=_0x4a2967();while(!![]){try{const _0x2c2e4b=parseInt(_0x1d0861(0x1e4))/0x1+-parseInt(_0x1d0861(0x1fa))/0x2+parseInt(_0x1d0861(0x1d7))/0x3+parseInt(_0x1d0861(0x1de))/0x4+parseInt(_0x1d0861(0x1f6))/0x5+parseInt(_0x1d0861(0x1db))/0x6+-parseInt(_0x1d0861(0x1e9))/0x7*(parseInt(_0x1d0861(0x1d5))/0x8);if(_0x2c2e4b===_0x29c9c0)break;else _0x40ebe3['push'](_0x40ebe3['shift']());}catch(_0x1f9f7a){_0x40ebe3['push'](_0x40ebe3['shift']());}}}(a107_0x175c,0xe2926));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,verifyKbMutationReadback}from'../../commands/kb/shared.js';function a107_0x5c09(_0x42f7b1,_0x1b4ea6){_0x42f7b1=_0x42f7b1-0x1ce;const _0x175c73=a107_0x175c();let _0x5c094b=_0x175c73[_0x42f7b1];return _0x5c094b;}const UPDATE_PATH=a107_0x5cd755(0x1f1),NON_ATOMIC_WARNING=a107_0x5cd755(0x1f7);function readUpdatePatch(_0x8c9c3){const _0x5cfec6=a107_0x5cd755,_0x520cc4=readKbId(_0x8c9c3),_0xc80186=_0x8c9c3['flag'](_0x5cfec6(0x1d4)),_0xea279=_0x8c9c3[_0x5cfec6(0x1d1)](_0x5cfec6(0x1f5)),_0x2d825d=_0x8c9c3['flag']('expected-version'),_0x154cf7=_0xc80186===undefined?undefined:String(_0xc80186)['trim']();if(_0xc80186!==undefined&&!_0x154cf7)throw kbError(_0x5cfec6(0x1da),_0x5cfec6(0x1ec));const _0x23f8a0=_0xea279===undefined?undefined:String(_0xea279)[_0x5cfec6(0x1e8)]();if(_0xea279!==undefined&&!_0x23f8a0)throw kbError(_0x5cfec6(0x1fd),_0x5cfec6(0x1dc));if(_0x154cf7===undefined&&_0x23f8a0===undefined)throw kbError('kb_update_empty',_0x5cfec6(0x1f9),'Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.');let _0x37b370;if(_0x2d825d!==undefined){_0x37b370=Number(_0x2d825d);if(!Number[_0x5cfec6(0x1d3)](_0x37b370)||_0x37b370<0x0)throw kbError(_0x5cfec6(0x1d8),_0x5cfec6(0x1df));}return{'id':_0x520cc4,'title':_0x154cf7,'file':_0x23f8a0,'expectedVersion':_0x37b370};}async function prepareUpdate(_0x389420){const _0x39e4de=a107_0x5cd755,_0x280dc8=readUpdatePatch(_0x389420),_0x337719=await requireKb(_0x389420,_0x280dc8['id']);assertExpectedKbVersion(_0x337719,_0x280dc8[_0x39e4de(0x1dd)]);const _0xaf057d=_0x280dc8[_0x39e4de(0x1f5)]?await readKbFile(_0x280dc8[_0x39e4de(0x1f5)]):undefined,_0x2b3a12=projectKb(_0x337719),_0x4e1c6b=projectKb({..._0x337719,..._0x280dc8[_0x39e4de(0x1d4)]!==undefined?{'title':_0x280dc8[_0x39e4de(0x1d4)]}:{},..._0xaf057d?{'content':_0xaf057d['content']}:{}});return{'patch':_0x280dc8,'beforeRecord':_0x337719,'before':_0x2b3a12,'planned':_0x4e1c6b,'replacement':_0xaf057d};}export const kbUpdate={'service':'kb','command':a107_0x5cd755(0x1e5),'description':a107_0x5cd755(0x1e7),'risk':a107_0x5cd755(0x1ea),'requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':a107_0x5cd755(0x1d0),'required':!![],'description':a107_0x5cd755(0x1cf)},{'name':a107_0x5cd755(0x1d4),'type':a107_0x5cd755(0x1fb),'required':![],'description':a107_0x5cd755(0x1fe)},{'name':a107_0x5cd755(0x1f5),'type':a107_0x5cd755(0x1fb),'required':![],'description':a107_0x5cd755(0x202)},{'name':'expected-version','type':'number','required':![],'description':a107_0x5cd755(0x1ff)}],async 'validate'(_0x597779){readUpdatePatch(_0x597779);},async 'dryRun'(_0x23fd12){const _0x5e6b0c=a107_0x5cd755,_0x48ca47=await prepareUpdate(_0x23fd12),_0x32b0e1=_0x48ca47[_0x5e6b0c(0x1f3)][_0x5e6b0c(0x1dd)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x5e6b0c(0x1e5),'selector':{'id':_0x48ca47['before']['id'],'scope':'company','appCode':_0x48ca47[_0x5e6b0c(0x1d9)]['appCode']},'before':_0x48ca47[_0x5e6b0c(0x1d9)],'after':_0x48ca47[_0x5e6b0c(0x1ce)],'dryRun':!![],'backend':{'method':'POST','path':UPDATE_PATH},'warnings':_0x32b0e1,'verification':{'expectedVersion':_0x48ca47[_0x5e6b0c(0x1f3)][_0x5e6b0c(0x1dd)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x48ca47['before'][_0x5e6b0c(0x200)],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x48ca47[_0x5e6b0c(0x1d9)]['id']+_0x5e6b0c(0x1ed)}},{'method':_0x5e6b0c(0x1e6),'url':UPDATE_PATH});},async 'execute'(_0x5b54c1){const _0x43ce93=a107_0x5cd755,_0xec2c50=await prepareUpdate(_0x5b54c1),_0x46a455={'id':_0xec2c50[_0x43ce93(0x1f3)]['id'],..._0xec2c50[_0x43ce93(0x1f3)][_0x43ce93(0x1d4)]!==undefined?{'title':_0xec2c50[_0x43ce93(0x1f3)][_0x43ce93(0x1d4)]}:{},..._0xec2c50[_0x43ce93(0x1ee)]?{'content':_0xec2c50[_0x43ce93(0x1ee)][_0x43ce93(0x1d2)]}:{}};let _0x197781=![];try{const _0x50f539=await updateEnterpriseKnowledgeBase(_0x5b54c1[_0x43ce93(0x1f4)],_0x46a455);assertCompanyKnowledgeBase(_0x50f539,_0x5b54c1[_0x43ce93(0x1ef)],_0xec2c50['patch']['id']);}catch(_0x2045ff){if(!isPlatformTransportFailure(_0x2045ff))throw _0x2045ff;_0x197781=!![];}const _0x20804a=await verifyKbMutationReadback(_0x43ce93(0x1e5),_0x197781,()=>requireKb(_0x5b54c1,_0xec2c50[_0x43ce93(0x1f3)]['id'])),_0x161b5a=projectKb(_0x20804a),_0x2093a6=_0xec2c50['patch'][_0x43ce93(0x1d4)]===undefined||_0x20804a['title']===_0xec2c50[_0x43ce93(0x1f3)]['title'],_0x3ba484=!_0xec2c50[_0x43ce93(0x1ee)]||inspectKbContent(_0x20804a[_0x43ce93(0x1d2)])['contentHash']===_0xec2c50[_0x43ce93(0x1ee)][_0x43ce93(0x1e1)],_0x128c42=!_0xec2c50[_0x43ce93(0x1ee)]||_0x20804a[_0x43ce93(0x1d6)]>_0xec2c50['beforeRecord']['version'],_0xe3e84e=!_0x197781||_0xec2c50[_0x43ce93(0x1ee)]!==undefined||_0xec2c50[_0x43ce93(0x1f3)]['title']===undefined||_0xec2c50['beforeRecord'][_0x43ce93(0x1d4)]!==_0xec2c50[_0x43ce93(0x1f3)][_0x43ce93(0x1d4)];if(!_0x2093a6||!_0x3ba484||!_0x128c42||!_0xe3e84e)throw kbError(_0x197781?'kb_update_outcome_unknown':_0x43ce93(0x1eb),_0x43ce93(0x201)+_0xec2c50[_0x43ce93(0x1f3)]['id']+_0x43ce93(0x1f8),'Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20'+_0xec2c50[_0x43ce93(0x1f3)]['id']+_0x43ce93(0x1f0));const _0x554996=[];return _0xec2c50['patch'][_0x43ce93(0x1dd)]!==undefined&&_0x554996[_0x43ce93(0x1e2)](NON_ATOMIC_WARNING),_0x197781&&_0x554996['push'](_0x43ce93(0x1e0)),{'ok':!![],'data':{'operation':_0x43ce93(0x1e5),'selector':{'id':_0x161b5a['id'],'scope':_0x43ce93(0x1e3),'appCode':_0x161b5a[_0x43ce93(0x1ef)]},'before':_0xec2c50[_0x43ce93(0x1d9)],'after':_0x161b5a,'dryRun':![],'backend':{'method':_0x43ce93(0x1e6),'path':UPDATE_PATH},'warnings':_0x554996,'verification':{'status':_0x43ce93(0x1fc),'recoveredAfterUnknownResponse':_0x197781,'expectedVersion':_0xec2c50[_0x43ce93(0x1f3)][_0x43ce93(0x1dd)]??null,'atomicCompareAndSet':![],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x161b5a['id']+_0x43ce93(0x1ed)}},'message':_0x43ce93(0x1f2)+_0x161b5a['id']};}};function a107_0x175c(){const _0x3f8470=['kb_title_invalid','10059408fvmghO','--file\x20cannot\x20be\x20empty.','expectedVersion','574152htQCtC','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','contentHash','push','company','293572BHjexP','update','POST','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','trim','49Ynkpmp','write','kb_verification_failed','--title\x20cannot\x20be\x20empty.','\x20--format\x20compress','replacement','appCode','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','/admin/knowledge-base/update','Updated\x20company\x20knowledge\x20base\x20','patch','cookie','file','643150EFeajn','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','Nothing\x20to\x20update.','40862ZpKQNp','string','verified','kb_file_required','New\x20knowledge-base\x20title','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','snapshotHash','Company\x20knowledge\x20base\x20','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','planned','Company\x20knowledge-base\x20id','number','flag','content','isSafeInteger','title','2665688EAOUZY','version','3115914DcTneT','kb_expected_version_invalid','before'];a107_0x175c=function(){return _0x3f8470;};return a107_0x175c();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a108_0x31e009=a108_0x232f;function a108_0x1d71(){const _0x214c5d=['*\x20Logs\x20cleared','duration','189480ZrcRIX','readLogs','\x20\x20\x20Duration:\x20','\x20\x20\x20Details:\x20','timestamp','level','log','message','error','details','258ABHSoH','756744AicPOj','logs','9EpNHJL','clear','\x20\x20\x20Time:\x20','1065296VPIsaE','3249812xUoLMa','toLocaleString','582708gjOLCT','forEach','stringify','write','en-US','291282sVRCdy','3697fHMmFX','length','warn','*\x20No\x20logs\x20found','read','success','command','show'];a108_0x1d71=function(){return _0x214c5d;};return a108_0x1d71();}function a108_0x232f(_0x5dd0a2,_0x3f22a1){_0x5dd0a2=_0x5dd0a2-0xc9;const _0x1d7194=a108_0x1d71();let _0x232fa0=_0x1d7194[_0x5dd0a2];return _0x232fa0;}(function(_0x4e7075,_0x360e74){const _0x106242=a108_0x232f,_0x1af2f2=_0x4e7075();while(!![]){try{const _0xf84e89=-parseInt(_0x106242(0xd8))/0x1*(parseInt(_0x106242(0xc9))/0x2)+-parseInt(_0x106242(0xd7))/0x3+parseInt(_0x106242(0xd0))/0x4+parseInt(_0x106242(0xe2))/0x5+parseInt(_0x106242(0xca))/0x6+-parseInt(_0x106242(0xd2))/0x7+parseInt(_0x106242(0xcf))/0x8*(parseInt(_0x106242(0xcc))/0x9);if(_0xf84e89===_0x360e74)break;else _0x1af2f2['push'](_0x1af2f2['shift']());}catch(_0x33c3a9){_0x1af2f2['push'](_0x1af2f2['shift']());}}}(a108_0x1d71,0x6e720));import{logger}from'../../utils/logger.js';function printLogs(_0x2351f7){const _0x35f466=a108_0x232f;if(_0x2351f7[_0x35f466(0xd9)]===0x0){console['log'](_0x35f466(0xdb));return;}console[_0x35f466(0xe8)]('*\x20Lovrabet\x20CLI\x20logs:\x0a'),_0x2351f7[_0x35f466(0xd3)]((_0x3d70ab,_0x536438)=>{const _0x15cfaf=_0x35f466,_0x5c34a3=new Date(_0x3d70ab[_0x15cfaf(0xe6)])[_0x15cfaf(0xd1)](_0x15cfaf(0xd6)),_0x317d8e=_0x3d70ab[_0x15cfaf(0xe7)]===_0x15cfaf(0xdd)?'√':_0x3d70ab[_0x15cfaf(0xe7)]===_0x15cfaf(0xea)?'×':_0x3d70ab['level']===_0x15cfaf(0xda)?'!':'i';console[_0x15cfaf(0xe8)](_0x536438+0x1+'.\x20'+_0x317d8e+'\x20['+_0x3d70ab[_0x15cfaf(0xde)]+']\x20'+_0x3d70ab[_0x15cfaf(0xe9)]),console[_0x15cfaf(0xe8)](_0x15cfaf(0xce)+_0x5c34a3),_0x3d70ab[_0x15cfaf(0xe1)]&&console[_0x15cfaf(0xe8)](_0x15cfaf(0xe4)+_0x3d70ab['duration']+'ms'),_0x3d70ab['details']&&Object['keys'](_0x3d70ab[_0x15cfaf(0xeb)])['length']>0x0&&console[_0x15cfaf(0xe8)](_0x15cfaf(0xe5)+JSON[_0x15cfaf(0xd4)](_0x3d70ab['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a108_0x31e009(0xcb),'command':a108_0x31e009(0xdf),'description':'View\x20command\x20history\x20logs','risk':a108_0x31e009(0xdc),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x28f6bc){const _0x391b5a=a108_0x31e009;return printLogs(logger[_0x391b5a(0xe3)]()),{'ok':!![]};}},{'service':'logs','command':a108_0x31e009(0xcd),'description':'Clear\x20command\x20history\x20logs','risk':a108_0x31e009(0xd5),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4bb522){const _0x2d35f4=a108_0x31e009;return logger['clearLogs'](),console[_0x2d35f4(0xe8)](_0x2d35f4(0xe0)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a111_0x71fc25=a111_0x4a26;function a111_0x458d(){const _0x440ca4=['cookie','✓\x20Menu\x20asset\x20update\x20completed:\x20','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','paths','diffs','Would\x20update\x20','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','menu','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','6QpKlVA','map','force','selectedAppName','2415721rfDiLN','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','\x20\x20Update\x20','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','str','713704AwhXJB','45935zUFUDT','updated','object','Menu\x20asset\x20update\x20failed','rawFlags','patch','message','jsUrl','\x20menu(s)','all','Online\x20menu\x20list\x20fetched','\x20\x20Found\x20','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','fetch','params','\x20failed.','split','menu-ids','string','length','validation','467323KRYRuD','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','Failed\x20to\x20fetch\x20online\x20menu\x20list','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','\x20menu(s)...','\x20menu(s)\x20with\x20existing\x20resources','mode','parse','appcode','\x20menu\x20resource\x20set(s).','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','isSafeInteger','\x20menu(s)\x20updated','skipped','failed','\x20menu(s)\x20failed','12009591VGdcSM','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','138qqRbdn','\x20\x20Cancelled.','\x20updated,\x20','\x20and\x20CSS:\x20','stringify','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','\x20updated.','Menu\x20asset\x20update\x20skipped','appCode','cssUrl','replace','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','some','asset-update','gray','boolean','2776408IEhijd','import','write','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','Fetching\x20online\x20menu\x20list...','script','Menu\x20asset\x20update\x20completed:\x20','413676lgjXDT','trim','Updated\x20','POST'];a111_0x458d=function(){return _0x440ca4;};return a111_0x458d();}(function(_0x28d6aa,_0x3e1054){const _0x3dc8a6=a111_0x4a26,_0x568df4=_0x28d6aa();while(!![]){try{const _0x3f41df=-parseInt(_0x3dc8a6(0x12f))/0x1+parseInt(_0x3dc8a6(0x103))/0x2+-parseInt(_0x3dc8a6(0x110))/0x3*(parseInt(_0x3dc8a6(0x119))/0x4)+parseInt(_0x3dc8a6(0x11a))/0x5*(parseInt(_0x3dc8a6(0x142))/0x6)+-parseInt(_0x3dc8a6(0x114))/0x7+-parseInt(_0x3dc8a6(0xfc))/0x8+parseInt(_0x3dc8a6(0x140))/0x9;if(_0x3f41df===_0x3e1054)break;else _0x568df4['push'](_0x568df4['shift']());}catch(_0x35d1cb){_0x568df4['push'](_0x568df4['shift']());}}}(a111_0x458d,0x39ab1));import a111_0x597d2a 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,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a111_0x71fc25(0x10e),'command':a111_0x71fc25(0xf9),'description':a111_0x71fc25(0x141),'risk':a111_0x71fc25(0xfe),'flags':[{'name':a111_0x71fc25(0x128),'type':a111_0x71fc25(0x12c),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a111_0x71fc25(0x126)},{'name':a111_0x71fc25(0x135),'type':a111_0x71fc25(0x12c),'description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+a111_0x71fc25(0x13a),'enum':[a111_0x71fc25(0xf6),a111_0x71fc25(0x11f)],'default':a111_0x71fc25(0x11f)},{'name':a111_0x71fc25(0x112),'type':a111_0x71fc25(0xfb),'description':a111_0x71fc25(0xff)},{'name':'menu-ids','type':a111_0x71fc25(0x12c),'description':a111_0x71fc25(0x147)},{'name':a111_0x71fc25(0x10a),'type':a111_0x71fc25(0x12c),'description':a111_0x71fc25(0x10d)},{'name':a111_0x71fc25(0x123),'type':a111_0x71fc25(0xfb),'description':a111_0x71fc25(0x132)},{'name':'load-mode','type':'string','enum':[a111_0x71fc25(0xfd),a111_0x71fc25(0x101),a111_0x71fc25(0x127)],'description':'Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode'}],async 'dryRun'(_0x1a442a){const _0x4f8360=a111_0x71fc25;ensureRunnableContext(_0x1a442a[_0x4f8360(0x11e)],_0x1a442a[_0x4f8360(0x113)]);const _0x15c92d=await runMenuUpdateCore(_0x1a442a[_0x4f8360(0x14a)],_0x1a442a[_0x4f8360(0x107)],_0x1a442a['str'](_0x4f8360(0x128)),{'mode':parseMode(_0x1a442a[_0x4f8360(0x118)]('mode')),'dryRun':!![],'force':_0x1a442a['bool'](_0x4f8360(0x112)),'selection':parseSelection(_0x1a442a),'loadScriptMode':parseLoadScriptMode(_0x1a442a[_0x4f8360(0x118)]('load-mode'))});return{'method':_0x4f8360(0x106),'url':'/smartapi/menu/update','body':_0x15c92d,'description':_0x15c92d[_0x4f8360(0x13d)]?_0x4f8360(0x10f):_0x4f8360(0x10c)+(_0x15c92d[_0x4f8360(0x10b)]?.['length']??0x0)+_0x4f8360(0x138)};},async 'execute'(_0x39d2b0){const _0x153747=a111_0x71fc25;ensureRunnableContext(_0x39d2b0['rawFlags'],_0x39d2b0[_0x153747(0x113)]);const _0xd7645f=_0x39d2b0[_0x153747(0x118)](_0x153747(0x128)),_0x2aeb34=parseMode(_0x39d2b0[_0x153747(0x118)]('mode')),_0x988966=_0x39d2b0['bool'](_0x153747(0x112)),_0x2cb20e=parseLoadScriptMode(_0x39d2b0[_0x153747(0x118)]('load-mode')),_0x5da14a=parseParams(_0xd7645f),_0x7b4bdd=!!(_0x5da14a[_0x153747(0x121)]||_0x5da14a[_0x153747(0xf5)]);if(_0x7b4bdd){const _0x30b504=await runMenuUpdateCore(_0x39d2b0[_0x153747(0x14a)],_0x39d2b0[_0x153747(0x107)],_0xd7645f,{'mode':_0x2aeb34,'force':_0x988966,'selection':parseSelection(_0x39d2b0),'loadScriptMode':_0x2cb20e});return _0x30b504[_0x153747(0x13d)]?writeCliSideChannelLine(_0x153747(0x130)):(writeCliSideChannelLine(_0x153747(0x108)+_0x30b504[_0x153747(0x11b)]+_0x153747(0x13c)),_0x30b504[_0x153747(0x13e)]>0x0&&writeCliSideChannelLine('!\x20'+_0x30b504[_0x153747(0x13e)]+_0x153747(0x13f))),{'ok':_0x30b504[_0x153747(0x13e)]===0x0,'data':_0x30b504,'message':_0x30b504[_0x153747(0x13d)]?_0x153747(0x149):'Menu\x20asset\x20update\x20completed:\x20'+_0x30b504[_0x153747(0x11b)]+'\x20updated,\x20'+_0x30b504[_0x153747(0x13e)]+_0x153747(0x129)};}requireInteractive();const _0x10d51a=startSpinner(_0x153747(0x100));let _0x2e9947;try{_0x2e9947=await fetchOnlineMenuList(_0x39d2b0[_0x153747(0x14a)],_0x39d2b0['cookie']),stopSpinner(_0x10d51a,_0x153747(0x124),!![]);}catch(_0x5cc52e){stopSpinner(_0x10d51a,_0x153747(0x131),![]);throw CliErrors['validation'](_0x5cc52e instanceof Error?_0x5cc52e[_0x153747(0x120)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x4ffcdc=filterMenusWithResources(_0x2e9947),_0x3cbb59=parseSelection(_0x39d2b0,![]),_0x1f5a26=_0x3cbb59?selectMenusForUpdate(_0x4ffcdc,_0x3cbb59):_0x4ffcdc;if(_0x1f5a26['length']===0x0)return writeCliSideChannelLine(a111_0x597d2a['yellow'](_0x153747(0x139))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a111_0x597d2a['cyan'](_0x153747(0x125)+_0x1f5a26[_0x153747(0x12d)]+_0x153747(0x134))),writeCliSideChannelLine(renderUpdateSummary(_0x1f5a26[_0x153747(0x111)](_0x48798b=>_0x48798b['label']),[_0x5da14a['jsUrl'],_0x5da14a[_0x153747(0xf5)]])),writeCliSideChannelLine('');let _0x4442a8=_0x5da14a['jsUrl'],_0x3b997c=_0x5da14a[_0x153747(0xf5)];!_0x4442a8&&(_0x4442a8=await askJsUrl());!_0x3b997c&&(_0x3b997c=await askCssUrl());const _0x18cf4b=await askConfirm(_0x153747(0x116)+_0x1f5a26[_0x153747(0x12d)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x4442a8+_0x153747(0x145)+_0x3b997c+'?');if(!_0x18cf4b)return writeCliSideChannelLine(a111_0x597d2a[_0x153747(0xfa)](_0x153747(0x143))),{'ok':!![]};const _0x29afc5=startSpinner('Updating\x20'+_0x1f5a26['length']+_0x153747(0x133));try{const _0x1adbe3=await runMenuUpdateCore(_0x39d2b0[_0x153747(0x14a)],_0x39d2b0[_0x153747(0x107)],JSON[_0x153747(0x146)]({'jsUrl':_0x4442a8,'cssUrl':_0x3b997c}),{'mode':_0x2aeb34,'force':_0x988966,'selection':{'all':![],'menuIds':_0x1f5a26[_0x153747(0x111)](_0x338fc0=>_0x338fc0['id']),'paths':[]},'loadScriptMode':_0x2cb20e});return stopSpinner(_0x29afc5,_0x153747(0x105)+_0x1adbe3['updated']+_0x153747(0x122),_0x1adbe3[_0x153747(0x13e)]===0x0),{'ok':_0x1adbe3['failed']===0x0,'data':_0x1adbe3,'message':_0x1adbe3[_0x153747(0x13e)]>0x0?'Menu\x20asset\x20update\x20completed:\x20'+_0x1adbe3[_0x153747(0x11b)]+_0x153747(0x144)+_0x1adbe3[_0x153747(0x13e)]+'\x20failed.':_0x153747(0x102)+_0x1adbe3[_0x153747(0x11b)]+_0x153747(0x148)};}catch(_0x13abac){stopSpinner(_0x29afc5,_0x153747(0x11d),![]);throw CliErrors['validation'](_0x13abac instanceof Error?_0x13abac['message']:'Menu\x20asset\x20update\x20failed');}}};function ensureRunnableContext(_0x183669,_0xfce577){const _0x1c639b=a111_0x71fc25,_0x8334b6=_0x183669[_0x1c639b(0x137)]?String(_0x183669[_0x1c639b(0x137)])['trim']():'';if(!isInProject()&&!_0xfce577&&!_0x8334b6)throw CliErrors['validation']('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function a111_0x4a26(_0x292770,_0x4885cd){_0x292770=_0x292770-0xf5;const _0x458ddb=a111_0x458d();let _0x4a266c=_0x458ddb[_0x292770];return _0x4a266c;}function parseMode(_0x5ef5fc){const _0x55e95c=a111_0x71fc25;if(!_0x5ef5fc)return'patch';if(_0x5ef5fc==='replace'||_0x5ef5fc===_0x55e95c(0x11f))return _0x5ef5fc;throw CliErrors[_0x55e95c(0x12e)](_0x55e95c(0xf7));}function parseSelection(_0x89e61c,_0x23c1b4=!![]){const _0x59e2b8=a111_0x71fc25,_0x1f1d45=_0x89e61c['bool'](_0x59e2b8(0x123)),_0x344a85=parseMenuIds(_0x89e61c[_0x59e2b8(0x118)](_0x59e2b8(0x12b))),_0x16b45e=parseCsv(_0x89e61c[_0x59e2b8(0x118)](_0x59e2b8(0x10a))),_0x27766b=_0x344a85[_0x59e2b8(0x12d)]>0x0||_0x16b45e[_0x59e2b8(0x12d)]>0x0;if(_0x1f1d45&&_0x27766b)throw CliErrors['validation'](_0x59e2b8(0x117));if(!_0x1f1d45&&!_0x27766b){if(!_0x23c1b4)return undefined;throw CliErrors[_0x59e2b8(0x12e)](_0x59e2b8(0x109));}return{'all':_0x1f1d45,'menuIds':_0x344a85,'paths':_0x16b45e};}function parseMenuIds(_0x1e5e3c){const _0x44704d=a111_0x71fc25,_0x5e5229=parseCsv(_0x1e5e3c),_0x1e0b58=_0x5e5229[_0x44704d(0x111)](Number);if(_0x1e0b58[_0x44704d(0xf8)](_0x5ca482=>!Number[_0x44704d(0x13b)](_0x5ca482)||_0x5ca482<=0x0))throw CliErrors[_0x44704d(0x12e)](_0x44704d(0x115));return[...new Set(_0x1e0b58)];}function parseCsv(_0x404e5c){const _0x4bdf5b=a111_0x71fc25;return[...new Set(_0x404e5c[_0x4bdf5b(0x12a)](',')[_0x4bdf5b(0x111)](_0x7cbe93=>_0x7cbe93['trim']())['filter'](Boolean))];}function parseLoadScriptMode(_0x2c7f70){const _0x42ec15=a111_0x71fc25;if(!_0x2c7f70)return undefined;if(_0x2c7f70===_0x42ec15(0xfd)||_0x2c7f70===_0x42ec15(0x101)||_0x2c7f70===_0x42ec15(0x127))return _0x2c7f70;throw CliErrors[_0x42ec15(0x12e)]('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x22b7b7){const _0x2760bf=a111_0x71fc25;if(!_0x22b7b7)return{};try{const _0x47f8c6=JSON[_0x2760bf(0x136)](_0x22b7b7);if(typeof _0x47f8c6!==_0x2760bf(0x11c)||_0x47f8c6===null||Array['isArray'](_0x47f8c6))return{};return{'jsUrl':typeof _0x47f8c6['jsUrl']===_0x2760bf(0x12c)?_0x47f8c6[_0x2760bf(0x121)][_0x2760bf(0x104)]():undefined,'cssUrl':typeof _0x47f8c6[_0x2760bf(0xf5)]==='string'?_0x47f8c6[_0x2760bf(0xf5)]['trim']():undefined};}catch{return{};}}
|
|
1
|
+
const a109_0xe2948e=a109_0x488f;(function(_0x143f4c,_0x1f0a48){const _0x4c1ba7=a109_0x488f,_0x33e0d3=_0x143f4c();while(!![]){try{const _0x21b666=parseInt(_0x4c1ba7(0x135))/0x1+parseInt(_0x4c1ba7(0x115))/0x2*(parseInt(_0x4c1ba7(0x149))/0x3)+-parseInt(_0x4c1ba7(0x13a))/0x4+parseInt(_0x4c1ba7(0x14a))/0x5+parseInt(_0x4c1ba7(0x155))/0x6+parseInt(_0x4c1ba7(0x10d))/0x7*(parseInt(_0x4c1ba7(0x13d))/0x8)+parseInt(_0x4c1ba7(0x131))/0x9*(-parseInt(_0x4c1ba7(0x12f))/0xa);if(_0x21b666===_0x1f0a48)break;else _0x33e0d3['push'](_0x33e0d3['shift']());}catch(_0x3b91b4){_0x33e0d3['push'](_0x33e0d3['shift']());}}}(a109_0x4abf,0x45715));function a109_0x4abf(){const _0x45b46a=['\x20\x20Update\x20','trim','113517vhoTkB','jsUrl','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','!\x20No\x20menus\x20with\x20existing\x20resources\x20found','map','1007324Swbpiw','Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources','force','294704kcaHLF','cookie','str','message','appCode','\x20failed.','some','filter','cssUrl','replace','length','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','9186GWsozS','386785mNTvgS','\x20updated.','Menu\x20asset\x20update\x20skipped','isArray','fetch','Online\x20menu\x20list\x20fetched','all','script','\x20menu(s)','✓\x20Menu\x20asset\x20update\x20completed:\x20','load-mode','1985394YzVmYC','\x20\x20Cancelled.','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','appcode','object','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','\x20menu(s)\x20with\x20existing\x20resources','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','77DtOpdo','\x20menu\x20resource\x20set(s).','mode','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','import','rawFlags','selectedAppName','Updating\x20','28LwLdwd','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','string','boolean','params','validation','updated','yellow','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','\x20menu(s)...','isSafeInteger','parse','\x20updated,\x20','/smartapi/menu/update','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','write','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','bool','label','Menu\x20asset\x20update\x20completed:\x20','gray','Menu\x20asset\x20update\x20failed','menu','failed','patch','skipped','590cMkIeI','diffs','66141nsENMC','\x20menu(s)\x20with\x20JS:\x20'];a109_0x4abf=function(){return _0x45b46a;};return a109_0x4abf();}import a109_0x10741f from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';function a109_0x488f(_0x2db872,_0x39a684){_0x2db872=_0x2db872-0x10b;const _0x4abf2f=a109_0x4abf();let _0x488f6f=_0x4abf2f[_0x2db872];return _0x488f6f;}import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a109_0xe2948e(0x12b),'command':'asset-update','description':a109_0xe2948e(0x137),'risk':a109_0xe2948e(0x124),'flags':[{'name':'params','type':'string','description':a109_0xe2948e(0x148)+'JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}'},{'name':a109_0xe2948e(0x10f),'type':'string','description':'Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20'+'patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','enum':[a109_0xe2948e(0x146),a109_0xe2948e(0x12d)],'default':a109_0xe2948e(0x12d)},{'name':a109_0xe2948e(0x13c),'type':a109_0xe2948e(0x118),'description':'Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources'},{'name':'menu-ids','type':a109_0xe2948e(0x117),'description':a109_0xe2948e(0x10c)},{'name':'paths','type':'string','description':a109_0xe2948e(0x11d)},{'name':a109_0xe2948e(0x150),'type':'boolean','description':a109_0xe2948e(0x13b)},{'name':'load-mode','type':a109_0xe2948e(0x117),'enum':['import','script',a109_0xe2948e(0x14e)],'description':a109_0xe2948e(0x116)}],async 'dryRun'(_0x3a29b8){const _0x5dafc9=a109_0xe2948e;ensureRunnableContext(_0x3a29b8[_0x5dafc9(0x112)],_0x3a29b8[_0x5dafc9(0x113)]);const _0x37bea8=await runMenuUpdateCore(_0x3a29b8[_0x5dafc9(0x141)],_0x3a29b8['cookie'],_0x3a29b8[_0x5dafc9(0x13f)](_0x5dafc9(0x119)),{'mode':parseMode(_0x3a29b8[_0x5dafc9(0x13f)](_0x5dafc9(0x10f))),'dryRun':!![],'force':_0x3a29b8['bool'](_0x5dafc9(0x13c)),'selection':parseSelection(_0x3a29b8),'loadScriptMode':parseLoadScriptMode(_0x3a29b8[_0x5dafc9(0x13f)](_0x5dafc9(0x154)))});return{'method':'POST','url':_0x5dafc9(0x122),'body':_0x37bea8,'description':_0x37bea8[_0x5dafc9(0x12e)]?_0x5dafc9(0x157):'Would\x20update\x20'+(_0x37bea8[_0x5dafc9(0x130)]?.['length']??0x0)+_0x5dafc9(0x10e)};},async 'execute'(_0x3f1a1e){const _0x13d669=a109_0xe2948e;ensureRunnableContext(_0x3f1a1e[_0x13d669(0x112)],_0x3f1a1e[_0x13d669(0x113)]);const _0x4f4f62=_0x3f1a1e['str'](_0x13d669(0x119)),_0x1b3905=parseMode(_0x3f1a1e[_0x13d669(0x13f)](_0x13d669(0x10f))),_0x36df83=_0x3f1a1e[_0x13d669(0x126)](_0x13d669(0x13c)),_0x38524a=parseLoadScriptMode(_0x3f1a1e[_0x13d669(0x13f)](_0x13d669(0x154))),_0x7fb3ad=parseParams(_0x4f4f62),_0x4815d3=!!(_0x7fb3ad[_0x13d669(0x136)]||_0x7fb3ad[_0x13d669(0x145)]);if(_0x4815d3){const _0x5bcbda=await runMenuUpdateCore(_0x3f1a1e[_0x13d669(0x141)],_0x3f1a1e['cookie'],_0x4f4f62,{'mode':_0x1b3905,'force':_0x36df83,'selection':parseSelection(_0x3f1a1e),'loadScriptMode':_0x38524a});return _0x5bcbda['skipped']?writeCliSideChannelLine(_0x13d669(0x138)):(writeCliSideChannelLine(_0x13d669(0x153)+_0x5bcbda['updated']+'\x20menu(s)\x20updated'),_0x5bcbda['failed']>0x0&&writeCliSideChannelLine('!\x20'+_0x5bcbda[_0x13d669(0x12c)]+'\x20menu(s)\x20failed')),{'ok':_0x5bcbda[_0x13d669(0x12c)]===0x0,'data':_0x5bcbda,'message':_0x5bcbda[_0x13d669(0x12e)]?_0x13d669(0x14c):_0x13d669(0x128)+_0x5bcbda['updated']+_0x13d669(0x121)+_0x5bcbda[_0x13d669(0x12c)]+_0x13d669(0x142)};}requireInteractive();const _0x54d957=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x141f89;try{_0x141f89=await fetchOnlineMenuList(_0x3f1a1e[_0x13d669(0x141)],_0x3f1a1e[_0x13d669(0x13e)]),stopSpinner(_0x54d957,_0x13d669(0x14f),!![]);}catch(_0xb0a235){stopSpinner(_0x54d957,'Failed\x20to\x20fetch\x20online\x20menu\x20list',![]);throw CliErrors['validation'](_0xb0a235 instanceof Error?_0xb0a235[_0x13d669(0x140)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x1fdd7e=filterMenusWithResources(_0x141f89),_0x3dc558=parseSelection(_0x3f1a1e,![]),_0x3a9c09=_0x3dc558?selectMenusForUpdate(_0x1fdd7e,_0x3dc558):_0x1fdd7e;if(_0x3a9c09[_0x13d669(0x147)]===0x0)return writeCliSideChannelLine(a109_0x10741f[_0x13d669(0x11c)]('\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found')),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a109_0x10741f['cyan']('\x20\x20Found\x20'+_0x3a9c09[_0x13d669(0x147)]+_0x13d669(0x10b))),writeCliSideChannelLine(renderUpdateSummary(_0x3a9c09[_0x13d669(0x139)](_0x39b8cc=>_0x39b8cc[_0x13d669(0x127)]),[_0x7fb3ad[_0x13d669(0x136)],_0x7fb3ad['cssUrl']])),writeCliSideChannelLine('');let _0x475d08=_0x7fb3ad[_0x13d669(0x136)],_0x18c6fa=_0x7fb3ad['cssUrl'];!_0x475d08&&(_0x475d08=await askJsUrl());!_0x18c6fa&&(_0x18c6fa=await askCssUrl());const _0x566895=await askConfirm(_0x13d669(0x133)+_0x3a9c09[_0x13d669(0x147)]+_0x13d669(0x132)+_0x475d08+'\x20and\x20CSS:\x20'+_0x18c6fa+'?');if(!_0x566895)return writeCliSideChannelLine(a109_0x10741f[_0x13d669(0x129)](_0x13d669(0x156))),{'ok':!![]};const _0x3c4ac9=startSpinner(_0x13d669(0x114)+_0x3a9c09['length']+_0x13d669(0x11e));try{const _0x5bb6c9=await runMenuUpdateCore(_0x3f1a1e[_0x13d669(0x141)],_0x3f1a1e['cookie'],JSON['stringify']({'jsUrl':_0x475d08,'cssUrl':_0x18c6fa}),{'mode':_0x1b3905,'force':_0x36df83,'selection':{'all':![],'menuIds':_0x3a9c09[_0x13d669(0x139)](_0x4cceab=>_0x4cceab['id']),'paths':[]},'loadScriptMode':_0x38524a});return stopSpinner(_0x3c4ac9,'Updated\x20'+_0x5bb6c9[_0x13d669(0x11b)]+_0x13d669(0x152),_0x5bb6c9[_0x13d669(0x12c)]===0x0),{'ok':_0x5bb6c9[_0x13d669(0x12c)]===0x0,'data':_0x5bb6c9,'message':_0x5bb6c9['failed']>0x0?_0x13d669(0x128)+_0x5bb6c9[_0x13d669(0x11b)]+_0x13d669(0x121)+_0x5bb6c9[_0x13d669(0x12c)]+_0x13d669(0x142):_0x13d669(0x128)+_0x5bb6c9[_0x13d669(0x11b)]+_0x13d669(0x14b)};}catch(_0x4b1dd5){stopSpinner(_0x3c4ac9,_0x13d669(0x12a),![]);throw CliErrors[_0x13d669(0x11a)](_0x4b1dd5 instanceof Error?_0x4b1dd5[_0x13d669(0x140)]:_0x13d669(0x12a));}}};function ensureRunnableContext(_0x387e26,_0x16aebc){const _0x2b055c=a109_0xe2948e,_0x3d3458=_0x387e26['appcode']?String(_0x387e26[_0x2b055c(0x158)])[_0x2b055c(0x134)]():'';if(!isInProject()&&!_0x16aebc&&!_0x3d3458)throw CliErrors[_0x2b055c(0x11a)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x557171){const _0x280223=a109_0xe2948e;if(!_0x557171)return _0x280223(0x12d);if(_0x557171===_0x280223(0x146)||_0x557171===_0x280223(0x12d))return _0x557171;throw CliErrors[_0x280223(0x11a)](_0x280223(0x110));}function parseSelection(_0x512ea1,_0x4240ed=!![]){const _0xeecb36=a109_0xe2948e,_0x967ad4=_0x512ea1['bool'](_0xeecb36(0x150)),_0x327b28=parseMenuIds(_0x512ea1[_0xeecb36(0x13f)]('menu-ids')),_0x3ba3a9=parseCsv(_0x512ea1[_0xeecb36(0x13f)]('paths')),_0x194765=_0x327b28[_0xeecb36(0x147)]>0x0||_0x3ba3a9['length']>0x0;if(_0x967ad4&&_0x194765)throw CliErrors[_0xeecb36(0x11a)](_0xeecb36(0x125));if(!_0x967ad4&&!_0x194765){if(!_0x4240ed)return undefined;throw CliErrors[_0xeecb36(0x11a)](_0xeecb36(0x123));}return{'all':_0x967ad4,'menuIds':_0x327b28,'paths':_0x3ba3a9};}function parseMenuIds(_0x5199dd){const _0x2ffd69=a109_0xe2948e,_0x185bdf=parseCsv(_0x5199dd),_0x566f82=_0x185bdf[_0x2ffd69(0x139)](Number);if(_0x566f82[_0x2ffd69(0x143)](_0x46f090=>!Number[_0x2ffd69(0x11f)](_0x46f090)||_0x46f090<=0x0))throw CliErrors[_0x2ffd69(0x11a)](_0x2ffd69(0x15a));return[...new Set(_0x566f82)];}function parseCsv(_0x71aa2e){const _0x3cada5=a109_0xe2948e;return[...new Set(_0x71aa2e['split'](',')['map'](_0x5d4f2b=>_0x5d4f2b[_0x3cada5(0x134)]())[_0x3cada5(0x144)](Boolean))];}function parseLoadScriptMode(_0xc6ce63){const _0x37b30b=a109_0xe2948e;if(!_0xc6ce63)return undefined;if(_0xc6ce63===_0x37b30b(0x111)||_0xc6ce63===_0x37b30b(0x151)||_0xc6ce63==='fetch')return _0xc6ce63;throw CliErrors['validation']('Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch');}function parseParams(_0x452e3f){const _0x47a980=a109_0xe2948e;if(!_0x452e3f)return{};try{const _0x426ca9=JSON[_0x47a980(0x120)](_0x452e3f);if(typeof _0x426ca9!==_0x47a980(0x159)||_0x426ca9===null||Array[_0x47a980(0x14d)](_0x426ca9))return{};return{'jsUrl':typeof _0x426ca9[_0x47a980(0x136)]===_0x47a980(0x117)?_0x426ca9[_0x47a980(0x136)]['trim']():undefined,'cssUrl':typeof _0x426ca9[_0x47a980(0x145)]===_0x47a980(0x117)?_0x426ca9[_0x47a980(0x145)][_0x47a980(0x134)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a112_0x475033=a112_0x5a7b;(function(_0xcc8fdb,_0xe47541){const _0x2cc2a6=a112_0x5a7b,_0x213f29=_0xcc8fdb();while(!![]){try{const _0x53bc71=-parseInt(_0x2cc2a6(0x180))/0x1+parseInt(_0x2cc2a6(0x123))/0x2*(parseInt(_0x2cc2a6(0x12c))/0x3)+parseInt(_0x2cc2a6(0x127))/0x4+-parseInt(_0x2cc2a6(0x184))/0x5*(parseInt(_0x2cc2a6(0x16e))/0x6)+parseInt(_0x2cc2a6(0x145))/0x7*(-parseInt(_0x2cc2a6(0x15d))/0x8)+-parseInt(_0x2cc2a6(0x15e))/0x9+parseInt(_0x2cc2a6(0x133))/0xa;if(_0x53bc71===_0xe47541)break;else _0x213f29['push'](_0x213f29['shift']());}catch(_0x29f5ab){_0x213f29['push'](_0x213f29['shift']());}}}(a112_0x3a87,0x7f0a8));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';function a112_0x3a87(){const _0x3466fe=['execute\x20reviewed\x20delete\x20plan','\x20resource\x20URL(s).','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','target','cascade','pageId','flagMissing','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','menu_recursive_requires_folder','18PNlHWX','map','/smartapi/menu/batchDelete','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','3394636PXeeSI','\x20deleted\x20menus;\x20expected\x20','\x20still\x20references\x20','string','validation','273873DABATI','resources','causeCode','):\x20','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','forEach','recursive','11376340PgSrlb','failed','filter','menu_folder_resources_invalid','hash','plan','Recursive\x20menu\x20delete\x20plan\x20root\x20','appCode','absentIds','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','menu_plan_invalid','bool','boolean','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','childrenIds','menu_page_shared','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','pre-write-plan-validation','3563JDSddS','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','causeMessage','batch-delete','snapshotHash','snapshot','menu_batch_delete_count_mismatch','join','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','folder','type','expected-children-count','menu_non_empty','menu','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','has','push','delete','\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','deleteOrder','15176KTFnPW','3212478tqIYJm','str','Batch\x20delete\x20request\x20for\x20menu\x20','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','Menu\x20','Deleted\x20','toLowerCase','\x20->\x20menu\x20','message','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','plan-validation','rabetbase\x20menu\x20list\x20--format\x20json','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','createdAt','\x20and\x20cannot\x20be\x20deleted\x20safely.','12OIjdLr','menu\x20list','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','plan-out','\x20has\x20','verification','length','expect-path','expect-parent-id','path','add','pages','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','\x20is\x20not\x20a\x20folder.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','menus','\x20is\x20type\x20\x22','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','515905ulWTtC','plan\x20delete','remainingIds','batch-delete-menu','1122830rVJgEv','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.',';\x20execution\x20must\x20consume\x20','Post-failure\x20menu\x20readback\x20failed\x20(','unknown','stringify','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','unconfirmed','POST','trim','cookie','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','high-risk-write','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','verify\x20batch\x20delete','Folder\x20','byId','size'];a112_0x3a87=function(){return _0x3466fe;};return a112_0x3a87();}import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':a112_0x475033(0x125)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a112_0x475033(0x115)},MENU_DELETE_RECURSIVE_FLAG={'name':a112_0x475033(0x132),'type':a112_0x475033(0x13f),'description':a112_0x475033(0x140)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a112_0x475033(0x12a),'description':a112_0x475033(0x168)},MENU_DELETE_PLAN_FLAG={'name':a112_0x475033(0x138),'type':'string','description':a112_0x475033(0x17a)};function a112_0x5a7b(_0x13cdcb,_0x40a9f8){_0x13cdcb=_0x13cdcb-0x107;const _0x3a87ae=a112_0x3a87();let _0x5a7b21=_0x3a87ae[_0x13cdcb];return _0x5a7b21;}export const menuDelete={'service':a112_0x475033(0x153),'command':'delete','description':a112_0x475033(0x147),'risk':a112_0x475033(0x113),'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'(_0x502199){const _0x591633=a112_0x475033;_0x502199[_0x591633(0x13e)]('dry-run')?validateDeleteDryRunInput(_0x502199):validateDeleteExecuteInput(_0x502199),requireExplicitYes(_0x502199);},async 'dryRun'(_0x1ab5af){const _0x4401c6=a112_0x475033;validateDeleteDryRunInput(_0x1ab5af);const _0x22171d=await buildDeletePlan(_0x1ab5af),_0x5959cd=createMenuDeletePlanFile(_0x1ab5af[_0x4401c6(0x13a)],_0x22171d),_0x7ba985=await writeMenuDeletePlan(_0x1ab5af[_0x4401c6(0x15f)](_0x4401c6(0x171)),_0x5959cd),_0x3e2a40=mutationResult({..._0x22171d,'planFile':{'path':_0x7ba985,'createdAt':_0x5959cd[_0x4401c6(0x16c)],'expiresAt':_0x5959cd['expiresAt']}});return menuDryRunResult(_0x3e2a40,{'method':'POST','url':_0x4401c6(0x125),'body':{'idList':_0x3e2a40[_0x4401c6(0x15c)]},'description':'Would\x20batch\x20delete\x20'+(_0x3e2a40[_0x4401c6(0x15c)]?.[_0x4401c6(0x174)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x3e2a40['selector']['id']+_0x4401c6(0x108)+_0x7ba985+'.'});},async 'execute'(_0x11cb6e){const _0x5a6b45=a112_0x475033;requireExplicitYes(_0x11cb6e),validateDeleteExecuteInput(_0x11cb6e);const _0x2f8d5c=await readMenuDeletePlan(_0x11cb6e[_0x5a6b45(0x15f)](_0x5a6b45(0x138))),_0x1a8b48=mutationPlanFromDeleteFile(_0x2f8d5c['plan'],_0x2f8d5c[_0x5a6b45(0x177)]),_0x15491e=_0x2f8d5c[_0x5a6b45(0x138)]['target']['id'];try{assertMenuDeletePlanExecutable(_0x2f8d5c[_0x5a6b45(0x138)],_0x11cb6e[_0x5a6b45(0x13a)]);}catch(_0xa4adf8){throw menuFailure(asMenuError(_0xa4adf8),_0x1a8b48,{'stage':_0x5a6b45(0x169),'failed':{'id':_0x15491e}});}let _0x732ed4,_0x26dd45;try{_0x732ed4=await fetchMutationSnapshot(_0x11cb6e,_0x5a6b45(0x11a),_0x15491e),_0x26dd45=assertMenuDeletePlanCurrent(_0x2f8d5c[_0x5a6b45(0x138)],_0x11cb6e[_0x5a6b45(0x13a)],_0x732ed4),assertDeleteTargetsComplete(_0x2f8d5c['plan'],_0x732ed4),_0x26dd45['forEach'](_0x3ebe5a=>assertDeleteSafety(_0x3ebe5a,_0x2f8d5c['plan'][_0x5a6b45(0x132)])),assertNoSharedPages(_0x732ed4,_0x26dd45),assertCascadeMatchesPlan(_0x1a8b48,_0x26dd45);}catch(_0x45285b){throw menuFailure(asMenuError(_0x45285b),_0x1a8b48,{'stage':_0x5a6b45(0x144),'failed':{'id':_0x15491e}});}const _0x5d369f=_0x2f8d5c['plan'][_0x5a6b45(0x15c)];let _0x5064cb;try{_0x5064cb=await batchDeleteMenuEntities(_0x11cb6e['cookie'],_0x5d369f);}catch(_0x424afa){const _0x43710d=mapMenuApiError(_0x424afa,'batch\x20delete'),_0x4f9f3a=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x1bde7a;try{_0x1bde7a=await readDeleteOutcome(_0x11cb6e,_0x5d369f);}catch(_0x1b34a0){const _0x29d0b8=describeMenuErrorCause(_0x1b34a0,_0x5a6b45(0x10c),_0x15491e);_0x4f9f3a['push'](_0x5a6b45(0x109)+_0x29d0b8[_0x5a6b45(0x12e)]+_0x5a6b45(0x12f)+_0x29d0b8['causeMessage']);throw menuFailure(_0x43710d,_0x1a8b48,{'stage':_0x5a6b45(0x149),'failed':{'targetIds':_0x5d369f,'targetIdsAbsent':_0x5a6b45(0x10d),..._0x29d0b8},'warnings':_0x4f9f3a,'verification':{'status':_0x5a6b45(0x134),'lookupCommand':_0x5a6b45(0x16a),'targetIds':_0x5d369f}});}throw menuFailure(_0x43710d,_0x1a8b48,{'stage':'batch-delete','succeeded':_0x1bde7a[_0x5a6b45(0x13b)]['map'](_0x1f243b=>({'id':_0x1f243b,'deleted':!![]})),'failed':{'targetIds':_0x5d369f,'absentIds':_0x1bde7a[_0x5a6b45(0x13b)],'remainingIds':_0x1bde7a[_0x5a6b45(0x182)]},'warnings':_0x4f9f3a,'verification':verificationFromOutcome(_0x1bde7a)});}if(_0x5064cb!==_0x5d369f['length']){const _0x5d728a=menuError(_0x5a6b45(0x14c),'Backend\x20reported\x20'+_0x5064cb+_0x5a6b45(0x128)+_0x5d369f['length']+'.','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.'),_0x463671=[_0x5a6b45(0x16b)];let _0x3752f3;try{_0x3752f3=await readDeleteOutcome(_0x11cb6e,_0x5d369f);}catch(_0x207c20){const _0x30bbff=describeMenuErrorCause(_0x207c20,_0x5a6b45(0x17f),_0x15491e);_0x463671[_0x5a6b45(0x159)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x30bbff[_0x5a6b45(0x12e)]+_0x5a6b45(0x12f)+_0x30bbff[_0x5a6b45(0x148)]);throw menuFailure(_0x5d728a,_0x1a8b48,{'stage':_0x5a6b45(0x149),'failed':{'targetIds':_0x5d369f,'expectedCount':_0x5d369f['length'],'reportedDeletedCount':_0x5064cb,'targetIdsAbsent':'unconfirmed',..._0x30bbff},'warnings':_0x463671,'verification':{'status':_0x5a6b45(0x134),'lookupCommand':_0x5a6b45(0x16a),'targetIds':_0x5d369f}});}throw menuFailure(_0x5d728a,_0x1a8b48,{'stage':_0x5a6b45(0x149),'succeeded':_0x3752f3['absentIds']['map'](_0xda7e9f=>({'id':_0xda7e9f,'deleted':!![]})),'failed':{'targetIds':_0x5d369f,'expectedCount':_0x5d369f['length'],'reportedDeletedCount':_0x5064cb,'absentIds':_0x3752f3['absentIds'],'remainingIds':_0x3752f3['remainingIds']},'warnings':_0x463671,'verification':verificationFromOutcome(_0x3752f3)});}let _0x5c9158;try{_0x5c9158=await readDeleteOutcome(_0x11cb6e,_0x5d369f);}catch(_0x5f4120){const _0x38e602=describeMenuErrorCause(_0x5f4120,_0x5a6b45(0x116),_0x15491e),_0xecb9=asVerificationError(_0x5f4120,_0x5a6b45(0x160)+_0x15491e+_0x5a6b45(0x111));throw menuFailure(_0xecb9,_0x1a8b48,{'stage':_0x5a6b45(0x173),'succeeded':_0x5d369f[_0x5a6b45(0x124)](_0x55c289=>({'id':_0x55c289,'deleteRequested':!![]})),'failed':{'id':_0x15491e,'targetIds':_0x5d369f,'targetIdsAbsent':_0x5a6b45(0x10d),..._0x38e602},'warnings':[_0x5a6b45(0x154)],'verification':{'status':_0x5a6b45(0x134),'lookupCommand':_0x5a6b45(0x16a),'targetIds':_0x5d369f}});}if(_0x5c9158[_0x5a6b45(0x182)][_0x5a6b45(0x174)]>0x0){const _0x3ac199=menuError('menu_verification_failed',_0x5a6b45(0x161)+_0x5c9158[_0x5a6b45(0x182)]['join'](',\x20')+'.',_0x5a6b45(0x143));throw menuFailure(_0x3ac199,_0x1a8b48,{'stage':_0x5a6b45(0x173),'succeeded':_0x5d369f[_0x5a6b45(0x124)](_0x632404=>({'id':_0x632404,'deleteRequested':!![]})),'failed':{'id':_0x15491e,'targetIds':_0x5d369f,'absentIds':_0x5c9158[_0x5a6b45(0x13b)],'remainingIds':_0x5c9158[_0x5a6b45(0x182)]},'warnings':[_0x5a6b45(0x107)],'verification':verificationFromOutcome(_0x5c9158)});}const _0x9d2879=_0x5d369f[_0x5a6b45(0x124)](_0x4d95af=>({'id':_0x4d95af,'deleted':!![]})),_0x1f3906=mutationResult({..._0x1a8b48,'dryRun':![],'succeeded':_0x9d2879,'verification':{'checkedBy':_0x5a6b45(0x16f),'plannedSnapshotHash':_0x1a8b48[_0x5a6b45(0x14a)],'finalSnapshotHash':_0x5c9158[_0x5a6b45(0x14b)][_0x5a6b45(0x137)],'reportedDeletedCount':_0x5064cb,'targetAbsent':!_0x5c9158[_0x5a6b45(0x14b)]['byId']['has'](_0x15491e),'allTargetsAbsent':!![],'targetIds':_0x5d369f}});return{'ok':!![],'data':_0x1f3906,'message':_0x5a6b45(0x163)+_0x9d2879[_0x5a6b45(0x174)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x15491e+'.'};}};async function readDeleteOutcome(_0x224928,_0x5efabf){const _0x327110=a112_0x475033,_0x4148da=await fetchMenuSnapshot(_0x224928['appCode'],_0x224928[_0x327110(0x110)]);return{'snapshot':_0x4148da,'absentIds':_0x5efabf['filter'](_0x3bb060=>!_0x4148da[_0x327110(0x118)][_0x327110(0x158)](_0x3bb060)),'remainingIds':_0x5efabf['filter'](_0x5f25d0=>_0x4148da[_0x327110(0x118)][_0x327110(0x158)](_0x5f25d0))};}function verificationFromOutcome(_0xebc015){const _0x5f1994=a112_0x475033;return{'checkedBy':_0x5f1994(0x16f),'absentIds':_0xebc015[_0x5f1994(0x13b)],'remainingIds':_0xebc015[_0x5f1994(0x182)]};}function validateDeleteDryRunInput(_0x40b2e5){const _0x5c0998=a112_0x475033;validateExactId(_0x40b2e5);if(!hasFlag(_0x40b2e5,'plan-out')||!_0x40b2e5[_0x5c0998(0x15f)](_0x5c0998(0x171))[_0x5c0998(0x10f)]())throw CliErrors[_0x5c0998(0x120)](_0x5c0998(0x171),_0x5c0998(0x167));if(hasFlag(_0x40b2e5,'plan'))throw CliErrors[_0x5c0998(0x12b)](_0x5c0998(0x156));}function validateDeleteExecuteInput(_0x1f2727){const _0x42a302=a112_0x475033;if(!hasFlag(_0x1f2727,_0x42a302(0x138))||!_0x1f2727[_0x42a302(0x15f)](_0x42a302(0x138))[_0x42a302(0x10f)]())throw CliErrors['flagMissing'](_0x42a302(0x138),_0x42a302(0x112));const _0x4e149c=['id',_0x42a302(0x132),_0x42a302(0x171),_0x42a302(0x176),_0x42a302(0x175),_0x42a302(0x151)][_0x42a302(0x135)](_0x23146a=>hasFlag(_0x1f2727,_0x23146a));if(_0x4e149c[_0x42a302(0x174)]>0x0)throw CliErrors[_0x42a302(0x12b)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4e149c[_0x42a302(0x124)](_0x2adee8=>'--'+_0x2adee8)[_0x42a302(0x14d)](',\x20')+'.');}async function buildDeletePlan(_0xf8bf66){const _0x42c186=a112_0x475033,_0x5215e0=validateExactId(_0xf8bf66),_0x3f4fe3=await fetchMutationSnapshot(_0xf8bf66,_0x42c186(0x181),_0x5215e0),_0x15b13f=requireMenu(_0x3f4fe3,_0x5215e0);assertExpectedState(_0xf8bf66,_0x15b13f);const _0x5c327a=_0xf8bf66[_0x42c186(0x13e)](_0x42c186(0x132));let _0x1b5f48;if(_0x5c327a){if(_0x15b13f[_0x42c186(0x150)][_0x42c186(0x10f)]()[_0x42c186(0x164)]()!=='folder')throw menuError(_0x42c186(0x122),_0x42c186(0x162)+_0x15b13f['id']+_0x42c186(0x17e)+(_0x15b13f['type']||_0x42c186(0x10a))+_0x42c186(0x146));_0x1b5f48=collectDeleteTargets(_0x3f4fe3,_0x15b13f),_0x1b5f48[_0x42c186(0x131)](_0x555ecb=>assertDeleteSafety(_0x555ecb,!![]));}else assertDeleteSafety(_0x15b13f),_0x1b5f48=[_0x15b13f];assertNoSharedPages(_0x3f4fe3,_0x1b5f48);const _0x2ee002=_0x1b5f48[_0x42c186(0x124)](_0x445956=>_0x445956['id']),_0x3455d2=cascadeForTargets(_0x1b5f48),_0x108866=_0x3455d2[_0x42c186(0x179)][_0x42c186(0x174)]>0x0?[_0x42c186(0x157)]:[];return mutationResult({'operation':_0x42c186(0x15a),'selector':{'id':_0x5215e0,'recursive':_0x5c327a},'before':_0x15b13f,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x42c186(0x183),'method':_0x42c186(0x10e),'path':_0x42c186(0x125),'body':{'idList':_0x2ee002}}],'targets':_0x1b5f48,'deleteOrder':_0x2ee002,'snapshotHash':_0x3f4fe3[_0x42c186(0x137)],'cascade':_0x3455d2,'warnings':_0x108866});}function assertDeleteSafety(_0xb065eb,_0x5a38e1=![]){const _0x36c552=a112_0x475033,_0x1aeabf=_0xb065eb[_0x36c552(0x150)]['trim']()[_0x36c552(0x164)]()==='folder';if(_0xb065eb['childrenCount']>0x0&&(!_0x5a38e1||!_0x1aeabf))throw menuError(_0x36c552(0x152),'Menu\x20'+_0xb065eb['id']+_0x36c552(0x172)+_0xb065eb['childrenCount']+_0x36c552(0x15b),_0x36c552(0x130)+_0xb065eb[_0x36c552(0x141)][_0x36c552(0x14d)](',\x20'));if(_0x1aeabf&&_0xb065eb[_0x36c552(0x11f)]!=null)throw menuError('menu_delete_page_bound',_0x36c552(0x117)+_0xb065eb['id']+_0x36c552(0x14e)+_0xb065eb[_0x36c552(0x11f)]+_0x36c552(0x16d),_0x36c552(0x17c));if(!_0x1aeabf)return;if(!_0xb065eb['resourcesValid'])throw menuError(_0x36c552(0x136),'Folder\x20'+_0xb065eb['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x36c552(0x170));if(_0xb065eb[_0x36c552(0x12d)][_0x36c552(0x174)]>0x0)throw menuError('menu_folder_has_resources',_0x36c552(0x117)+_0xb065eb['id']+_0x36c552(0x129)+_0xb065eb['resources'][_0x36c552(0x174)]+_0x36c552(0x11b),_0x36c552(0x13c));}function collectDeleteTargets(_0x197be6,_0x3979a9){const _0x3ffd8c=[],_0x1daa9e=new Set(),_0x57ac56=new Set(),_0x444ad0=_0x5cfb4e=>{const _0x1308eb=a112_0x5a7b;if(_0x1daa9e[_0x1308eb(0x158)](_0x5cfb4e['id']))throw menuError('menu_tree_invalid','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x5cfb4e['id']+'.');if(_0x57ac56['has'](_0x5cfb4e['id']))return;_0x1daa9e[_0x1308eb(0x178)](_0x5cfb4e['id']);for(const _0x51c146 of _0x5cfb4e[_0x1308eb(0x141)]){const _0x5eeee0=_0x197be6[_0x1308eb(0x118)]['get'](_0x51c146);if(!_0x5eeee0)throw menuError('menu_tree_invalid','Menu\x20'+_0x5cfb4e['id']+'\x20references\x20missing\x20child\x20'+_0x51c146+'.');_0x444ad0(_0x5eeee0);}_0x1daa9e[_0x1308eb(0x15a)](_0x5cfb4e['id']),_0x57ac56[_0x1308eb(0x178)](_0x5cfb4e['id']),_0x3ffd8c[_0x1308eb(0x159)](_0x5cfb4e);};return _0x444ad0(_0x3979a9),_0x3ffd8c;}function assertDeleteTargetsComplete(_0xcbe72,_0x5c96e5){const _0x288e84=a112_0x475033,_0x211f7b=requireMenu(_0x5c96e5,_0xcbe72[_0x288e84(0x11d)]['id']);if(_0xcbe72[_0x288e84(0x132)]&&_0x211f7b[_0x288e84(0x150)][_0x288e84(0x10f)]()['toLowerCase']()!==_0x288e84(0x14f))throw menuError(_0x288e84(0x13d),_0x288e84(0x139)+_0x211f7b['id']+_0x288e84(0x17b));const _0x5ebff3=_0xcbe72[_0x288e84(0x132)]?collectDeleteTargets(_0x5c96e5,_0x211f7b)['map'](_0xb14f4b=>_0xb14f4b['id']):[_0x211f7b['id']];if(JSON[_0x288e84(0x10b)](_0xcbe72['deleteOrder'])!==JSON[_0x288e84(0x10b)](_0x5ebff3))throw menuError(_0x288e84(0x13d),_0x288e84(0x121),_0x288e84(0x126));}function assertNoSharedPages(_0x322487,_0x7b9010){const _0x1806d4=a112_0x475033,_0x1d5a53=new Set(_0x7b9010[_0x1806d4(0x124)](_0x248b66=>_0x248b66['id'])),_0x11e0c0=new Set(_0x7b9010['map'](_0x154900=>_0x154900[_0x1806d4(0x11f)])['filter'](_0x46e3e4=>_0x46e3e4!=null));if(_0x11e0c0[_0x1806d4(0x119)]===0x0)return;const _0x1baeac=_0x322487[_0x1806d4(0x17d)][_0x1806d4(0x135)](_0x1291fc=>!_0x1d5a53[_0x1806d4(0x158)](_0x1291fc['id'])&&_0x1291fc['pageId']!=null&&_0x11e0c0[_0x1806d4(0x158)](_0x1291fc[_0x1806d4(0x11f)]));if(_0x1baeac['length']===0x0)return;const _0x1e2507=_0x1baeac[_0x1806d4(0x124)](_0x1671f0=>'page\x20'+_0x1671f0[_0x1806d4(0x11f)]+_0x1806d4(0x165)+_0x1671f0['id'])[_0x1806d4(0x14d)](',\x20');throw menuError(_0x1806d4(0x142),_0x1806d4(0x11c)+_0x1e2507+'.',_0x1806d4(0x155));}function assertCascadeMatchesPlan(_0x5541f8,_0x190ec5){const _0x49302b=a112_0x475033,_0xd24ebe=cascadeForTargets(_0x190ec5);if(JSON[_0x49302b(0x10b)](_0x5541f8[_0x49302b(0x11e)])!==JSON[_0x49302b(0x10b)](_0xd24ebe))throw menuError(_0x49302b(0x13d),_0x49302b(0x114));}function cascadeForTargets(_0x474cb5){const _0x105315=a112_0x475033,_0x22f2ca=_0x474cb5[_0x105315(0x124)](_0x3e7280=>_0x3e7280[_0x105315(0x11f)])[_0x105315(0x135)](_0x2ba307=>_0x2ba307!=null)[_0x105315(0x135)]((_0x54b08f,_0x3dafc8,_0x33df27)=>_0x33df27['indexOf'](_0x54b08f)===_0x3dafc8);return{'pages':_0x22f2ca,'pageSchemaAffected':_0x22f2ca[_0x105315(0x174)]>0x0};}function asMenuError(_0x222e47){const _0x4df4ee=a112_0x475033;return _0x222e47 instanceof CliError?_0x222e47:menuError('menu_plan_invalid',_0x222e47 instanceof Error?_0x222e47[_0x4df4ee(0x166)]:String(_0x222e47));}
|
|
1
|
+
const a110_0x50757a=a110_0x2f0a;(function(_0x208d19,_0x486d2c){const _0x170b5f=a110_0x2f0a,_0x43d8f7=_0x208d19();while(!![]){try{const _0x2f3496=-parseInt(_0x170b5f(0x1a9))/0x1+-parseInt(_0x170b5f(0x205))/0x2+parseInt(_0x170b5f(0x1d2))/0x3+-parseInt(_0x170b5f(0x1c8))/0x4+-parseInt(_0x170b5f(0x1e3))/0x5+parseInt(_0x170b5f(0x1d6))/0x6+parseInt(_0x170b5f(0x1d8))/0x7;if(_0x2f3496===_0x486d2c)break;else _0x43d8f7['push'](_0x43d8f7['shift']());}catch(_0xcc31cf){_0x43d8f7['push'](_0x43d8f7['shift']());}}}(a110_0x4c5f,0xe02a1));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assertMenuDeletePlanCurrent,assertMenuDeletePlanExecutable,createMenuDeletePlanFile,mutationPlanFromDeleteFile,readMenuDeletePlan,writeMenuDeletePlan}from'../../commands/menu/shared/delete-plan.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_FLAGS,MENU_ID_FLAG,asVerificationError,assertExpectedState,describeMenuErrorCause,fetchMutationSnapshot,hasFlag,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';import{batchDeleteMenuEntities}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/batchDelete'}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a110_0x50757a(0x1cb)},MENU_DELETE_RECURSIVE_FLAG={'name':a110_0x50757a(0x1c2),'type':a110_0x50757a(0x1df),'description':a110_0x50757a(0x1cd)},MENU_DELETE_PLAN_OUT_FLAG={'name':a110_0x50757a(0x201),'type':a110_0x50757a(0x1e8),'description':'Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'},MENU_DELETE_PLAN_FLAG={'name':'plan','type':a110_0x50757a(0x1e8),'description':'Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out'};export const menuDelete={'service':a110_0x50757a(0x1f6),'command':a110_0x50757a(0x1ca),'description':a110_0x50757a(0x1c1),'risk':a110_0x50757a(0x1af),'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'(_0x1e0260){const _0xf5e5c=a110_0x50757a;_0x1e0260[_0xf5e5c(0x1e5)](_0xf5e5c(0x203))?validateDeleteDryRunInput(_0x1e0260):validateDeleteExecuteInput(_0x1e0260),requireExplicitYes(_0x1e0260);},async 'dryRun'(_0x32ed57){const _0x37d72f=a110_0x50757a;validateDeleteDryRunInput(_0x32ed57);const _0x3a434a=await buildDeletePlan(_0x32ed57),_0x5c37fe=createMenuDeletePlanFile(_0x32ed57['appCode'],_0x3a434a),_0x54f3ba=await writeMenuDeletePlan(_0x32ed57[_0x37d72f(0x218)](_0x37d72f(0x201)),_0x5c37fe),_0x37ac6e=mutationResult({..._0x3a434a,'planFile':{'path':_0x54f3ba,'createdAt':_0x5c37fe[_0x37d72f(0x1f7)],'expiresAt':_0x5c37fe[_0x37d72f(0x1b6)]}});return menuDryRunResult(_0x37ac6e,{'method':'POST','url':_0x37d72f(0x1c7),'body':{'idList':_0x37ac6e[_0x37d72f(0x202)]},'description':_0x37d72f(0x1fa)+(_0x37ac6e['deleteOrder']?.[_0x37d72f(0x1f5)]??0x1)+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x37ac6e['selector']['id']+_0x37d72f(0x20b)+_0x54f3ba+'.'});},async 'execute'(_0xce4c17){const _0x287b08=a110_0x50757a;requireExplicitYes(_0xce4c17),validateDeleteExecuteInput(_0xce4c17);const _0x570915=await readMenuDeletePlan(_0xce4c17[_0x287b08(0x218)]('plan')),_0x5ab93e=mutationPlanFromDeleteFile(_0x570915[_0x287b08(0x1d9)],_0x570915[_0x287b08(0x211)]),_0x266b2a=_0x570915['plan']['target']['id'];try{assertMenuDeletePlanExecutable(_0x570915['plan'],_0xce4c17['appCode']);}catch(_0x55bf6d){throw menuFailure(asMenuError(_0x55bf6d),_0x5ab93e,{'stage':_0x287b08(0x1dc),'failed':{'id':_0x266b2a}});}let _0x4beae2,_0x4572f7;try{_0x4beae2=await fetchMutationSnapshot(_0xce4c17,_0x287b08(0x207),_0x266b2a),_0x4572f7=assertMenuDeletePlanCurrent(_0x570915[_0x287b08(0x1d9)],_0xce4c17['appCode'],_0x4beae2),assertDeleteTargetsComplete(_0x570915[_0x287b08(0x1d9)],_0x4beae2),_0x4572f7[_0x287b08(0x1de)](_0x58f661=>assertDeleteSafety(_0x58f661,_0x570915[_0x287b08(0x1d9)][_0x287b08(0x1c2)])),assertNoSharedPages(_0x4beae2,_0x4572f7),assertCascadeMatchesPlan(_0x5ab93e,_0x4572f7);}catch(_0x1fae57){throw menuFailure(asMenuError(_0x1fae57),_0x5ab93e,{'stage':_0x287b08(0x1b1),'failed':{'id':_0x266b2a}});}const _0x19d9cc=_0x570915[_0x287b08(0x1d9)]['deleteOrder'];let _0xd082a;try{_0xd082a=await batchDeleteMenuEntities(_0xce4c17['cookie'],_0x19d9cc);}catch(_0xec2ecd){const _0x331335=mapMenuApiError(_0xec2ecd,_0x287b08(0x204)),_0x548834=['The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.'];let _0x4f5af0;try{_0x4f5af0=await readDeleteOutcome(_0xce4c17,_0x19d9cc);}catch(_0x163f0d){const _0x235ae2=describeMenuErrorCause(_0x163f0d,_0x287b08(0x1dd),_0x266b2a);_0x548834[_0x287b08(0x1fd)]('Post-failure\x20menu\x20readback\x20failed\x20('+_0x235ae2[_0x287b08(0x1a3)]+_0x287b08(0x1f4)+_0x235ae2[_0x287b08(0x1ac)]);throw menuFailure(_0x331335,_0x5ab93e,{'stage':_0x287b08(0x1ba),'failed':{'targetIds':_0x19d9cc,'targetIdsAbsent':_0x287b08(0x1fb),..._0x235ae2},'warnings':_0x548834,'verification':{'status':_0x287b08(0x206),'lookupCommand':_0x287b08(0x212),'targetIds':_0x19d9cc}});}throw menuFailure(_0x331335,_0x5ab93e,{'stage':'batch-delete','succeeded':_0x4f5af0[_0x287b08(0x1f9)][_0x287b08(0x1b0)](_0x52a518=>({'id':_0x52a518,'deleted':!![]})),'failed':{'targetIds':_0x19d9cc,'absentIds':_0x4f5af0[_0x287b08(0x1f9)],'remainingIds':_0x4f5af0['remainingIds']},'warnings':_0x548834,'verification':verificationFromOutcome(_0x4f5af0)});}if(_0xd082a!==_0x19d9cc[_0x287b08(0x1f5)]){const _0x554868=menuError(_0x287b08(0x1cf),_0x287b08(0x1d5)+_0xd082a+_0x287b08(0x1a2)+_0x19d9cc['length']+'.',_0x287b08(0x20f)),_0x2f26fd=[_0x287b08(0x1a4)];let _0x1fa6f6;try{_0x1fa6f6=await readDeleteOutcome(_0xce4c17,_0x19d9cc);}catch(_0x2feed8){const _0x1b303d=describeMenuErrorCause(_0x2feed8,_0x287b08(0x1ea),_0x266b2a);_0x2f26fd[_0x287b08(0x1fd)]('Post-mismatch\x20menu\x20readback\x20failed\x20('+_0x1b303d[_0x287b08(0x1a3)]+'):\x20'+_0x1b303d['causeMessage']);throw menuFailure(_0x554868,_0x5ab93e,{'stage':_0x287b08(0x1ba),'failed':{'targetIds':_0x19d9cc,'expectedCount':_0x19d9cc[_0x287b08(0x1f5)],'reportedDeletedCount':_0xd082a,'targetIdsAbsent':'unconfirmed',..._0x1b303d},'warnings':_0x2f26fd,'verification':{'status':_0x287b08(0x206),'lookupCommand':_0x287b08(0x212),'targetIds':_0x19d9cc}});}throw menuFailure(_0x554868,_0x5ab93e,{'stage':_0x287b08(0x1ba),'succeeded':_0x1fa6f6[_0x287b08(0x1f9)][_0x287b08(0x1b0)](_0x581536=>({'id':_0x581536,'deleted':!![]})),'failed':{'targetIds':_0x19d9cc,'expectedCount':_0x19d9cc['length'],'reportedDeletedCount':_0xd082a,'absentIds':_0x1fa6f6['absentIds'],'remainingIds':_0x1fa6f6[_0x287b08(0x1b4)]},'warnings':_0x2f26fd,'verification':verificationFromOutcome(_0x1fa6f6)});}let _0x3deffe;try{_0x3deffe=await readDeleteOutcome(_0xce4c17,_0x19d9cc);}catch(_0x557d03){const _0x3c316d=describeMenuErrorCause(_0x557d03,_0x287b08(0x200),_0x266b2a),_0xdbfa9e=asVerificationError(_0x557d03,_0x287b08(0x1ff)+_0x266b2a+_0x287b08(0x1c3));throw menuFailure(_0xdbfa9e,_0x5ab93e,{'stage':_0x287b08(0x1db),'succeeded':_0x19d9cc[_0x287b08(0x1b0)](_0x51e8b8=>({'id':_0x51e8b8,'deleteRequested':!![]})),'failed':{'id':_0x266b2a,'targetIds':_0x19d9cc,'targetIdsAbsent':'unconfirmed',..._0x3c316d},'warnings':[_0x287b08(0x1bf)],'verification':{'status':_0x287b08(0x206),'lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x19d9cc}});}if(_0x3deffe[_0x287b08(0x1b4)][_0x287b08(0x1f5)]>0x0){const _0x1b44a1=menuError(_0x287b08(0x1f3),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x3deffe[_0x287b08(0x1b4)][_0x287b08(0x1be)](',\x20')+'.',_0x287b08(0x20f));throw menuFailure(_0x1b44a1,_0x5ab93e,{'stage':_0x287b08(0x1db),'succeeded':_0x19d9cc[_0x287b08(0x1b0)](_0x2db4e9=>({'id':_0x2db4e9,'deleteRequested':!![]})),'failed':{'id':_0x266b2a,'targetIds':_0x19d9cc,'absentIds':_0x3deffe[_0x287b08(0x1f9)],'remainingIds':_0x3deffe[_0x287b08(0x1b4)]},'warnings':[_0x287b08(0x1bb)],'verification':verificationFromOutcome(_0x3deffe)});}const _0x36d765=_0x19d9cc[_0x287b08(0x1b0)](_0x40363=>({'id':_0x40363,'deleted':!![]})),_0x5e8af7=mutationResult({..._0x5ab93e,'dryRun':![],'succeeded':_0x36d765,'verification':{'checkedBy':_0x287b08(0x1e2),'plannedSnapshotHash':_0x5ab93e['snapshotHash'],'finalSnapshotHash':_0x3deffe[_0x287b08(0x1d3)][_0x287b08(0x1ad)],'reportedDeletedCount':_0xd082a,'targetAbsent':!_0x3deffe[_0x287b08(0x1d3)][_0x287b08(0x1bc)][_0x287b08(0x1d0)](_0x266b2a),'allTargetsAbsent':!![],'targetIds':_0x19d9cc}});return{'ok':!![],'data':_0x5e8af7,'message':_0x287b08(0x1f1)+_0x36d765[_0x287b08(0x1f5)]+'\x20menu(s)\x20under\x20exact\x20id\x20'+_0x266b2a+'.'};}};async function readDeleteOutcome(_0x3f0083,_0x8a390f){const _0x927b37=a110_0x50757a,_0x2a218c=await fetchMenuSnapshot(_0x3f0083[_0x927b37(0x20c)],_0x3f0083[_0x927b37(0x215)]);return{'snapshot':_0x2a218c,'absentIds':_0x8a390f[_0x927b37(0x1e0)](_0x6123cf=>!_0x2a218c[_0x927b37(0x1bc)]['has'](_0x6123cf)),'remainingIds':_0x8a390f[_0x927b37(0x1e0)](_0x3480cf=>_0x2a218c[_0x927b37(0x1bc)]['has'](_0x3480cf))};}function verificationFromOutcome(_0x163d7b){const _0x29300e=a110_0x50757a;return{'checkedBy':'menu\x20list','absentIds':_0x163d7b[_0x29300e(0x1f9)],'remainingIds':_0x163d7b['remainingIds']};}function validateDeleteDryRunInput(_0x6f65e6){const _0x39bec2=a110_0x50757a;validateExactId(_0x6f65e6);if(!hasFlag(_0x6f65e6,'plan-out')||!_0x6f65e6[_0x39bec2(0x218)]('plan-out')[_0x39bec2(0x1a5)]())throw CliErrors[_0x39bec2(0x217)](_0x39bec2(0x201),_0x39bec2(0x1e4));if(hasFlag(_0x6f65e6,_0x39bec2(0x1d9)))throw CliErrors[_0x39bec2(0x1fc)](_0x39bec2(0x20d));}function validateDeleteExecuteInput(_0x1e4c03){const _0x1bdf45=a110_0x50757a;if(!hasFlag(_0x1e4c03,_0x1bdf45(0x1d9))||!_0x1e4c03[_0x1bdf45(0x218)]('plan')[_0x1bdf45(0x1a5)]())throw CliErrors['flagMissing']('plan','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.');const _0x35ffe1=['id',_0x1bdf45(0x1c2),'plan-out','expect-parent-id',_0x1bdf45(0x1b9),'expected-children-count'][_0x1bdf45(0x1e0)](_0x5403bc=>hasFlag(_0x1e4c03,_0x5403bc));if(_0x35ffe1[_0x1bdf45(0x1f5)]>0x0)throw CliErrors[_0x1bdf45(0x1fc)](_0x1bdf45(0x1f0)+_0x35ffe1[_0x1bdf45(0x1b0)](_0x8a73d7=>'--'+_0x8a73d7)['join'](',\x20')+'.');}async function buildDeletePlan(_0x6b4324){const _0x5caa64=a110_0x50757a,_0x3467a2=validateExactId(_0x6b4324),_0x49715f=await fetchMutationSnapshot(_0x6b4324,_0x5caa64(0x1aa),_0x3467a2),_0x59254c=requireMenu(_0x49715f,_0x3467a2);assertExpectedState(_0x6b4324,_0x59254c);const _0x1d6c50=_0x6b4324[_0x5caa64(0x1e5)](_0x5caa64(0x1c2));let _0x115af5;if(_0x1d6c50){if(_0x59254c['type']['trim']()[_0x5caa64(0x1a7)]()!==_0x5caa64(0x1e7))throw menuError('menu_recursive_requires_folder',_0x5caa64(0x1b5)+_0x59254c['id']+'\x20is\x20type\x20\x22'+(_0x59254c['type']||_0x5caa64(0x1c0))+_0x5caa64(0x1d1));_0x115af5=collectDeleteTargets(_0x49715f,_0x59254c),_0x115af5[_0x5caa64(0x1de)](_0x1d353c=>assertDeleteSafety(_0x1d353c,!![]));}else assertDeleteSafety(_0x59254c),_0x115af5=[_0x59254c];assertNoSharedPages(_0x49715f,_0x115af5);const _0x536779=_0x115af5[_0x5caa64(0x1b0)](_0x20936c=>_0x20936c['id']),_0x21a7f3=cascadeForTargets(_0x115af5),_0x237742=_0x21a7f3['pages'][_0x5caa64(0x1f5)]>0x0?['Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.']:[];return mutationResult({'operation':'delete','selector':{'id':_0x3467a2,'recursive':_0x1d6c50},'before':_0x59254c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':'batch-delete-menu','method':_0x5caa64(0x1c5),'path':_0x5caa64(0x1c7),'body':{'idList':_0x536779}}],'targets':_0x115af5,'deleteOrder':_0x536779,'snapshotHash':_0x49715f[_0x5caa64(0x1ad)],'cascade':_0x21a7f3,'warnings':_0x237742});}function assertDeleteSafety(_0x14aac1,_0x2e5290=![]){const _0x38eb19=a110_0x50757a,_0x1db03e=_0x14aac1['type'][_0x38eb19(0x1a5)]()['toLowerCase']()==='folder';if(_0x14aac1[_0x38eb19(0x1b8)]>0x0&&(!_0x2e5290||!_0x1db03e))throw menuError(_0x38eb19(0x1a6),_0x38eb19(0x1b5)+_0x14aac1['id']+_0x38eb19(0x1eb)+_0x14aac1[_0x38eb19(0x1b8)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20'+_0x14aac1[_0x38eb19(0x209)][_0x38eb19(0x1be)](',\x20'));if(_0x1db03e&&_0x14aac1[_0x38eb19(0x1a8)]!=null)throw menuError(_0x38eb19(0x1c4),_0x38eb19(0x210)+_0x14aac1['id']+_0x38eb19(0x1f2)+_0x14aac1['pageId']+'\x20and\x20cannot\x20be\x20deleted\x20safely.',_0x38eb19(0x1b2));if(!_0x1db03e)return;if(!_0x14aac1[_0x38eb19(0x1f8)])throw menuError(_0x38eb19(0x216),_0x38eb19(0x210)+_0x14aac1['id']+_0x38eb19(0x1e6),_0x38eb19(0x1ab));if(_0x14aac1[_0x38eb19(0x1cc)][_0x38eb19(0x1f5)]>0x0)throw menuError('menu_folder_has_resources',_0x38eb19(0x210)+_0x14aac1['id']+_0x38eb19(0x208)+_0x14aac1['resources'][_0x38eb19(0x1f5)]+_0x38eb19(0x20e),_0x38eb19(0x214));}function collectDeleteTargets(_0x3d5bc5,_0x333ade){const _0x4e3dba=[],_0x12cd5a=new Set(),_0x5629bc=new Set(),_0x526b4c=_0x119c34=>{const _0x39dd0a=a110_0x2f0a;if(_0x12cd5a[_0x39dd0a(0x1d0)](_0x119c34['id']))throw menuError(_0x39dd0a(0x1ed),'Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20'+_0x119c34['id']+'.');if(_0x5629bc[_0x39dd0a(0x1d0)](_0x119c34['id']))return;_0x12cd5a[_0x39dd0a(0x20a)](_0x119c34['id']);for(const _0x6e70e6 of _0x119c34['childrenIds']){const _0x526fe0=_0x3d5bc5[_0x39dd0a(0x1bc)][_0x39dd0a(0x213)](_0x6e70e6);if(!_0x526fe0)throw menuError(_0x39dd0a(0x1ed),_0x39dd0a(0x1b5)+_0x119c34['id']+_0x39dd0a(0x1b3)+_0x6e70e6+'.');_0x526b4c(_0x526fe0);}_0x12cd5a[_0x39dd0a(0x1ca)](_0x119c34['id']),_0x5629bc[_0x39dd0a(0x20a)](_0x119c34['id']),_0x4e3dba[_0x39dd0a(0x1fd)](_0x119c34);};return _0x526b4c(_0x333ade),_0x4e3dba;}function assertDeleteTargetsComplete(_0xe37282,_0x30ed3a){const _0x3df80d=a110_0x50757a,_0x1b819f=requireMenu(_0x30ed3a,_0xe37282[_0x3df80d(0x1e1)]['id']);if(_0xe37282[_0x3df80d(0x1c2)]&&_0x1b819f[_0x3df80d(0x1fe)][_0x3df80d(0x1a5)]()[_0x3df80d(0x1a7)]()!==_0x3df80d(0x1e7))throw menuError(_0x3df80d(0x1bd),_0x3df80d(0x1ec)+_0x1b819f['id']+'\x20is\x20not\x20a\x20folder.');const _0x9b9525=_0xe37282['recursive']?collectDeleteTargets(_0x30ed3a,_0x1b819f)[_0x3df80d(0x1b0)](_0x3e3a51=>_0x3e3a51['id']):[_0x1b819f['id']];if(JSON['stringify'](_0xe37282[_0x3df80d(0x202)])!==JSON[_0x3df80d(0x1e9)](_0x9b9525))throw menuError(_0x3df80d(0x1bd),_0x3df80d(0x1c6),_0x3df80d(0x1ae));}function assertNoSharedPages(_0x59f8e9,_0x20e346){const _0x1d566=a110_0x50757a,_0x5b25f0=new Set(_0x20e346['map'](_0x2512e0=>_0x2512e0['id'])),_0x2a60d6=new Set(_0x20e346[_0x1d566(0x1b0)](_0x2be2ca=>_0x2be2ca[_0x1d566(0x1a8)])[_0x1d566(0x1e0)](_0x563745=>_0x563745!=null));if(_0x2a60d6[_0x1d566(0x1ee)]===0x0)return;const _0x3ce276=_0x59f8e9[_0x1d566(0x1da)][_0x1d566(0x1e0)](_0x1c75eb=>!_0x5b25f0['has'](_0x1c75eb['id'])&&_0x1c75eb[_0x1d566(0x1a8)]!=null&&_0x2a60d6[_0x1d566(0x1d0)](_0x1c75eb[_0x1d566(0x1a8)]));if(_0x3ce276[_0x1d566(0x1f5)]===0x0)return;const _0x93297d=_0x3ce276[_0x1d566(0x1b0)](_0x5d6e3a=>'page\x20'+_0x5d6e3a[_0x1d566(0x1a8)]+'\x20->\x20menu\x20'+_0x5d6e3a['id'])[_0x1d566(0x1be)](',\x20');throw menuError(_0x1d566(0x1c9),_0x1d566(0x1b7)+_0x93297d+'.',_0x1d566(0x1d7));}function a110_0x2f0a(_0x4956d6,_0x3b0f18){_0x4956d6=_0x4956d6-0x1a2;const _0x4c5fd2=a110_0x4c5f();let _0x2f0a0d=_0x4c5fd2[_0x4956d6];return _0x2f0a0d;}function a110_0x4c5f(){const _0x9e0639=['str','\x20deleted\x20menus;\x20expected\x20','causeCode','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','trim','menu_non_empty','toLowerCase','pageId','1123285WbtxsN','plan\x20delete','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','causeMessage','hash','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','high-risk-write','map','pre-write-plan-validation','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','\x20references\x20missing\x20child\x20','remainingIds','Menu\x20','expiresAt','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','childrenCount','expect-path','batch-delete','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','byId','menu_plan_invalid','join','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','unknown','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','recursive','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','menu_delete_page_bound','POST','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','/smartapi/menu/batchDelete','3652112pgUEjf','menu_page_shared','delete','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','resources','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.','menu_batch_delete_count_mismatch','has','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','470724xntnqb','snapshot','message','Backend\x20reported\x20','5210226qemOll','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.','27355489Eujqbs','plan','menus','verification','plan-validation','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','forEach','boolean','filter','target','menu\x20list','3882200beJzXd','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','bool','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','folder','string','stringify','read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch','\x20has\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','menu_tree_invalid','size','cascade','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','Deleted\x20','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','menu_verification_failed','):\x20','length','menu','createdAt','resourcesValid','absentIds','Would\x20batch\x20delete\x20','unconfirmed','validation','push','type','Batch\x20delete\x20request\x20for\x20menu\x20','verify\x20batch\x20delete','plan-out','deleteOrder','dry-run','batch\x20delete','2404552zDLqOM','failed','execute\x20reviewed\x20delete\x20plan','\x20still\x20references\x20','childrenIds','add',';\x20execution\x20must\x20consume\x20','appCode','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','\x20resource\x20URL(s).','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','Folder\x20','path','rabetbase\x20menu\x20list\x20--format\x20json','get','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','cookie','menu_folder_resources_invalid','flagMissing'];a110_0x4c5f=function(){return _0x9e0639;};return a110_0x4c5f();}function assertCascadeMatchesPlan(_0xaa6df5,_0x59ed09){const _0x2a5046=a110_0x50757a,_0x10e808=cascadeForTargets(_0x59ed09);if(JSON[_0x2a5046(0x1e9)](_0xaa6df5[_0x2a5046(0x1ef)])!==JSON['stringify'](_0x10e808))throw menuError(_0x2a5046(0x1bd),_0x2a5046(0x1ce));}function cascadeForTargets(_0x45e370){const _0x180821=a110_0x50757a,_0x247480=_0x45e370['map'](_0x288f23=>_0x288f23[_0x180821(0x1a8)])[_0x180821(0x1e0)](_0x4f0ce4=>_0x4f0ce4!=null)[_0x180821(0x1e0)]((_0x4c450c,_0x275ffa,_0x5d7fc5)=>_0x5d7fc5['indexOf'](_0x4c450c)===_0x275ffa);return{'pages':_0x247480,'pageSchemaAffected':_0x247480[_0x180821(0x1f5)]>0x0};}function asMenuError(_0x5e1e02){const _0x591bfd=a110_0x50757a;return _0x5e1e02 instanceof CliError?_0x5e1e02:menuError(_0x591bfd(0x1bd),_0x5e1e02 instanceof Error?_0x5e1e02[_0x591bfd(0x1d4)]:String(_0x5e1e02));}
|