@lovrabet/rabetbase-cli 2.3.16-beta.3 → 2.3.16-beta.4
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.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/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/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.js +1 -1
- package/lib/help.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/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/lib/commands/page/react/create.js +0 -1
- package/lib/commands/page/react/detail.js +0 -1
- package/lib/commands/page/react/list.js +0 -1
- package/lib/commands/page/react/publish.js +0 -1
- package/lib/commands/page/react/shared.js +0 -1
- package/lib/commands/page/react/syntax.js +0 -1
- package/lib/commands/page/react/template.js +0 -1
- package/lib/commands/page/react/update.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a104_0x5b5008=a104_0x54c4;function a104_0x54c4(_0x595401,_0xbe19cd){_0x595401=_0x595401-0x1f4;const _0x5ccf2c=a104_0x5ccf();let _0x54c478=_0x5ccf2c[_0x595401];return _0x54c478;}(function(_0x7c35b5,_0xbcaea0){const _0x46f7e6=a104_0x54c4,_0x207824=_0x7c35b5();while(!![]){try{const _0x3d928b=-parseInt(_0x46f7e6(0x22a))/0x1+-parseInt(_0x46f7e6(0x240))/0x2*(parseInt(_0x46f7e6(0x21a))/0x3)+parseInt(_0x46f7e6(0x215))/0x4*(parseInt(_0x46f7e6(0x221))/0x5)+parseInt(_0x46f7e6(0x244))/0x6*(parseInt(_0x46f7e6(0x22d))/0x7)+-parseInt(_0x46f7e6(0x1fe))/0x8*(-parseInt(_0x46f7e6(0x1f4))/0x9)+-parseInt(_0x46f7e6(0x211))/0xa*(-parseInt(_0x46f7e6(0x234))/0xb)+parseInt(_0x46f7e6(0x1f9))/0xc*(-parseInt(_0x46f7e6(0x218))/0xd);if(_0x3d928b===_0xbcaea0)break;else _0x207824['push'](_0x207824['shift']());}catch(_0x12163d){_0x207824['push'](_0x207824['shift']());}}}(a104_0x5ccf,0x5c41b));import{createHash}from'node:crypto';import{readFile,stat}from'node:fs/promises';import{resolve}from'node:path';import{TextDecoder}from'node:util';import{getEnterpriseKnowledgeBase,getPlatformErrorCode,listEnterpriseKnowledgeBases}from'../../core/api-client.js';import{CliError}from'../../errors.js';const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x5b5008(0x249);function a104_0x5ccf(){const _0x3e7777=['Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.','allowEmpty','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20','paging','5tfJoWk','kb_file_required','utf-8','Knowledge\x20base\x20','trim','kb_list_contract_invalid','contentHash','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','kb_confirmation_required','82281vysmpA','createTime','add','4246235cCbHqo','title','appCode','kb_file_unreadable','content','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','cause','22sfgvwv','update','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','items','kb_content_invalid','kb_scope_mismatch','Knowledge-base\x20list\x20stopped\x20at\x20','digest','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','cookie','\x20of\x20','\x20during\x20paging.','1401862NzXuGq','from','kb_response_invalid','num','6QyHrqb','\x20was\x20requested.','push','outcome_unknown','kb_state_drift','306','decode','isFile','dry-run','length','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','9xxpGtN','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','The\x20','company','kb_id_invalid','384qRxhyi','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','currentPage','bool','5332744BvKNDJ','string','\x20while\x20id\x20','updateTime','version','sha256','scope','Company\x20knowledge\x20base\x20not\x20found:\x20','kb_','isSafeInteger','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','\x20while\x20page\x20','hex','Knowledge-base\x20get-one\x20returned\x20id\x20','\x20version\x20changed:\x20expected\x20','sha256:','number','totalCount','Pass\x20--file\x20<knowledge.md>.','3018020JwJqkC','message','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','byteSize','2622868rpaWsw','has','defineProperty','557141ftJQvv','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','3blsucB','verification_unavailable'];a104_0x5ccf=function(){return _0x3e7777;};return a104_0x5ccf();}export function kbError(_0x2f3264,_0x524160,_0xcb472a){return new CliError(_0x2f3264,0x1,_0x524160,_0xcb472a);}export function readKbId(_0x23e655){const _0x1f1747=a104_0x5b5008,_0x2cc6de=_0x23e655[_0x1f1747(0x243)]('id');if(!Number['isSafeInteger'](_0x2cc6de)||_0x2cc6de<=0x0)throw kbError(_0x1f1747(0x1f8),_0x1f1747(0x219));return _0x2cc6de;}export function requireKbExplicitYes(_0x158e5b){const _0x1ed740=a104_0x5b5008;if(_0x158e5b[_0x1ed740(0x1fd)](_0x1ed740(0x24c))||_0x158e5b['bool']('yes'))return;throw kbError(_0x1ed740(0x229),_0x1ed740(0x1f5),_0x1ed740(0x21d));}function sha256(_0x952a9d){const _0x233290=a104_0x5b5008;return _0x233290(0x20d)+createHash(_0x233290(0x203))[_0x233290(0x235)](_0x952a9d)[_0x233290(0x23b)](_0x233290(0x20a));}export function inspectKbContent(_0x1dd92e){const _0x44b409=a104_0x5b5008,_0x1aae9e=Buffer[_0x44b409(0x241)](_0x1dd92e,'utf8');return{'content':_0x1dd92e,'byteSize':_0x1aae9e['byteLength'],'contentHash':sha256(_0x1aae9e)};}export async function readKbFile(_0x48cd5e){const _0x47d036=a104_0x5b5008,_0x5b58f9=_0x48cd5e['trim']();if(!_0x5b58f9)throw kbError(_0x47d036(0x222),_0x47d036(0x208),_0x47d036(0x210));const _0x4477e6=resolve(_0x5b58f9);let _0xb99fe8;try{_0xb99fe8=await stat(_0x4477e6);}catch(_0x37f4e8){throw kbError(_0x47d036(0x230),_0x47d036(0x213)+_0x5b58f9,_0x37f4e8 instanceof Error?_0x37f4e8[_0x47d036(0x212)]:String(_0x37f4e8));}if(!_0xb99fe8[_0x47d036(0x24b)]())throw kbError('kb_file_invalid',_0x47d036(0x236)+_0x5b58f9);let _0x3554c8;try{_0x3554c8=await readFile(_0x4477e6);}catch(_0x58160a){throw kbError(_0x47d036(0x230),'Cannot\x20read\x20knowledge-base\x20content\x20file:\x20'+_0x5b58f9,_0x58160a instanceof Error?_0x58160a[_0x47d036(0x212)]:String(_0x58160a));}let _0x8736e4;try{_0x8736e4=new TextDecoder(_0x47d036(0x223),{'fatal':!![],'ignoreBOM':!![]})[_0x47d036(0x24a)](_0x3554c8);}catch{throw kbError(_0x47d036(0x238),'Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20'+_0x5b58f9);}if(!_0x8736e4[_0x47d036(0x225)]())throw kbError(_0x47d036(0x238),_0x47d036(0x1fa)+_0x5b58f9);return inspectKbContent(_0x8736e4);}export async function verifyKbMutationReadback(_0x2693fc,_0x5c7623,_0x4a62c3){const _0x32bfda=a104_0x5b5008;try{return await _0x4a62c3();}catch(_0x3d85ea){const _0x14ab29=kbError(_0x32bfda(0x206)+_0x2693fc+'_'+(_0x5c7623?_0x32bfda(0x247):_0x32bfda(0x21b)),_0x32bfda(0x1f6)+_0x2693fc+_0x32bfda(0x24e),_0x32bfda(0x23c));Object[_0x32bfda(0x217)](_0x14ab29,_0x32bfda(0x233),{'value':_0x3d85ea,'enumerable':![]});throw _0x14ab29;}}function requireRecordText(_0x1f9159,_0x3d3ab8,_0x1c5bce,_0x510092={}){const _0x37fa2d=a104_0x5b5008;if(typeof _0x1f9159===_0x37fa2d(0x1ff)&&(_0x510092[_0x37fa2d(0x21e)]||_0x1f9159[_0x37fa2d(0x225)]()))return _0x1f9159;throw kbError(_0x37fa2d(0x242),_0x37fa2d(0x224)+String(_0x1c5bce)+'\x20response\x20is\x20missing\x20'+_0x3d3ab8+'.');}export function projectKb(_0x594daa){const _0x38d2db=a104_0x5b5008;if(!Number[_0x38d2db(0x207)](_0x594daa['id'])||_0x594daa['id']<=0x0)throw kbError(_0x38d2db(0x242),_0x38d2db(0x21c));if(!Number[_0x38d2db(0x207)](_0x594daa[_0x38d2db(0x202)])||_0x594daa['version']<0x0)throw kbError('kb_response_invalid',_0x38d2db(0x224)+_0x594daa['id']+'\x20response\x20contains\x20an\x20invalid\x20version.');if(_0x594daa['scope']!=='company')throw kbError(_0x38d2db(0x239),'Knowledge\x20base\x20'+_0x594daa['id']+'\x20is\x20not\x20company-scoped.');const _0x5f1645=requireRecordText(_0x594daa['appCode'],'appCode',_0x594daa['id']),_0x43c968=requireRecordText(_0x594daa[_0x38d2db(0x22e)],_0x38d2db(0x22e),_0x594daa['id']),_0x44e110=inspectKbContent(requireRecordText(_0x594daa[_0x38d2db(0x231)],_0x38d2db(0x231),_0x594daa['id'],{'allowEmpty':!![]})),_0x218cb2=typeof _0x594daa[_0x38d2db(0x22b)]===_0x38d2db(0x1ff)||typeof _0x594daa[_0x38d2db(0x22b)]===_0x38d2db(0x20e)?_0x594daa[_0x38d2db(0x22b)]:undefined,_0x44bdd1=typeof _0x594daa[_0x38d2db(0x201)]===_0x38d2db(0x1ff)||typeof _0x594daa['updateTime']==='number'?_0x594daa['updateTime']:undefined,_0x44d126=sha256(JSON['stringify']({'id':_0x594daa['id'],'scope':_0x594daa[_0x38d2db(0x204)],'appCode':_0x5f1645,'title':_0x43c968,'version':_0x594daa[_0x38d2db(0x202)],'contentHash':_0x44e110['contentHash'],'createTime':_0x218cb2,'updateTime':_0x44bdd1}));return{'id':_0x594daa['id'],'scope':'company','appCode':_0x5f1645,'title':_0x43c968,'version':_0x594daa[_0x38d2db(0x202)],'contentByteSize':_0x44e110[_0x38d2db(0x214)],'contentHash':_0x44e110[_0x38d2db(0x227)],'snapshotHash':_0x44d126,..._0x218cb2!==undefined?{'createTime':_0x218cb2}:{},..._0x44bdd1!==undefined?{'updateTime':_0x44bdd1}:{}};}export function assertCompanyKnowledgeBase(_0x2bfafe,_0x52dcb5,_0x45efd6){const _0x3d27ae=a104_0x5b5008;if(_0x45efd6!==undefined&&_0x2bfafe['id']!==_0x45efd6)throw kbError(_0x3d27ae(0x242),_0x3d27ae(0x20b)+_0x2bfafe['id']+_0x3d27ae(0x200)+_0x45efd6+_0x3d27ae(0x245));if(_0x2bfafe[_0x3d27ae(0x204)]!=='company'||_0x2bfafe[_0x3d27ae(0x22f)]!==_0x52dcb5)throw kbError(_0x3d27ae(0x239),_0x3d27ae(0x224)+_0x2bfafe['id']+'\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20'+_0x52dcb5+'.');}export async function fetchAllCompanyKnowledgeBases(_0x3b9cf5,_0x2b0380){const _0x4f2997=a104_0x5b5008,_0x99a168=[],_0x2d69d0=new Set();let _0x3aad1f=0x1,_0x3619c1=0x0,_0x180465;while(!![]){const _0x5053be=await listEnterpriseKnowledgeBases(_0x3b9cf5[_0x4f2997(0x23d)],{'currentPage':_0x3aad1f,'pageSize':LIST_PAGE_SIZE,'appCode':_0x3b9cf5[_0x4f2997(0x22f)],..._0x2b0380}),_0x2672f3=_0x5053be[_0x4f2997(0x220)]?.[_0x4f2997(0x20f)];if(_0x5053be[_0x4f2997(0x220)]?.[_0x4f2997(0x1fc)]!==undefined&&_0x5053be['paging'][_0x4f2997(0x1fc)]!==_0x3aad1f)throw kbError(_0x4f2997(0x226),'Knowledge-base\x20list\x20returned\x20page\x20'+_0x5053be[_0x4f2997(0x220)]['currentPage']+_0x4f2997(0x209)+_0x3aad1f+_0x4f2997(0x245));if(_0x2672f3!==undefined){if(_0x180465!==undefined&&_0x2672f3!==_0x180465)throw kbError(_0x4f2997(0x226),'Knowledge-base\x20list\x20total\x20changed\x20from\x20'+_0x180465+'\x20to\x20'+_0x2672f3+_0x4f2997(0x23f),_0x4f2997(0x228));_0x180465=_0x2672f3;}for(const _0x37b99d of _0x5053be[_0x4f2997(0x237)]){if(!Number[_0x4f2997(0x207)](_0x37b99d['id'])||_0x2d69d0[_0x4f2997(0x216)](_0x37b99d['id']))throw kbError('kb_list_contract_invalid',_0x4f2997(0x21f)+String(_0x37b99d['id'])+'.');_0x2d69d0[_0x4f2997(0x22c)](_0x37b99d['id']),_0x37b99d[_0x4f2997(0x204)]===_0x4f2997(0x1f7)&&_0x37b99d[_0x4f2997(0x22f)]===_0x3b9cf5['appCode']&&_0x99a168[_0x4f2997(0x246)](_0x37b99d);}_0x3619c1+=_0x5053be['items']['length'];if(_0x2672f3!==undefined&&_0x3619c1>=_0x2672f3)break;if(_0x5053be[_0x4f2997(0x237)][_0x4f2997(0x24d)]<LIST_PAGE_SIZE){if(_0x2672f3!==undefined&&_0x3619c1<_0x2672f3)throw kbError(_0x4f2997(0x226),_0x4f2997(0x23a)+_0x3619c1+_0x4f2997(0x23e)+_0x2672f3+'\x20records.');break;}_0x3aad1f+=0x1;}return _0x99a168;}export function findExactCompanyKnowledgeBases(_0x209e99,_0x513630,_0x8d70f8){const _0x1687bc=a104_0x5b5008;return _0x209e99['filter'](_0x21966f=>_0x21966f[_0x1687bc(0x204)]===_0x1687bc(0x1f7)&&_0x21966f[_0x1687bc(0x22f)]===_0x513630&&_0x21966f['title']===_0x8d70f8);}export async function getKbOrNull(_0x496155,_0x14d8db){const _0x56f8d5=a104_0x5b5008;try{const _0x15b7b3=await getEnterpriseKnowledgeBase(_0x496155[_0x56f8d5(0x23d)],_0x14d8db);return assertCompanyKnowledgeBase(_0x15b7b3,_0x496155[_0x56f8d5(0x22f)],_0x14d8db),_0x15b7b3;}catch(_0x58d01e){if(getPlatformErrorCode(_0x58d01e)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x58d01e;}}export async function requireKb(_0x5b40d6,_0x3d3b9c){const _0x53de88=a104_0x5b5008,_0x12232c=await getKbOrNull(_0x5b40d6,_0x3d3b9c);if(!_0x12232c)throw kbError('kb_not_found',_0x53de88(0x205)+_0x3d3b9c,_0x53de88(0x232));return _0x12232c;}export function assertExpectedKbVersion(_0x588690,_0x44bdac){const _0x42eba3=a104_0x5b5008;if(_0x44bdac===undefined||_0x588690[_0x42eba3(0x202)]===_0x44bdac)return;throw kbError(_0x42eba3(0x248),_0x42eba3(0x224)+_0x588690['id']+_0x42eba3(0x20c)+_0x44bdac+',\x20current\x20'+_0x588690[_0x42eba3(0x202)]+'.',_0x42eba3(0x1fb));}
|
|
1
|
+
const a104_0x49fd87=a104_0x382b;(function(_0x112255,_0x529430){const _0x1f78d4=a104_0x382b,_0x2df4b7=_0x112255();while(!![]){try{const _0x5c9e49=-parseInt(_0x1f78d4(0x1b6))/0x1+-parseInt(_0x1f78d4(0x188))/0x2*(parseInt(_0x1f78d4(0x1c8))/0x3)+parseInt(_0x1f78d4(0x195))/0x4*(parseInt(_0x1f78d4(0x1cc))/0x5)+parseInt(_0x1f78d4(0x1b9))/0x6*(parseInt(_0x1f78d4(0x1b1))/0x7)+parseInt(_0x1f78d4(0x1d8))/0x8+-parseInt(_0x1f78d4(0x18e))/0x9*(parseInt(_0x1f78d4(0x1bd))/0xa)+-parseInt(_0x1f78d4(0x18a))/0xb;if(_0x5c9e49===_0x529430)break;else _0x2df4b7['push'](_0x2df4b7['shift']());}catch(_0x3e3b21){_0x2df4b7['push'](_0x2df4b7['shift']());}}}(a104_0x539d,0x2ed79));import{createHash}from'node:crypto';function a104_0x539d(){const _0x3038e3=['30pkOjXr','sha256','\x20response\x20contains\x20an\x20invalid\x20version.','Cannot\x20access\x20knowledge-base\x20content\x20file:\x20','defineProperty','The\x20','yes','Knowledge-base\x20list\x20returned\x20page\x20','createTime','Knowledge-base\x20content\x20file\x20path\x20is\x20required.','bool','3Aehzkp','hex','\x20while\x20page\x20','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20version\x20before\x20retrying.','35RERaQK','Knowledge-base\x20content\x20file\x20is\x20not\x20valid\x20UTF-8:\x20','kb_confirmation_required','number','kb_list_contract_invalid','Knowledge-base\x20list\x20total\x20changed\x20from\x20','update','Knowledge-base\x20response\x20contains\x20an\x20invalid\x20id.','Cannot\x20read\x20knowledge-base\x20content\x20file:\x20','string','stringify','num','1410496xxfOHr','from','utf-8','updateTime','Retry\x20the\x20read\x20after\x20concurrent\x20updates\x20have\x20settled.','byteLength','Pass\x20--file\x20<knowledge.md>.','Knowledge-base\x20content\x20file\x20is\x20blank:\x20','kb_file_required','393478QKMeEY','This\x20company\x20knowledge-base\x20mutation\x20requires\x20explicit\x20--yes.','15334XkFnpH','scope','decode','version','533061dIBptB','add','company','digest','paging','\x20version\x20changed:\x20expected\x20','Do\x20not\x20resubmit\x20automatically.\x20Resolve\x20the\x20app\x20again\x20and\x20inspect\x20the\x20target\x20state\x20manually.','60344nSmFwb','Knowledge-base\x20list\x20stopped\x20at\x20','kb_response_invalid','message','dry-run','contentHash','outcome_unknown','length','--id\x20must\x20be\x20a\x20positive\x20safe\x20integer.','cause','306','filter','\x20request\x20was\x20sent,\x20but\x20its\x20final\x20company\x20knowledge-base\x20state\x20could\x20not\x20be\x20verified.','Knowledge-base\x20get-one\x20returned\x20id\x20','kb_content_invalid','push','currentPage','totalCount','\x20to\x20','Knowledge\x20base\x20','Run\x20`rabetbase\x20kb\x20list\x20--format\x20compress`\x20to\x20inspect\x20the\x20resolved\x20app.','appCode','\x20was\x20requested.','title','items','Company\x20knowledge\x20base\x20not\x20found:\x20','Knowledge-base\x20content\x20path\x20is\x20not\x20a\x20regular\x20file:\x20','kb_scope_mismatch','7WyILiA','verification_unavailable','isSafeInteger',',\x20current\x20','kb_file_invalid','44815kcpeGI','content','trim','1983516zedTak','\x20records.','kb_file_unreadable','has'];a104_0x539d=function(){return _0x3038e3;};return a104_0x539d();}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';function a104_0x382b(_0x52a675,_0x3e7947){_0x52a675=_0x52a675-0x180;const _0x539d36=a104_0x539d();let _0x382b72=_0x539d36[_0x52a675];return _0x382b72;}const LIST_PAGE_SIZE=0x32,DATA_NOT_EXIST_ERROR_CODE=a104_0x49fd87(0x19f);export function kbError(_0x559824,_0x533c0c,_0x1ebfe7){return new CliError(_0x559824,0x1,_0x533c0c,_0x1ebfe7);}export function readKbId(_0x34b2b4){const _0xb3a94a=a104_0x49fd87,_0x3bfcf2=_0x34b2b4[_0xb3a94a(0x1d7)]('id');if(!Number[_0xb3a94a(0x1b3)](_0x3bfcf2)||_0x3bfcf2<=0x0)throw kbError('kb_id_invalid',_0xb3a94a(0x19d));return _0x3bfcf2;}export function requireKbExplicitYes(_0x412d62){const _0x26a218=a104_0x49fd87;if(_0x412d62[_0x26a218(0x1c7)](_0x26a218(0x199))||_0x412d62[_0x26a218(0x1c7)](_0x26a218(0x1c3)))return;throw kbError(_0x26a218(0x1ce),_0x26a218(0x189),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}function sha256(_0xb78341){const _0x33f12b=a104_0x49fd87;return'sha256:'+createHash(_0x33f12b(0x1be))[_0x33f12b(0x1d2)](_0xb78341)[_0x33f12b(0x191)](_0x33f12b(0x1c9));}export function inspectKbContent(_0x509a11){const _0x2ab43d=a104_0x49fd87,_0x3d00ed=Buffer[_0x2ab43d(0x180)](_0x509a11,'utf8');return{'content':_0x509a11,'byteSize':_0x3d00ed[_0x2ab43d(0x184)],'contentHash':sha256(_0x3d00ed)};}export async function readKbFile(_0x3fb04b){const _0x3436f1=a104_0x49fd87,_0x20bb10=_0x3fb04b[_0x3436f1(0x1b8)]();if(!_0x20bb10)throw kbError(_0x3436f1(0x187),_0x3436f1(0x1c6),_0x3436f1(0x185));const _0x37541e=resolve(_0x20bb10);let _0xd3f7c8;try{_0xd3f7c8=await stat(_0x37541e);}catch(_0x15915f){throw kbError(_0x3436f1(0x1bb),_0x3436f1(0x1c0)+_0x20bb10,_0x15915f instanceof Error?_0x15915f[_0x3436f1(0x198)]:String(_0x15915f));}if(!_0xd3f7c8['isFile']())throw kbError(_0x3436f1(0x1b5),_0x3436f1(0x1af)+_0x20bb10);let _0x51cfe0;try{_0x51cfe0=await readFile(_0x37541e);}catch(_0x4fda02){throw kbError('kb_file_unreadable',_0x3436f1(0x1d4)+_0x20bb10,_0x4fda02 instanceof Error?_0x4fda02[_0x3436f1(0x198)]:String(_0x4fda02));}let _0x14bcac;try{_0x14bcac=new TextDecoder(_0x3436f1(0x181),{'fatal':!![],'ignoreBOM':!![]})[_0x3436f1(0x18c)](_0x51cfe0);}catch{throw kbError(_0x3436f1(0x1a3),_0x3436f1(0x1cd)+_0x20bb10);}if(!_0x14bcac[_0x3436f1(0x1b8)]())throw kbError(_0x3436f1(0x1a3),_0x3436f1(0x186)+_0x20bb10);return inspectKbContent(_0x14bcac);}export async function verifyKbMutationReadback(_0x257285,_0x4a6b90,_0x5959b1){const _0x5ae9df=a104_0x49fd87;try{return await _0x5959b1();}catch(_0x1607c5){const _0x4848cb=kbError('kb_'+_0x257285+'_'+(_0x4a6b90?_0x5ae9df(0x19b):_0x5ae9df(0x1b2)),_0x5ae9df(0x1c2)+_0x257285+_0x5ae9df(0x1a1),_0x5ae9df(0x194));Object[_0x5ae9df(0x1c1)](_0x4848cb,_0x5ae9df(0x19e),{'value':_0x1607c5,'enumerable':![]});throw _0x4848cb;}}function requireRecordText(_0x270b63,_0x3fefa2,_0x44a017,_0x528602={}){const _0x21dcc1=a104_0x49fd87;if(typeof _0x270b63===_0x21dcc1(0x1d5)&&(_0x528602['allowEmpty']||_0x270b63[_0x21dcc1(0x1b8)]()))return _0x270b63;throw kbError('kb_response_invalid',_0x21dcc1(0x1a8)+String(_0x44a017)+'\x20response\x20is\x20missing\x20'+_0x3fefa2+'.');}export function projectKb(_0x346beb){const _0x4e8c4d=a104_0x49fd87;if(!Number[_0x4e8c4d(0x1b3)](_0x346beb['id'])||_0x346beb['id']<=0x0)throw kbError(_0x4e8c4d(0x197),_0x4e8c4d(0x1d3));if(!Number[_0x4e8c4d(0x1b3)](_0x346beb['version'])||_0x346beb[_0x4e8c4d(0x18d)]<0x0)throw kbError(_0x4e8c4d(0x197),_0x4e8c4d(0x1a8)+_0x346beb['id']+_0x4e8c4d(0x1bf));if(_0x346beb['scope']!==_0x4e8c4d(0x190))throw kbError(_0x4e8c4d(0x1b0),_0x4e8c4d(0x1a8)+_0x346beb['id']+'\x20is\x20not\x20company-scoped.');const _0x306a6d=requireRecordText(_0x346beb[_0x4e8c4d(0x1aa)],_0x4e8c4d(0x1aa),_0x346beb['id']),_0x32b777=requireRecordText(_0x346beb[_0x4e8c4d(0x1ac)],'title',_0x346beb['id']),_0x49811c=inspectKbContent(requireRecordText(_0x346beb[_0x4e8c4d(0x1b7)],_0x4e8c4d(0x1b7),_0x346beb['id'],{'allowEmpty':!![]})),_0x369fcd=typeof _0x346beb['createTime']===_0x4e8c4d(0x1d5)||typeof _0x346beb['createTime']===_0x4e8c4d(0x1cf)?_0x346beb[_0x4e8c4d(0x1c5)]:undefined,_0x1b9998=typeof _0x346beb[_0x4e8c4d(0x182)]===_0x4e8c4d(0x1d5)||typeof _0x346beb[_0x4e8c4d(0x182)]==='number'?_0x346beb[_0x4e8c4d(0x182)]:undefined,_0x223fa4=sha256(JSON[_0x4e8c4d(0x1d6)]({'id':_0x346beb['id'],'scope':_0x346beb[_0x4e8c4d(0x18b)],'appCode':_0x306a6d,'title':_0x32b777,'version':_0x346beb[_0x4e8c4d(0x18d)],'contentHash':_0x49811c[_0x4e8c4d(0x19a)],'createTime':_0x369fcd,'updateTime':_0x1b9998}));return{'id':_0x346beb['id'],'scope':_0x4e8c4d(0x190),'appCode':_0x306a6d,'title':_0x32b777,'version':_0x346beb[_0x4e8c4d(0x18d)],'contentByteSize':_0x49811c['byteSize'],'contentHash':_0x49811c['contentHash'],'snapshotHash':_0x223fa4,..._0x369fcd!==undefined?{'createTime':_0x369fcd}:{},..._0x1b9998!==undefined?{'updateTime':_0x1b9998}:{}};}export function assertCompanyKnowledgeBase(_0xd34ad9,_0x2806ae,_0x3bbae6){const _0x2e6f05=a104_0x49fd87;if(_0x3bbae6!==undefined&&_0xd34ad9['id']!==_0x3bbae6)throw kbError(_0x2e6f05(0x197),_0x2e6f05(0x1a2)+_0xd34ad9['id']+'\x20while\x20id\x20'+_0x3bbae6+_0x2e6f05(0x1ab));if(_0xd34ad9[_0x2e6f05(0x18b)]!==_0x2e6f05(0x190)||_0xd34ad9[_0x2e6f05(0x1aa)]!==_0x2806ae)throw kbError(_0x2e6f05(0x1b0),_0x2e6f05(0x1a8)+_0xd34ad9['id']+'\x20does\x20not\x20belong\x20to\x20company\x20scope\x20for\x20app\x20'+_0x2806ae+'.');}export async function fetchAllCompanyKnowledgeBases(_0xa7f148,_0x50bc71){const _0x2058fb=a104_0x49fd87,_0x52c652=[],_0x4a35e9=new Set();let _0x441aba=0x1,_0x1a0c6b=0x0,_0x3b73c9;while(!![]){const _0x551f2f=await listEnterpriseKnowledgeBases(_0xa7f148['cookie'],{'currentPage':_0x441aba,'pageSize':LIST_PAGE_SIZE,'appCode':_0xa7f148[_0x2058fb(0x1aa)],..._0x50bc71}),_0x1f7d98=_0x551f2f[_0x2058fb(0x192)]?.[_0x2058fb(0x1a6)];if(_0x551f2f['paging']?.['currentPage']!==undefined&&_0x551f2f['paging'][_0x2058fb(0x1a5)]!==_0x441aba)throw kbError('kb_list_contract_invalid',_0x2058fb(0x1c4)+_0x551f2f['paging']['currentPage']+_0x2058fb(0x1ca)+_0x441aba+_0x2058fb(0x1ab));if(_0x1f7d98!==undefined){if(_0x3b73c9!==undefined&&_0x1f7d98!==_0x3b73c9)throw kbError(_0x2058fb(0x1d0),_0x2058fb(0x1d1)+_0x3b73c9+_0x2058fb(0x1a7)+_0x1f7d98+'\x20during\x20paging.',_0x2058fb(0x183));_0x3b73c9=_0x1f7d98;}for(const _0x5c4eaa of _0x551f2f[_0x2058fb(0x1ad)]){if(!Number[_0x2058fb(0x1b3)](_0x5c4eaa['id'])||_0x4a35e9[_0x2058fb(0x1bc)](_0x5c4eaa['id']))throw kbError('kb_list_contract_invalid','Knowledge-base\x20list\x20returned\x20an\x20invalid\x20or\x20repeated\x20id:\x20'+String(_0x5c4eaa['id'])+'.');_0x4a35e9[_0x2058fb(0x18f)](_0x5c4eaa['id']),_0x5c4eaa[_0x2058fb(0x18b)]===_0x2058fb(0x190)&&_0x5c4eaa[_0x2058fb(0x1aa)]===_0xa7f148[_0x2058fb(0x1aa)]&&_0x52c652[_0x2058fb(0x1a4)](_0x5c4eaa);}_0x1a0c6b+=_0x551f2f[_0x2058fb(0x1ad)][_0x2058fb(0x19c)];if(_0x1f7d98!==undefined&&_0x1a0c6b>=_0x1f7d98)break;if(_0x551f2f[_0x2058fb(0x1ad)][_0x2058fb(0x19c)]<LIST_PAGE_SIZE){if(_0x1f7d98!==undefined&&_0x1a0c6b<_0x1f7d98)throw kbError(_0x2058fb(0x1d0),_0x2058fb(0x196)+_0x1a0c6b+'\x20of\x20'+_0x1f7d98+_0x2058fb(0x1ba));break;}_0x441aba+=0x1;}return _0x52c652;}export function findExactCompanyKnowledgeBases(_0x3ae302,_0x12857f,_0x5492c6){const _0x218663=a104_0x49fd87;return _0x3ae302[_0x218663(0x1a0)](_0x4b0b63=>_0x4b0b63['scope']==='company'&&_0x4b0b63[_0x218663(0x1aa)]===_0x12857f&&_0x4b0b63['title']===_0x5492c6);}export async function getKbOrNull(_0xb108dd,_0x30df57){const _0x468efd=a104_0x49fd87;try{const _0x1e6c18=await getEnterpriseKnowledgeBase(_0xb108dd['cookie'],_0x30df57);return assertCompanyKnowledgeBase(_0x1e6c18,_0xb108dd[_0x468efd(0x1aa)],_0x30df57),_0x1e6c18;}catch(_0x5dbf22){if(getPlatformErrorCode(_0x5dbf22)===DATA_NOT_EXIST_ERROR_CODE)return null;throw _0x5dbf22;}}export async function requireKb(_0x410396,_0x237d9f){const _0x37942c=a104_0x49fd87,_0x36b924=await getKbOrNull(_0x410396,_0x237d9f);if(!_0x36b924)throw kbError('kb_not_found',_0x37942c(0x1ae)+_0x237d9f,_0x37942c(0x1a9));return _0x36b924;}export function assertExpectedKbVersion(_0xf41dd7,_0x11da89){const _0x571aea=a104_0x49fd87;if(_0x11da89===undefined||_0xf41dd7[_0x571aea(0x18d)]===_0x11da89)return;throw kbError('kb_state_drift',_0x571aea(0x1a8)+_0xf41dd7['id']+_0x571aea(0x193)+_0x11da89+_0x571aea(0x1b4)+_0xf41dd7['version']+'.',_0x571aea(0x1cb));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a105_0x32a7be=a105_0x3725;function a105_0x3ace(){const _0xb8980b=['push','expected-version','--title\x20cannot\x20be\x20empty.','version','title','before','Replacement\x20UTF-8\x20text\x20or\x20Markdown\x20content\x20file','5530938oThEfL','kb_expected_version_invalid','91DWdaOf','5fQAsgc','Non-atomic\x20preflight\x20assertion\x20for\x20the\x20current\x20version','file','New\x20knowledge-base\x20title','1381750tBxADR','replacement','kb_update_empty','/admin/knowledge-base/update','--expected-version\x20is\x20a\x20non-atomic\x20read-before-write\x20assertion;\x20the\x20server\x20update\x20contract\x20has\x20no\x20version\x20predicate.','\x20--format\x20compress','20917941FPHdXl','beforeRecord','Pass\x20at\x20least\x20one\x20of\x20--title\x20or\x20--file.','cookie','flag','kb_title_invalid','kb_update_outcome_unknown','update','isSafeInteger','8599IoUKXV','Update\x20a\x20company\x20knowledge\x20base\x20with\x20preflight\x20drift\x20protection','26gXLjhA','kb_verification_failed','2140636Rxxnpn','\x20does\x20not\x20prove\x20the\x20requested\x20update\x20state.','appCode','--file\x20cannot\x20be\x20empty.','content','\x20--format\x20compress`;\x20do\x20not\x20resubmit\x20automatically.','--expected-version\x20must\x20be\x20a\x20non-negative\x20safe\x20integer.','patch','2403969ScWoWH','9rZFiGu','contentHash','company','POST','587768LWKAUj','expectedVersion','Company\x20knowledge-base\x20id','rabetbase\x20kb\x20detail\x20--id\x20','Company\x20knowledge\x20base\x20','Update\x20response\x20was\x20unavailable;\x20verified\x20applicable\x20postconditions\x20by\x20exact\x20ID\x20without\x20resubmitting.','trim'];a105_0x3ace=function(){return _0xb8980b;};return a105_0x3ace();}(function(_0x14ebc5,_0x1b8d78){const _0x95f6f0=a105_0x3725,_0x449ed6=_0x14ebc5();while(!![]){try{const _0x2f0269=-parseInt(_0x95f6f0(0x108))/0x1*(-parseInt(_0x95f6f0(0x10a))/0x2)+parseInt(_0x95f6f0(0x114))/0x3+-parseInt(_0x95f6f0(0x10c))/0x4*(parseInt(_0x95f6f0(0x12a))/0x5)+parseInt(_0x95f6f0(0x127))/0x6+-parseInt(_0x95f6f0(0x129))/0x7*(-parseInt(_0x95f6f0(0x119))/0x8)+-parseInt(_0x95f6f0(0x115))/0x9*(-parseInt(_0x95f6f0(0x12e))/0xa)+-parseInt(_0x95f6f0(0x134))/0xb;if(_0x2f0269===_0x1b8d78)break;else _0x449ed6['push'](_0x449ed6['shift']());}catch(_0x1fe02d){_0x449ed6['push'](_0x449ed6['shift']());}}}(a105_0x3ace,0x77fb1));import{isPlatformTransportFailure,updateEnterpriseKnowledgeBase}from'../../core/api-client.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{assertCompanyKnowledgeBase,assertExpectedKbVersion,inspectKbContent,kbError,projectKb,readKbFile,readKbId,requireKb,requireKbExplicitYes,verifyKbMutationReadback}from'../../commands/kb/shared.js';const UPDATE_PATH=a105_0x32a7be(0x131),NON_ATOMIC_WARNING=a105_0x32a7be(0x132);function a105_0x3725(_0x3017b8,_0x5845ba){_0x3017b8=_0x3017b8-0x102;const _0x3acef7=a105_0x3ace();let _0x3725cf=_0x3acef7[_0x3017b8];return _0x3725cf;}function readUpdatePatch(_0x2797fc){const _0x1a63df=a105_0x32a7be,_0x7dd45b=readKbId(_0x2797fc),_0x4cb6fc=_0x2797fc[_0x1a63df(0x103)](_0x1a63df(0x124)),_0x316809=_0x2797fc[_0x1a63df(0x103)]('file'),_0x25c325=_0x2797fc['flag'](_0x1a63df(0x121)),_0x14a525=_0x4cb6fc===undefined?undefined:String(_0x4cb6fc)[_0x1a63df(0x11f)]();if(_0x4cb6fc!==undefined&&!_0x14a525)throw kbError(_0x1a63df(0x104),_0x1a63df(0x122));const _0x380b6a=_0x316809===undefined?undefined:String(_0x316809)[_0x1a63df(0x11f)]();if(_0x316809!==undefined&&!_0x380b6a)throw kbError('kb_file_required',_0x1a63df(0x10f));if(_0x14a525===undefined&&_0x380b6a===undefined)throw kbError(_0x1a63df(0x130),'Nothing\x20to\x20update.',_0x1a63df(0x136));let _0x2940ff;if(_0x25c325!==undefined){_0x2940ff=Number(_0x25c325);if(!Number[_0x1a63df(0x107)](_0x2940ff)||_0x2940ff<0x0)throw kbError(_0x1a63df(0x128),_0x1a63df(0x112));}return{'id':_0x7dd45b,'title':_0x14a525,'file':_0x380b6a,'expectedVersion':_0x2940ff};}async function prepareUpdate(_0x3932cf){const _0x322b9b=a105_0x32a7be,_0x1940d2=readUpdatePatch(_0x3932cf),_0x10725b=await requireKb(_0x3932cf,_0x1940d2['id']);assertExpectedKbVersion(_0x10725b,_0x1940d2['expectedVersion']);const _0x2d0ac6=_0x1940d2['file']?await readKbFile(_0x1940d2[_0x322b9b(0x12c)]):undefined,_0x2b8eb3=projectKb(_0x10725b),_0x5ddb94=projectKb({..._0x10725b,..._0x1940d2[_0x322b9b(0x124)]!==undefined?{'title':_0x1940d2['title']}:{},..._0x2d0ac6?{'content':_0x2d0ac6['content']}:{}});return{'patch':_0x1940d2,'beforeRecord':_0x10725b,'before':_0x2b8eb3,'planned':_0x5ddb94,'replacement':_0x2d0ac6};}export const kbUpdate={'service':'kb','command':a105_0x32a7be(0x106),'description':a105_0x32a7be(0x109),'risk':'high-risk-write','requiresAppCode':!![],'structuredErrors':!![],'flags':[{'name':'id','type':'number','required':!![],'description':a105_0x32a7be(0x11b)},{'name':a105_0x32a7be(0x124),'type':'string','required':![],'description':a105_0x32a7be(0x12d)},{'name':a105_0x32a7be(0x12c),'type':'string','required':![],'description':a105_0x32a7be(0x126)},{'name':a105_0x32a7be(0x121),'type':'number','required':![],'description':a105_0x32a7be(0x12b)}],async 'validate'(_0x3c41cd){readUpdatePatch(_0x3c41cd),requireKbExplicitYes(_0x3c41cd);},async 'dryRun'(_0x4a8ebc){const _0x26cf77=a105_0x32a7be,_0x1f895c=await prepareUpdate(_0x4a8ebc),_0xcb14bf=_0x1f895c[_0x26cf77(0x113)][_0x26cf77(0x11a)]!==undefined?[NON_ATOMIC_WARNING]:[];return asDryRunResult({'operation':_0x26cf77(0x106),'selector':{'id':_0x1f895c[_0x26cf77(0x125)]['id'],'scope':_0x26cf77(0x117),'appCode':_0x1f895c[_0x26cf77(0x125)][_0x26cf77(0x10e)]},'before':_0x1f895c[_0x26cf77(0x125)],'after':_0x1f895c['planned'],'dryRun':!![],'backend':{'method':_0x26cf77(0x118),'path':UPDATE_PATH},'warnings':_0xcb14bf,'verification':{'expectedVersion':_0x1f895c[_0x26cf77(0x113)][_0x26cf77(0x11a)]??null,'atomicCompareAndSet':![],'plannedSnapshotHash':_0x1f895c['before']['snapshotHash'],'lookupCommand':'rabetbase\x20kb\x20detail\x20--id\x20'+_0x1f895c[_0x26cf77(0x125)]['id']+'\x20--format\x20compress'}},{'method':'POST','url':UPDATE_PATH});},async 'execute'(_0x3e6854){const _0x5a5913=a105_0x32a7be;requireKbExplicitYes(_0x3e6854);const _0x145a19=await prepareUpdate(_0x3e6854),_0x4e4e61={'id':_0x145a19['patch']['id'],..._0x145a19[_0x5a5913(0x113)][_0x5a5913(0x124)]!==undefined?{'title':_0x145a19[_0x5a5913(0x113)]['title']}:{},..._0x145a19['replacement']?{'content':_0x145a19[_0x5a5913(0x12f)]['content']}:{}};let _0x467a9d=![];try{const _0x57bfdb=await updateEnterpriseKnowledgeBase(_0x3e6854[_0x5a5913(0x102)],_0x4e4e61);assertCompanyKnowledgeBase(_0x57bfdb,_0x3e6854[_0x5a5913(0x10e)],_0x145a19[_0x5a5913(0x113)]['id']);}catch(_0x27778e){if(!isPlatformTransportFailure(_0x27778e))throw _0x27778e;_0x467a9d=!![];}const _0x2abcdd=await verifyKbMutationReadback(_0x5a5913(0x106),_0x467a9d,()=>requireKb(_0x3e6854,_0x145a19[_0x5a5913(0x113)]['id'])),_0x247425=projectKb(_0x2abcdd),_0x16bcdc=_0x145a19[_0x5a5913(0x113)][_0x5a5913(0x124)]===undefined||_0x2abcdd[_0x5a5913(0x124)]===_0x145a19[_0x5a5913(0x113)]['title'],_0x1be268=!_0x145a19[_0x5a5913(0x12f)]||inspectKbContent(_0x2abcdd[_0x5a5913(0x110)])[_0x5a5913(0x116)]===_0x145a19[_0x5a5913(0x12f)]['contentHash'],_0x31218a=!_0x145a19[_0x5a5913(0x12f)]||_0x2abcdd[_0x5a5913(0x123)]>_0x145a19[_0x5a5913(0x135)][_0x5a5913(0x123)],_0x1568b0=!_0x467a9d||_0x145a19['replacement']!==undefined||_0x145a19[_0x5a5913(0x113)][_0x5a5913(0x124)]===undefined||_0x145a19[_0x5a5913(0x135)][_0x5a5913(0x124)]!==_0x145a19[_0x5a5913(0x113)][_0x5a5913(0x124)];if(!_0x16bcdc||!_0x1be268||!_0x31218a||!_0x1568b0)throw kbError(_0x467a9d?_0x5a5913(0x105):_0x5a5913(0x10b),_0x5a5913(0x11d)+_0x145a19[_0x5a5913(0x113)]['id']+_0x5a5913(0x10d),'Inspect\x20it\x20with\x20`rabetbase\x20kb\x20detail\x20--id\x20'+_0x145a19[_0x5a5913(0x113)]['id']+_0x5a5913(0x111));const _0x392377=[];return _0x145a19[_0x5a5913(0x113)][_0x5a5913(0x11a)]!==undefined&&_0x392377[_0x5a5913(0x120)](NON_ATOMIC_WARNING),_0x467a9d&&_0x392377['push'](_0x5a5913(0x11e)),{'ok':!![],'data':{'operation':_0x5a5913(0x106),'selector':{'id':_0x247425['id'],'scope':_0x5a5913(0x117),'appCode':_0x247425[_0x5a5913(0x10e)]},'before':_0x145a19[_0x5a5913(0x125)],'after':_0x247425,'dryRun':![],'backend':{'method':_0x5a5913(0x118),'path':UPDATE_PATH},'warnings':_0x392377,'verification':{'status':'verified','recoveredAfterUnknownResponse':_0x467a9d,'expectedVersion':_0x145a19[_0x5a5913(0x113)][_0x5a5913(0x11a)]??null,'atomicCompareAndSet':![],'lookupCommand':_0x5a5913(0x11c)+_0x247425['id']+_0x5a5913(0x133)}},'message':'Updated\x20company\x20knowledge\x20base\x20'+_0x247425['id']};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a106_0x5d94(_0x465a5d,_0x15fbf6){_0x465a5d=_0x465a5d-0x1a4;const _0x5ba1ad=a106_0x5ba1();let _0x5d9442=_0x5ba1ad[_0x465a5d];return _0x5d9442;}const a106_0x56460d=a106_0x5d94;(function(_0x3b8c35,_0x1c6b66){const _0x23e85d=a106_0x5d94,_0x2cbe9b=_0x3b8c35();while(!![]){try{const _0x125e8e=-parseInt(_0x23e85d(0x1b1))/0x1*(parseInt(_0x23e85d(0x1ad))/0x2)+-parseInt(_0x23e85d(0x1b0))/0x3*(-parseInt(_0x23e85d(0x1a4))/0x4)+parseInt(_0x23e85d(0x1c1))/0x5+parseInt(_0x23e85d(0x1b8))/0x6*(parseInt(_0x23e85d(0x1c6))/0x7)+-parseInt(_0x23e85d(0x1aa))/0x8*(parseInt(_0x23e85d(0x1bc))/0x9)+parseInt(_0x23e85d(0x1c5))/0xa+-parseInt(_0x23e85d(0x1a9))/0xb;if(_0x125e8e===_0x1c6b66)break;else _0x2cbe9b['push'](_0x2cbe9b['shift']());}catch(_0x2fff71){_0x2cbe9b['push'](_0x2cbe9b['shift']());}}}(a106_0x5ba1,0xa2397));function a106_0x5ba1(){const _0x367c00=['9997296vkIOPA','logs','\x20\x20\x20Details:\x20','12422RdSphi','\x20\x20\x20Time:\x20','details','15dbGuHV','61ZenjBe','clear','en-US','*\x20Logs\x20cleared','toLocaleString','timestamp','show','12QVrpuZ','clearLogs','*\x20Lovrabet\x20CLI\x20logs:\x0a','length','9JTctno','level','\x20\x20\x20Duration:\x20','warn','write','5860450sSXfJh','*\x20No\x20logs\x20found','log','View\x20command\x20history\x20logs','12293870YsiWfO','1196097nfZZKW','708252bptELm','Clear\x20command\x20history\x20logs','duration','success','message','14690830BwMjND'];a106_0x5ba1=function(){return _0x367c00;};return a106_0x5ba1();}import{logger}from'../../utils/logger.js';function printLogs(_0x39d56e){const _0x1223ef=a106_0x5d94;if(_0x39d56e[_0x1223ef(0x1bb)]===0x0){console['log'](_0x1223ef(0x1c2));return;}console['log'](_0x1223ef(0x1ba)),_0x39d56e['forEach']((_0x93b44a,_0x582ec8)=>{const _0x305da3=_0x1223ef,_0x39aa48=new Date(_0x93b44a[_0x305da3(0x1b6)])[_0x305da3(0x1b5)](_0x305da3(0x1b3)),_0x3f49f8=_0x93b44a[_0x305da3(0x1bd)]===_0x305da3(0x1a7)?'√':_0x93b44a[_0x305da3(0x1bd)]==='error'?'×':_0x93b44a[_0x305da3(0x1bd)]===_0x305da3(0x1bf)?'!':'i';console['log'](_0x582ec8+0x1+'.\x20'+_0x3f49f8+'\x20['+_0x93b44a['command']+']\x20'+_0x93b44a[_0x305da3(0x1a8)]),console[_0x305da3(0x1c3)](_0x305da3(0x1ae)+_0x39aa48),_0x93b44a[_0x305da3(0x1a6)]&&console[_0x305da3(0x1c3)](_0x305da3(0x1be)+_0x93b44a[_0x305da3(0x1a6)]+'ms'),_0x93b44a[_0x305da3(0x1af)]&&Object['keys'](_0x93b44a['details'])[_0x305da3(0x1bb)]>0x0&&console[_0x305da3(0x1c3)](_0x305da3(0x1ac)+JSON['stringify'](_0x93b44a['details'],null,0x2)),console['log']('');});}export const logsDefinitions=[{'service':a106_0x56460d(0x1ab),'command':a106_0x56460d(0x1b7),'description':a106_0x56460d(0x1c4),'risk':'read','requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x2eb16d){return printLogs(logger['readLogs']()),{'ok':!![]};}},{'service':a106_0x56460d(0x1ab),'command':a106_0x56460d(0x1b2),'description':a106_0x56460d(0x1a5),'risk':a106_0x56460d(0x1c0),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':[],async 'execute'(_0x4210bf){const _0x26d487=a106_0x56460d;return logger[_0x26d487(0x1b9)](),console[_0x26d487(0x1c3)](_0x26d487(0x1b4)),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a107_0x46491=a107_0x2eb1;(function(_0x34cf8f,_0x42d039){const _0x5a63ee=a107_0x2eb1,_0x4cbcd6=_0x34cf8f();while(!![]){try{const _0x40dce5=parseInt(_0x5a63ee(0xb2))/0x1*(parseInt(_0x5a63ee(0xb7))/0x2)+-parseInt(_0x5a63ee(0xaa))/0x3+-parseInt(_0x5a63ee(0x84))/0x4+-parseInt(_0x5a63ee(0x73))/0x5+-parseInt(_0x5a63ee(0x80))/0x6*(parseInt(_0x5a63ee(0x77))/0x7)+-parseInt(_0x5a63ee(0x91))/0x8+parseInt(_0x5a63ee(0xbf))/0x9;if(_0x40dce5===_0x42d039)break;else _0x4cbcd6['push'](_0x4cbcd6['shift']());}catch(_0x1c5b03){_0x4cbcd6['push'](_0x4cbcd6['shift']());}}}(a107_0x3393,0xc0594));import a107_0x311947 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';function a107_0x2eb1(_0x5dfd17,_0x3d32e1){_0x5dfd17=_0x5dfd17-0x6f;const _0x339326=a107_0x3393();let _0x2eb1b0=_0x339326[_0x5dfd17];return _0x2eb1b0;}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';function a107_0x3393(){const _0x485593=['\x20menu(s)\x20with\x20JS:\x20','\x20\x20Found\x20','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','map','trim','Menu\x20asset\x20update\x20skipped','Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20','mode','rawFlags','replace','isArray','\x20\x20Cancelled.','bool','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','flag','import','3232458BdcCpM','validation','\x20menu(s)...','Online\x20menu\x20list\x20fetched','failed','all','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','\x20menu(s)\x20failed','2apORFQ','isSafeInteger','Menu\x20asset\x20update\x20completed:\x20','\x20menu(s)','Menu\x20asset\x20update\x20failed','46538OQqrPl','string','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','cookie','skipped','/smartapi/menu/update','patch','--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.','61083639RTsBzG','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Updating\x20','split','appcode','diffs','updated','jsUrl','yes','str','selectedAppName','POST','cssUrl','yellow','appCode','menu','6425370bZgZms','\x20and\x20CSS:\x20','paths','length','2394juasCI','\x20updated.','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','force','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','fetch','boolean','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','stringify','14988KGzrdS','\x20\x20Update\x20','\x20menu\x20resource\x20set(s).','\x20failed.','5453716uqCjXf','some','\x20menu(s)\x20with\x20existing\x20resources','menu-ids','Failed\x20to\x20fetch\x20online\x20menu\x20list','\x20menu(s)\x20updated','load-mode','cyan','\x20updated,\x20','asset-update','script','params','menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20','11723552ovsppK','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','message','high-risk-write','filter','gray','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.'];a107_0x3393=function(){return _0x485593;};return a107_0x3393();}import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x46491(0x72),'command':a107_0x46491(0x8d),'description':a107_0x46491(0x9c),'risk':a107_0x46491(0x96),'flags':[{'name':a107_0x46491(0x8f),'type':a107_0x46491(0xb8),'description':a107_0x46491(0xa0)+a107_0x46491(0xb9)},{'name':a107_0x46491(0xa1),'type':a107_0x46491(0xb8),'description':a107_0x46491(0x92)+a107_0x46491(0xa7),'enum':['replace',a107_0x46491(0xbd)],'default':a107_0x46491(0xbd)},{'name':a107_0x46491(0x7a),'type':a107_0x46491(0x7d),'description':a107_0x46491(0xb0)},{'name':'menu-ids','type':'string','description':'Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update'},{'name':a107_0x46491(0x75),'type':a107_0x46491(0xb8),'description':a107_0x46491(0xc0)},{'name':a107_0x46491(0xaf),'type':a107_0x46491(0x7d),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':'load-mode','type':a107_0x46491(0xb8),'enum':[a107_0x46491(0xa9),'script',a107_0x46491(0x7c)],'description':a107_0x46491(0x93)}],async 'dryRun'(_0x145395){const _0x3f0d9e=a107_0x46491;ensureRunnableContext(_0x145395[_0x3f0d9e(0xa2)],_0x145395[_0x3f0d9e(0xc9)]);const _0x2a6ba4=await runMenuUpdateCore(_0x145395[_0x3f0d9e(0x71)],_0x145395['cookie'],_0x145395[_0x3f0d9e(0xc8)](_0x3f0d9e(0x8f)),{'mode':parseMode(_0x145395[_0x3f0d9e(0xc8)](_0x3f0d9e(0xa1))),'dryRun':!![],'force':_0x145395[_0x3f0d9e(0xa6)]('force'),'selection':parseSelection(_0x145395),'loadScriptMode':parseLoadScriptMode(_0x145395[_0x3f0d9e(0xc8)](_0x3f0d9e(0x8a)))});return{'method':_0x3f0d9e(0xca),'url':_0x3f0d9e(0xbc),'body':_0x2a6ba4,'description':_0x2a6ba4['skipped']?_0x3f0d9e(0x7b):'Would\x20update\x20'+(_0x2a6ba4[_0x3f0d9e(0xc4)]?.[_0x3f0d9e(0x76)]??0x0)+_0x3f0d9e(0x82)};},async 'execute'(_0x1d9ed0){const _0x88a0b5=a107_0x46491;ensureRunnableContext(_0x1d9ed0[_0x88a0b5(0xa2)],_0x1d9ed0[_0x88a0b5(0xc9)]);const _0x3e52a7=_0x1d9ed0[_0x88a0b5(0xa8)](_0x88a0b5(0xc7)),_0x32d484=_0x1d9ed0[_0x88a0b5(0xc8)](_0x88a0b5(0x8f)),_0x415abe=parseMode(_0x1d9ed0[_0x88a0b5(0xc8)](_0x88a0b5(0xa1))),_0xd5a9ad=_0x1d9ed0[_0x88a0b5(0xa6)]('force'),_0x38b0d3=parseLoadScriptMode(_0x1d9ed0[_0x88a0b5(0xc8)]('load-mode')),_0x20ae5a=parseParams(_0x32d484),_0x58d20a=!!(_0x20ae5a[_0x88a0b5(0xc6)]||_0x20ae5a[_0x88a0b5(0x6f)]);if(_0x3e52a7||_0x58d20a&&!isInteractive()){const _0xf5ecc7=await runMenuUpdateCore(_0x1d9ed0[_0x88a0b5(0x71)],_0x1d9ed0[_0x88a0b5(0xba)],_0x32d484,{'mode':_0x415abe,'force':_0xd5a9ad,'selection':parseSelection(_0x1d9ed0),'loadScriptMode':_0x38b0d3});return _0xf5ecc7[_0x88a0b5(0xbb)]?writeCliSideChannelLine('!\x20No\x20menus\x20with\x20existing\x20resources\x20found'):(writeCliSideChannelLine('✓\x20Menu\x20asset\x20update\x20completed:\x20'+_0xf5ecc7[_0x88a0b5(0xc5)]+_0x88a0b5(0x89)),_0xf5ecc7[_0x88a0b5(0xae)]>0x0&&writeCliSideChannelLine('!\x20'+_0xf5ecc7['failed']+_0x88a0b5(0xb1))),{'ok':_0xf5ecc7['failed']===0x0,'data':_0xf5ecc7,'message':_0xf5ecc7[_0x88a0b5(0xbb)]?_0x88a0b5(0x9f):_0x88a0b5(0xb4)+_0xf5ecc7[_0x88a0b5(0xc5)]+_0x88a0b5(0x8c)+_0xf5ecc7[_0x88a0b5(0xae)]+_0x88a0b5(0x83)};}requireInteractive();const _0x6623d=startSpinner('Fetching\x20online\x20menu\x20list...');let _0x58a841;try{_0x58a841=await fetchOnlineMenuList(_0x1d9ed0[_0x88a0b5(0x71)],_0x1d9ed0[_0x88a0b5(0xba)]),stopSpinner(_0x6623d,_0x88a0b5(0xad),!![]);}catch(_0x285d98){stopSpinner(_0x6623d,_0x88a0b5(0x88),![]);throw CliErrors[_0x88a0b5(0xab)](_0x285d98 instanceof Error?_0x285d98['message']:_0x88a0b5(0x88));}const _0x49869a=filterMenusWithResources(_0x58a841),_0x5fff78=parseSelection(_0x1d9ed0,![]),_0x2576a9=_0x5fff78?selectMenusForUpdate(_0x49869a,_0x5fff78):_0x49869a;if(_0x2576a9[_0x88a0b5(0x76)]===0x0)return writeCliSideChannelLine(a107_0x311947[_0x88a0b5(0x70)](_0x88a0b5(0x7e))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x311947[_0x88a0b5(0x8b)](_0x88a0b5(0x9b)+_0x2576a9[_0x88a0b5(0x76)]+_0x88a0b5(0x86))),writeCliSideChannelLine(renderUpdateSummary(_0x2576a9[_0x88a0b5(0x9d)](_0x2f3343=>_0x2f3343['label']),[_0x20ae5a['jsUrl'],_0x20ae5a[_0x88a0b5(0x6f)]])),writeCliSideChannelLine('');let _0x3bf7e3=_0x20ae5a[_0x88a0b5(0xc6)],_0xbd2313=_0x20ae5a[_0x88a0b5(0x6f)];!_0x3bf7e3&&(_0x3bf7e3=await askJsUrl());!_0xbd2313&&(_0xbd2313=await askCssUrl());const _0x2777d3=await askConfirm(_0x88a0b5(0x81)+_0x2576a9['length']+_0x88a0b5(0x9a)+_0x3bf7e3+_0x88a0b5(0x74)+_0xbd2313+'?');if(!_0x2777d3)return writeCliSideChannelLine(a107_0x311947[_0x88a0b5(0x98)](_0x88a0b5(0xa5))),{'ok':!![]};const _0x263e09=startSpinner(_0x88a0b5(0xc1)+_0x2576a9[_0x88a0b5(0x76)]+_0x88a0b5(0xac));try{const _0x41f2f2=await runMenuUpdateCore(_0x1d9ed0[_0x88a0b5(0x71)],_0x1d9ed0[_0x88a0b5(0xba)],JSON[_0x88a0b5(0x7f)]({'jsUrl':_0x3bf7e3,'cssUrl':_0xbd2313}),{'mode':_0x415abe,'force':_0xd5a9ad,'selection':{'all':![],'menuIds':_0x2576a9[_0x88a0b5(0x9d)](_0x4f301c=>_0x4f301c['id']),'paths':[]},'loadScriptMode':_0x38b0d3});return stopSpinner(_0x263e09,'Updated\x20'+_0x41f2f2['updated']+_0x88a0b5(0xb5),_0x41f2f2[_0x88a0b5(0xae)]===0x0),{'ok':_0x41f2f2[_0x88a0b5(0xae)]===0x0,'data':_0x41f2f2,'message':_0x41f2f2['failed']>0x0?_0x88a0b5(0xb4)+_0x41f2f2[_0x88a0b5(0xc5)]+_0x88a0b5(0x8c)+_0x41f2f2[_0x88a0b5(0xae)]+_0x88a0b5(0x83):_0x88a0b5(0xb4)+_0x41f2f2[_0x88a0b5(0xc5)]+_0x88a0b5(0x78)};}catch(_0x4faae7){stopSpinner(_0x263e09,_0x88a0b5(0xb6),![]);throw CliErrors[_0x88a0b5(0xab)](_0x4faae7 instanceof Error?_0x4faae7[_0x88a0b5(0x95)]:_0x88a0b5(0xb6));}}};function ensureRunnableContext(_0xb6fb75,_0x37f9e1){const _0x2128fb=a107_0x46491,_0x31021d=_0xb6fb75[_0x2128fb(0xc3)]?String(_0xb6fb75[_0x2128fb(0xc3)])[_0x2128fb(0x9e)]():'';if(!isInProject()&&!_0x37f9e1&&!_0x31021d)throw CliErrors[_0x2128fb(0xab)](_0x2128fb(0x90)+'Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.');}function parseMode(_0x3574c0){const _0x10f92d=a107_0x46491;if(!_0x3574c0)return _0x10f92d(0xbd);if(_0x3574c0===_0x10f92d(0xa3)||_0x3574c0===_0x10f92d(0xbd))return _0x3574c0;throw CliErrors[_0x10f92d(0xab)](_0x10f92d(0x94));}function parseSelection(_0x3174a1,_0x528b9c=!![]){const _0x5394aa=a107_0x46491,_0x2ee37f=_0x3174a1[_0x5394aa(0xa6)]('all'),_0x207588=parseMenuIds(_0x3174a1[_0x5394aa(0xc8)](_0x5394aa(0x87))),_0x3e1c27=parseCsv(_0x3174a1[_0x5394aa(0xc8)](_0x5394aa(0x75))),_0x102eeb=_0x207588[_0x5394aa(0x76)]>0x0||_0x3e1c27['length']>0x0;if(_0x2ee37f&&_0x102eeb)throw CliErrors[_0x5394aa(0xab)](_0x5394aa(0xbe));if(!_0x2ee37f&&!_0x102eeb){if(!_0x528b9c)return undefined;throw CliErrors['validation'](_0x5394aa(0x99));}return{'all':_0x2ee37f,'menuIds':_0x207588,'paths':_0x3e1c27};}function parseMenuIds(_0x57ecec){const _0x3de636=a107_0x46491,_0x57db36=parseCsv(_0x57ecec),_0x416f81=_0x57db36[_0x3de636(0x9d)](Number);if(_0x416f81[_0x3de636(0x85)](_0x4f4be9=>!Number[_0x3de636(0xb3)](_0x4f4be9)||_0x4f4be9<=0x0))throw CliErrors[_0x3de636(0xab)]('--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.');return[...new Set(_0x416f81)];}function parseCsv(_0x4decfc){const _0xcbde10=a107_0x46491;return[...new Set(_0x4decfc[_0xcbde10(0xc2)](',')[_0xcbde10(0x9d)](_0x7afc32=>_0x7afc32[_0xcbde10(0x9e)]())[_0xcbde10(0x97)](Boolean))];}function parseLoadScriptMode(_0x227e49){const _0x1b109b=a107_0x46491;if(!_0x227e49)return undefined;if(_0x227e49===_0x1b109b(0xa9)||_0x227e49===_0x1b109b(0x8e)||_0x227e49==='fetch')return _0x227e49;throw CliErrors[_0x1b109b(0xab)](_0x1b109b(0x79));}function parseParams(_0x1f3700){const _0x48cb5a=a107_0x46491;if(!_0x1f3700)return{};try{const _0x602f4b=JSON['parse'](_0x1f3700);if(typeof _0x602f4b!=='object'||_0x602f4b===null||Array[_0x48cb5a(0xa4)](_0x602f4b))return{};return{'jsUrl':typeof _0x602f4b['jsUrl']===_0x48cb5a(0xb8)?_0x602f4b[_0x48cb5a(0xc6)][_0x48cb5a(0x9e)]():undefined,'cssUrl':typeof _0x602f4b[_0x48cb5a(0x6f)]===_0x48cb5a(0xb8)?_0x602f4b[_0x48cb5a(0x6f)][_0x48cb5a(0x9e)]():undefined};}catch{return{};}}
|
|
1
|
+
const a107_0x127c55=a107_0x5bec;(function(_0xda4147,_0x5bcb12){const _0x5e8200=a107_0x5bec,_0x5a4402=_0xda4147();while(!![]){try{const _0x51a21d=parseInt(_0x5e8200(0x183))/0x1*(-parseInt(_0x5e8200(0x1a9))/0x2)+-parseInt(_0x5e8200(0x19d))/0x3+parseInt(_0x5e8200(0x1b5))/0x4+parseInt(_0x5e8200(0x1a4))/0x5+-parseInt(_0x5e8200(0x19f))/0x6*(-parseInt(_0x5e8200(0x182))/0x7)+parseInt(_0x5e8200(0x18c))/0x8*(-parseInt(_0x5e8200(0x18e))/0x9)+-parseInt(_0x5e8200(0x198))/0xa*(-parseInt(_0x5e8200(0x16a))/0xb);if(_0x51a21d===_0x5bcb12)break;else _0x5a4402['push'](_0x5a4402['shift']());}catch(_0x27f0fe){_0x5a4402['push'](_0x5a4402['shift']());}}}(a107_0x513c,0x2b9e1));import a107_0x1772e9 from'chalk';import{filterMenusWithResources,fetchOnlineMenuList}from'../../commands/menu/shared/logic.js';import{renderUpdateSummary}from'../../commands/menu/shared/compare-table.js';import{askJsUrl,askCssUrl,askConfirm,startSpinner,stopSpinner,isInteractive,requireInteractive}from'../../commands/menu/shared/inquirer.js';import{CliErrors}from'../../errors.js';import{writeCliSideChannelLine}from'../../utils/write-cli-side-channel.js';import{runMenuUpdateCore}from'../../commands/menu/shared/update-core.js';function a107_0x513c(){const _0x26b117=['191424NautnO','yes','trim','filter','Menu\x20asset\x20update\x20completed:\x20','Invalid\x20--load-mode.\x20Allowed\x20values:\x20import,\x20script,\x20fetch','params','yellow','/smartapi/menu/update','Fetching\x20online\x20menu\x20list...','message','selectedAppName','length','Allow\x20replace\x20mode\x20to\x20remove\x20existing\x20JS\x20resources','110zfLjlY','\x20\x20Found\x20','\x20\x20Update\x20','validation','asset-update','isSafeInteger','replace','\x20menu(s)\x20failed','split','load-mode','failed','cyan','skipped','Explicitly\x20change\x20the\x20microfrontend\x20resource\x20loading\x20mode','menu\x20asset-update\x20requires\x20an\x20explicit\x20target:\x20pass\x20--all,\x20--menu-ids,\x20or\x20--paths.','\x20updated,\x20','import','mode','updated','appcode','string','diffs','appCode','map','746599cOCcrt','4AWQqVa','bool','POST','\x20menu(s)...','Failed\x20to\x20fetch\x20online\x20menu\x20list','Exact\x20comma-separated\x20menu\x20IDs\x20to\x20update','str','patch\x20replaces\x20a\x20supplied\x20type\x20only\x20when\x20the\x20existing\x20target\x20is\x20unambiguous','JSON:\x20{\x22jsUrl\x22:\x22https://...js\x22,\x22cssUrl\x22:\x22https://...css\x22}','8zXCogu','label','2970162tZJnNh','paths','Resource\x20update\x20mode:\x20replace\x20rewrites\x20resources\x20from\x20supplied\x20URLs;\x20','Exact\x20comma-separated\x20menu\x20paths\x20to\x20update','Menu\x20asset\x20update\x20failed','high-risk-write','--menu-ids\x20must\x20contain\x20positive\x20safe\x20integers.','jsUrl','isArray','\x20updated.','207430fXXuvw','menu-ids','Updating\x20','flag','patch','483663vNgALz','force','18FRVJue','Updated\x20','Update\x20CDN\x20asset\x20URLs\x20for\x20selected\x20online\x20menus\x20with\x20existing\x20resources','\x20\x20!\x20No\x20menus\x20with\x20existing\x20resources\x20found','No\x20menus\x20with\x20existing\x20resources\x20would\x20be\x20updated.','766255SOktRT','✓\x20Menu\x20asset\x20update\x20completed:\x20','menu','some','boolean','29306OACZMP','cssUrl','cookie','\x20menu(s)\x20updated','stringify','Menu\x20asset\x20update\x20skipped','fetch','\x20failed.','Invalid\x20--mode.\x20Allowed\x20values:\x20replace,\x20patch','Run\x20inside\x20a\x20directory\x20with\x20.rabetbase.json,\x20or\x20pass\x20--appcode\x20<code>.','rawFlags','!\x20No\x20menus\x20with\x20existing\x20resources\x20found'];a107_0x513c=function(){return _0x26b117;};return a107_0x513c();}import{selectMenusForUpdate}from'../../commands/menu/shared/update-core.js';import{isInProject}from'../../context.js';export const menuAssetUpdate={'service':a107_0x127c55(0x1a6),'command':a107_0x127c55(0x16e),'description':a107_0x127c55(0x1a1),'risk':a107_0x127c55(0x193),'flags':[{'name':a107_0x127c55(0x1bb),'type':a107_0x127c55(0x17e),'description':'Pre-fill\x20JS/CSS\x20URLs\x20to\x20update.\x20'+a107_0x127c55(0x18b)},{'name':a107_0x127c55(0x17b),'type':a107_0x127c55(0x17e),'description':a107_0x127c55(0x190)+a107_0x127c55(0x18a),'enum':[a107_0x127c55(0x170),'patch'],'default':a107_0x127c55(0x19c)},{'name':'force','type':'boolean','description':a107_0x127c55(0x169)},{'name':a107_0x127c55(0x199),'type':a107_0x127c55(0x17e),'description':a107_0x127c55(0x188)},{'name':a107_0x127c55(0x18f),'type':a107_0x127c55(0x17e),'description':a107_0x127c55(0x191)},{'name':'all','type':a107_0x127c55(0x1a8),'description':'Explicitly\x20update\x20every\x20menu\x20that\x20has\x20resources'},{'name':a107_0x127c55(0x173),'type':'string','enum':[a107_0x127c55(0x17a),'script',a107_0x127c55(0x1af)],'description':a107_0x127c55(0x177)}],async 'dryRun'(_0x229109){const _0xdb4002=a107_0x127c55;ensureRunnableContext(_0x229109['rawFlags'],_0x229109[_0xdb4002(0x167)]);const _0x213987=await runMenuUpdateCore(_0x229109[_0xdb4002(0x180)],_0x229109[_0xdb4002(0x1ab)],_0x229109[_0xdb4002(0x189)](_0xdb4002(0x1bb)),{'mode':parseMode(_0x229109[_0xdb4002(0x189)]('mode')),'dryRun':!![],'force':_0x229109[_0xdb4002(0x184)](_0xdb4002(0x19e)),'selection':parseSelection(_0x229109),'loadScriptMode':parseLoadScriptMode(_0x229109[_0xdb4002(0x189)](_0xdb4002(0x173)))});return{'method':_0xdb4002(0x185),'url':_0xdb4002(0x1bd),'body':_0x213987,'description':_0x213987['skipped']?_0xdb4002(0x1a3):'Would\x20update\x20'+(_0x213987[_0xdb4002(0x17f)]?.[_0xdb4002(0x168)]??0x0)+'\x20menu\x20resource\x20set(s).'};},async 'execute'(_0x443b58){const _0x455908=a107_0x127c55;ensureRunnableContext(_0x443b58[_0x455908(0x1b3)],_0x443b58[_0x455908(0x167)]);const _0x404fbc=_0x443b58[_0x455908(0x19b)](_0x455908(0x1b6)),_0x3f6dd9=_0x443b58['str'](_0x455908(0x1bb)),_0x306474=parseMode(_0x443b58[_0x455908(0x189)](_0x455908(0x17b))),_0x458838=_0x443b58['bool'](_0x455908(0x19e)),_0x1258ef=parseLoadScriptMode(_0x443b58[_0x455908(0x189)](_0x455908(0x173))),_0x119fc1=parseParams(_0x3f6dd9),_0x58b0f8=!!(_0x119fc1[_0x455908(0x195)]||_0x119fc1['cssUrl']);if(_0x404fbc||_0x58b0f8&&!isInteractive()){const _0xcd7b31=await runMenuUpdateCore(_0x443b58[_0x455908(0x180)],_0x443b58[_0x455908(0x1ab)],_0x3f6dd9,{'mode':_0x306474,'force':_0x458838,'selection':parseSelection(_0x443b58),'loadScriptMode':_0x1258ef});return _0xcd7b31['skipped']?writeCliSideChannelLine(_0x455908(0x1b4)):(writeCliSideChannelLine(_0x455908(0x1a5)+_0xcd7b31[_0x455908(0x17c)]+_0x455908(0x1ac)),_0xcd7b31[_0x455908(0x174)]>0x0&&writeCliSideChannelLine('!\x20'+_0xcd7b31[_0x455908(0x174)]+_0x455908(0x171))),{'ok':_0xcd7b31[_0x455908(0x174)]===0x0,'data':_0xcd7b31,'message':_0xcd7b31[_0x455908(0x176)]?_0x455908(0x1ae):_0x455908(0x1b9)+_0xcd7b31[_0x455908(0x17c)]+_0x455908(0x179)+_0xcd7b31['failed']+_0x455908(0x1b0)};}requireInteractive();const _0x5202b9=startSpinner(_0x455908(0x1be));let _0x1fef31;try{_0x1fef31=await fetchOnlineMenuList(_0x443b58[_0x455908(0x180)],_0x443b58[_0x455908(0x1ab)]),stopSpinner(_0x5202b9,'Online\x20menu\x20list\x20fetched',!![]);}catch(_0x4d982b){stopSpinner(_0x5202b9,_0x455908(0x187),![]);throw CliErrors['validation'](_0x4d982b instanceof Error?_0x4d982b[_0x455908(0x1bf)]:'Failed\x20to\x20fetch\x20online\x20menu\x20list');}const _0x28b48e=filterMenusWithResources(_0x1fef31),_0x17ffb7=parseSelection(_0x443b58,![]),_0x35bc6b=_0x17ffb7?selectMenusForUpdate(_0x28b48e,_0x17ffb7):_0x28b48e;if(_0x35bc6b[_0x455908(0x168)]===0x0)return writeCliSideChannelLine(a107_0x1772e9[_0x455908(0x1bc)](_0x455908(0x1a2))),{'ok':!![]};writeCliSideChannelLine(''),writeCliSideChannelLine(a107_0x1772e9[_0x455908(0x175)](_0x455908(0x16b)+_0x35bc6b[_0x455908(0x168)]+'\x20menu(s)\x20with\x20existing\x20resources')),writeCliSideChannelLine(renderUpdateSummary(_0x35bc6b[_0x455908(0x181)](_0x398f40=>_0x398f40[_0x455908(0x18d)]),[_0x119fc1[_0x455908(0x195)],_0x119fc1[_0x455908(0x1aa)]])),writeCliSideChannelLine('');let _0x269e12=_0x119fc1[_0x455908(0x195)],_0x3a9d69=_0x119fc1[_0x455908(0x1aa)];!_0x269e12&&(_0x269e12=await askJsUrl());!_0x3a9d69&&(_0x3a9d69=await askCssUrl());const _0xab2a4d=await askConfirm(_0x455908(0x16c)+_0x35bc6b[_0x455908(0x168)]+'\x20menu(s)\x20with\x20JS:\x20'+_0x269e12+'\x20and\x20CSS:\x20'+_0x3a9d69+'?');if(!_0xab2a4d)return writeCliSideChannelLine(a107_0x1772e9['gray']('\x20\x20Cancelled.')),{'ok':!![]};const _0x4ebd61=startSpinner(_0x455908(0x19a)+_0x35bc6b[_0x455908(0x168)]+_0x455908(0x186));try{const _0x127f8b=await runMenuUpdateCore(_0x443b58[_0x455908(0x180)],_0x443b58[_0x455908(0x1ab)],JSON[_0x455908(0x1ad)]({'jsUrl':_0x269e12,'cssUrl':_0x3a9d69}),{'mode':_0x306474,'force':_0x458838,'selection':{'all':![],'menuIds':_0x35bc6b[_0x455908(0x181)](_0x9bacea=>_0x9bacea['id']),'paths':[]},'loadScriptMode':_0x1258ef});return stopSpinner(_0x4ebd61,_0x455908(0x1a0)+_0x127f8b[_0x455908(0x17c)]+'\x20menu(s)',_0x127f8b[_0x455908(0x174)]===0x0),{'ok':_0x127f8b[_0x455908(0x174)]===0x0,'data':_0x127f8b,'message':_0x127f8b[_0x455908(0x174)]>0x0?_0x455908(0x1b9)+_0x127f8b[_0x455908(0x17c)]+_0x455908(0x179)+_0x127f8b['failed']+'\x20failed.':_0x455908(0x1b9)+_0x127f8b['updated']+_0x455908(0x197)};}catch(_0x4e7db1){stopSpinner(_0x4ebd61,_0x455908(0x192),![]);throw CliErrors[_0x455908(0x16d)](_0x4e7db1 instanceof Error?_0x4e7db1[_0x455908(0x1bf)]:_0x455908(0x192));}}};function ensureRunnableContext(_0x5741b3,_0x18868d){const _0x238aa1=a107_0x127c55,_0x635274=_0x5741b3[_0x238aa1(0x17d)]?String(_0x5741b3[_0x238aa1(0x17d)])[_0x238aa1(0x1b7)]():'';if(!isInProject()&&!_0x18868d&&!_0x635274)throw CliErrors[_0x238aa1(0x16d)]('menu\x20asset-update\x20requires\x20a\x20project\x20context\x20or\x20explicit\x20--appcode.\x20'+_0x238aa1(0x1b2));}function a107_0x5bec(_0x55afb0,_0xd9710){_0x55afb0=_0x55afb0-0x167;const _0x513cd2=a107_0x513c();let _0x5bec80=_0x513cd2[_0x55afb0];return _0x5bec80;}function parseMode(_0x39f0a5){const _0xd85c06=a107_0x127c55;if(!_0x39f0a5)return _0xd85c06(0x19c);if(_0x39f0a5===_0xd85c06(0x170)||_0x39f0a5===_0xd85c06(0x19c))return _0x39f0a5;throw CliErrors['validation'](_0xd85c06(0x1b1));}function parseSelection(_0x8caaac,_0x238921=!![]){const _0x2966af=a107_0x127c55,_0x6bae5b=_0x8caaac[_0x2966af(0x184)]('all'),_0x30f1ac=parseMenuIds(_0x8caaac[_0x2966af(0x189)](_0x2966af(0x199))),_0x3e0260=parseCsv(_0x8caaac[_0x2966af(0x189)](_0x2966af(0x18f))),_0x1c26b0=_0x30f1ac[_0x2966af(0x168)]>0x0||_0x3e0260[_0x2966af(0x168)]>0x0;if(_0x6bae5b&&_0x1c26b0)throw CliErrors['validation']('--all\x20cannot\x20be\x20combined\x20with\x20--menu-ids\x20or\x20--paths.');if(!_0x6bae5b&&!_0x1c26b0){if(!_0x238921)return undefined;throw CliErrors[_0x2966af(0x16d)](_0x2966af(0x178));}return{'all':_0x6bae5b,'menuIds':_0x30f1ac,'paths':_0x3e0260};}function parseMenuIds(_0x32f133){const _0x56000b=a107_0x127c55,_0x22b503=parseCsv(_0x32f133),_0x46c1e0=_0x22b503[_0x56000b(0x181)](Number);if(_0x46c1e0[_0x56000b(0x1a7)](_0x59473d=>!Number[_0x56000b(0x16f)](_0x59473d)||_0x59473d<=0x0))throw CliErrors[_0x56000b(0x16d)](_0x56000b(0x194));return[...new Set(_0x46c1e0)];}function parseCsv(_0x47b8a8){const _0xdd02ad=a107_0x127c55;return[...new Set(_0x47b8a8[_0xdd02ad(0x172)](',')[_0xdd02ad(0x181)](_0x4bccbc=>_0x4bccbc[_0xdd02ad(0x1b7)]())[_0xdd02ad(0x1b8)](Boolean))];}function parseLoadScriptMode(_0x510b83){const _0xf912e=a107_0x127c55;if(!_0x510b83)return undefined;if(_0x510b83===_0xf912e(0x17a)||_0x510b83==='script'||_0x510b83===_0xf912e(0x1af))return _0x510b83;throw CliErrors[_0xf912e(0x16d)](_0xf912e(0x1ba));}function parseParams(_0x7cffe5){const _0x4a7b6d=a107_0x127c55;if(!_0x7cffe5)return{};try{const _0x19a831=JSON['parse'](_0x7cffe5);if(typeof _0x19a831!=='object'||_0x19a831===null||Array[_0x4a7b6d(0x196)](_0x19a831))return{};return{'jsUrl':typeof _0x19a831[_0x4a7b6d(0x195)]===_0x4a7b6d(0x17e)?_0x19a831[_0x4a7b6d(0x195)][_0x4a7b6d(0x1b7)]():undefined,'cssUrl':typeof _0x19a831[_0x4a7b6d(0x1aa)]==='string'?_0x19a831[_0x4a7b6d(0x1aa)][_0x4a7b6d(0x1b7)]():undefined};}catch{return{};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a108_0x16679c=a108_0x282c;(function(_0x556c21,_0x582bcd){const _0x1844d6=a108_0x282c,_0x138e95=_0x556c21();while(!![]){try{const _0x768054=-parseInt(_0x1844d6(0x222))/0x1*(parseInt(_0x1844d6(0x1ec))/0x2)+parseInt(_0x1844d6(0x23e))/0x3*(-parseInt(_0x1844d6(0x228))/0x4)+parseInt(_0x1844d6(0x216))/0x5+parseInt(_0x1844d6(0x1e2))/0x6*(parseInt(_0x1844d6(0x247))/0x7)+-parseInt(_0x1844d6(0x22c))/0x8*(-parseInt(_0x1844d6(0x21c))/0x9)+parseInt(_0x1844d6(0x249))/0xa+parseInt(_0x1844d6(0x1e3))/0xb;if(_0x768054===_0x582bcd)break;else _0x138e95['push'](_0x138e95['shift']());}catch(_0x1df05b){_0x138e95['push'](_0x138e95['shift']());}}}(a108_0x2727,0xdf387));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':a108_0x16679c(0x200)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x16679c(0x23f)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x16679c(0x24b),'type':a108_0x16679c(0x23d),'description':a108_0x16679c(0x1f2)},MENU_DELETE_PLAN_OUT_FLAG={'name':a108_0x16679c(0x24c),'type':a108_0x16679c(0x242),'description':a108_0x16679c(0x1dd)},MENU_DELETE_PLAN_FLAG={'name':a108_0x16679c(0x220),'type':a108_0x16679c(0x242),'description':a108_0x16679c(0x1de)};export const menuDelete={'service':'menu','command':a108_0x16679c(0x224),'description':a108_0x16679c(0x23c),'risk':a108_0x16679c(0x244),'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'(_0x5bc527){const _0x202b1b=a108_0x16679c;_0x5bc527[_0x202b1b(0x1fc)](_0x202b1b(0x22e))?validateDeleteDryRunInput(_0x5bc527):validateDeleteExecuteInput(_0x5bc527),requireExplicitYes(_0x5bc527);},async 'dryRun'(_0x4f2d00){const _0xbf2a03=a108_0x16679c;validateDeleteDryRunInput(_0x4f2d00);const _0x41eecd=await buildDeletePlan(_0x4f2d00),_0x20ddc8=createMenuDeletePlanFile(_0x4f2d00[_0xbf2a03(0x20a)],_0x41eecd),_0x2a2e5f=await writeMenuDeletePlan(_0x4f2d00[_0xbf2a03(0x202)](_0xbf2a03(0x24c)),_0x20ddc8),_0x5ba834=mutationResult({..._0x41eecd,'planFile':{'path':_0x2a2e5f,'createdAt':_0x20ddc8[_0xbf2a03(0x1ee)],'expiresAt':_0x20ddc8[_0xbf2a03(0x203)]}});return menuDryRunResult(_0x5ba834,{'method':'POST','url':_0xbf2a03(0x200),'body':{'idList':_0x5ba834[_0xbf2a03(0x253)]},'description':_0xbf2a03(0x204)+(_0x5ba834[_0xbf2a03(0x253)]?.['length']??0x1)+_0xbf2a03(0x1f9)+_0x5ba834['selector']['id']+_0xbf2a03(0x1df)+_0x2a2e5f+'.'});},async 'execute'(_0x392175){const _0x387183=a108_0x16679c;requireExplicitYes(_0x392175),validateDeleteExecuteInput(_0x392175);const _0x2dabf7=await readMenuDeletePlan(_0x392175[_0x387183(0x202)](_0x387183(0x220))),_0x4f62cb=mutationPlanFromDeleteFile(_0x2dabf7[_0x387183(0x220)],_0x2dabf7[_0x387183(0x24e)]),_0x3b42be=_0x2dabf7[_0x387183(0x220)][_0x387183(0x1e9)]['id'];try{assertMenuDeletePlanExecutable(_0x2dabf7[_0x387183(0x220)],_0x392175[_0x387183(0x20a)]);}catch(_0x3c32b3){throw menuFailure(asMenuError(_0x3c32b3),_0x4f62cb,{'stage':_0x387183(0x1e1),'failed':{'id':_0x3b42be}});}let _0x55d26b,_0x38c79d;try{_0x55d26b=await fetchMutationSnapshot(_0x392175,'execute\x20reviewed\x20delete\x20plan',_0x3b42be),_0x38c79d=assertMenuDeletePlanCurrent(_0x2dabf7['plan'],_0x392175[_0x387183(0x20a)],_0x55d26b),assertDeleteTargetsComplete(_0x2dabf7[_0x387183(0x220)],_0x55d26b),_0x38c79d[_0x387183(0x21d)](_0x5ecf97=>assertDeleteSafety(_0x5ecf97,_0x2dabf7['plan'][_0x387183(0x24b)])),assertNoSharedPages(_0x55d26b,_0x38c79d),assertCascadeMatchesPlan(_0x4f62cb,_0x38c79d);}catch(_0x180b24){throw menuFailure(asMenuError(_0x180b24),_0x4f62cb,{'stage':_0x387183(0x21b),'failed':{'id':_0x3b42be}});}const _0x3419fe=_0x2dabf7[_0x387183(0x220)]['deleteOrder'];let _0x4deebf;try{_0x4deebf=await batchDeleteMenuEntities(_0x392175[_0x387183(0x1db)],_0x3419fe);}catch(_0x4403c4){const _0x4ce909=mapMenuApiError(_0x4403c4,_0x387183(0x22d)),_0x5efeec=[_0x387183(0x1e5)];let _0x308eed;try{_0x308eed=await readDeleteOutcome(_0x392175,_0x3419fe);}catch(_0xa88762){const _0x17122d=describeMenuErrorCause(_0xa88762,_0x387183(0x231),_0x3b42be);_0x5efeec[_0x387183(0x230)](_0x387183(0x255)+_0x17122d['causeCode']+'):\x20'+_0x17122d[_0x387183(0x208)]);throw menuFailure(_0x4ce909,_0x4f62cb,{'stage':'batch-delete','failed':{'targetIds':_0x3419fe,'targetIdsAbsent':_0x387183(0x24a),..._0x17122d},'warnings':_0x5efeec,'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0x3419fe}});}throw menuFailure(_0x4ce909,_0x4f62cb,{'stage':_0x387183(0x234),'succeeded':_0x308eed[_0x387183(0x1ff)][_0x387183(0x229)](_0x541279=>({'id':_0x541279,'deleted':!![]})),'failed':{'targetIds':_0x3419fe,'absentIds':_0x308eed[_0x387183(0x1ff)],'remainingIds':_0x308eed['remainingIds']},'warnings':_0x5efeec,'verification':verificationFromOutcome(_0x308eed)});}if(_0x4deebf!==_0x3419fe[_0x387183(0x1da)]){const _0x405251=menuError(_0x387183(0x233),_0x387183(0x21f)+_0x4deebf+_0x387183(0x212)+_0x3419fe['length']+'.',_0x387183(0x214)),_0x59b61f=[_0x387183(0x226)];let _0x352ade;try{_0x352ade=await readDeleteOutcome(_0x392175,_0x3419fe);}catch(_0xe03e05){const _0x3fe553=describeMenuErrorCause(_0xe03e05,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x3b42be);_0x59b61f[_0x387183(0x230)](_0x387183(0x1e8)+_0x3fe553[_0x387183(0x205)]+_0x387183(0x227)+_0x3fe553[_0x387183(0x208)]);throw menuFailure(_0x405251,_0x4f62cb,{'stage':_0x387183(0x234),'failed':{'targetIds':_0x3419fe,'expectedCount':_0x3419fe['length'],'reportedDeletedCount':_0x4deebf,'targetIdsAbsent':_0x387183(0x24a),..._0x3fe553},'warnings':_0x59b61f,'verification':{'status':'failed','lookupCommand':_0x387183(0x20c),'targetIds':_0x3419fe}});}throw menuFailure(_0x405251,_0x4f62cb,{'stage':_0x387183(0x234),'succeeded':_0x352ade[_0x387183(0x1ff)][_0x387183(0x229)](_0x223226=>({'id':_0x223226,'deleted':!![]})),'failed':{'targetIds':_0x3419fe,'expectedCount':_0x3419fe[_0x387183(0x1da)],'reportedDeletedCount':_0x4deebf,'absentIds':_0x352ade[_0x387183(0x1ff)],'remainingIds':_0x352ade[_0x387183(0x1ea)]},'warnings':_0x59b61f,'verification':verificationFromOutcome(_0x352ade)});}let _0xdfbe65;try{_0xdfbe65=await readDeleteOutcome(_0x392175,_0x3419fe);}catch(_0x5b3cce){const _0x6a2dbe=describeMenuErrorCause(_0x5b3cce,'verify\x20batch\x20delete',_0x3b42be),_0x462211=asVerificationError(_0x5b3cce,_0x387183(0x1f6)+_0x3b42be+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence');throw menuFailure(_0x462211,_0x4f62cb,{'stage':'verification','succeeded':_0x3419fe[_0x387183(0x229)](_0x3968fd=>({'id':_0x3968fd,'deleteRequested':!![]})),'failed':{'id':_0x3b42be,'targetIds':_0x3419fe,'targetIdsAbsent':_0x387183(0x24a),..._0x6a2dbe},'warnings':[_0x387183(0x207)],'verification':{'status':_0x387183(0x243),'lookupCommand':_0x387183(0x20c),'targetIds':_0x3419fe}});}if(_0xdfbe65['remainingIds']['length']>0x0){const _0x469e04=menuError(_0x387183(0x24f),_0x387183(0x1e4)+_0xdfbe65[_0x387183(0x1ea)][_0x387183(0x1ed)](',\x20')+'.',_0x387183(0x214));throw menuFailure(_0x469e04,_0x4f62cb,{'stage':_0x387183(0x1e6),'succeeded':_0x3419fe[_0x387183(0x229)](_0x9ec955=>({'id':_0x9ec955,'deleteRequested':!![]})),'failed':{'id':_0x3b42be,'targetIds':_0x3419fe,'absentIds':_0xdfbe65[_0x387183(0x1ff)],'remainingIds':_0xdfbe65['remainingIds']},'warnings':[_0x387183(0x20d)],'verification':verificationFromOutcome(_0xdfbe65)});}const _0x273f97=_0x3419fe[_0x387183(0x229)](_0x4c2a44=>({'id':_0x4c2a44,'deleted':!![]})),_0x2bd590=mutationResult({..._0x4f62cb,'dryRun':![],'succeeded':_0x273f97,'verification':{'checkedBy':_0x387183(0x218),'plannedSnapshotHash':_0x4f62cb[_0x387183(0x20b)],'finalSnapshotHash':_0xdfbe65['snapshot'][_0x387183(0x239)],'reportedDeletedCount':_0x4deebf,'targetAbsent':!_0xdfbe65[_0x387183(0x252)][_0x387183(0x1e7)][_0x387183(0x1f7)](_0x3b42be),'allTargetsAbsent':!![],'targetIds':_0x3419fe}});return{'ok':!![],'data':_0x2bd590,'message':'Deleted\x20'+_0x273f97[_0x387183(0x1da)]+_0x387183(0x1f9)+_0x3b42be+'.'};}};async function readDeleteOutcome(_0x390c1a,_0x532a64){const _0x3b9ce6=a108_0x16679c,_0x3cc287=await fetchMenuSnapshot(_0x390c1a['appCode'],_0x390c1a[_0x3b9ce6(0x1db)]);return{'snapshot':_0x3cc287,'absentIds':_0x532a64[_0x3b9ce6(0x23a)](_0x1542c1=>!_0x3cc287['byId'][_0x3b9ce6(0x1f7)](_0x1542c1)),'remainingIds':_0x532a64['filter'](_0x1bd474=>_0x3cc287['byId'][_0x3b9ce6(0x1f7)](_0x1bd474))};}function verificationFromOutcome(_0x1e9ccd){const _0x480b04=a108_0x16679c;return{'checkedBy':_0x480b04(0x218),'absentIds':_0x1e9ccd['absentIds'],'remainingIds':_0x1e9ccd[_0x480b04(0x1ea)]};}function validateDeleteDryRunInput(_0x4aa6ef){const _0x440a57=a108_0x16679c;validateExactId(_0x4aa6ef);if(!hasFlag(_0x4aa6ef,_0x440a57(0x24c))||!_0x4aa6ef[_0x440a57(0x202)]('plan-out')[_0x440a57(0x210)]())throw CliErrors[_0x440a57(0x223)](_0x440a57(0x24c),_0x440a57(0x1eb));if(hasFlag(_0x4aa6ef,_0x440a57(0x220)))throw CliErrors[_0x440a57(0x24d)](_0x440a57(0x22a));}function validateDeleteExecuteInput(_0x506594){const _0x3ceec4=a108_0x16679c;if(!hasFlag(_0x506594,_0x3ceec4(0x220))||!_0x506594[_0x3ceec4(0x202)]('plan')[_0x3ceec4(0x210)]())throw CliErrors['flagMissing'](_0x3ceec4(0x220),_0x3ceec4(0x20f));const _0x49594e=['id',_0x3ceec4(0x24b),_0x3ceec4(0x24c),'expect-parent-id','expect-path','expected-children-count']['filter'](_0x54a818=>hasFlag(_0x506594,_0x54a818));if(_0x49594e[_0x3ceec4(0x1da)]>0x0)throw CliErrors['validation'](_0x3ceec4(0x236)+_0x49594e['map'](_0x4662a2=>'--'+_0x4662a2)['join'](',\x20')+'.');}async function buildDeletePlan(_0x34ec27){const _0x396d89=a108_0x16679c,_0xbd0e13=validateExactId(_0x34ec27),_0x21bee6=await fetchMutationSnapshot(_0x34ec27,_0x396d89(0x1fa),_0xbd0e13),_0x2c6b60=requireMenu(_0x21bee6,_0xbd0e13);assertExpectedState(_0x34ec27,_0x2c6b60);const _0x48e9c9=_0x34ec27[_0x396d89(0x1fc)](_0x396d89(0x24b));let _0x4c554f;if(_0x48e9c9){if(_0x2c6b60['type'][_0x396d89(0x210)]()[_0x396d89(0x1f8)]()!==_0x396d89(0x1f3))throw menuError(_0x396d89(0x238),_0x396d89(0x1fe)+_0x2c6b60['id']+_0x396d89(0x23b)+(_0x2c6b60['type']||_0x396d89(0x240))+_0x396d89(0x22b));_0x4c554f=collectDeleteTargets(_0x21bee6,_0x2c6b60),_0x4c554f[_0x396d89(0x21d)](_0x1ffbc9=>assertDeleteSafety(_0x1ffbc9,!![]));}else assertDeleteSafety(_0x2c6b60),_0x4c554f=[_0x2c6b60];assertNoSharedPages(_0x21bee6,_0x4c554f);const _0x383cb9=_0x4c554f[_0x396d89(0x229)](_0x53871b=>_0x53871b['id']),_0x1f1ed2=cascadeForTargets(_0x4c554f),_0x5e25d5=_0x1f1ed2['pages'][_0x396d89(0x1da)]>0x0?[_0x396d89(0x241)]:[];return mutationResult({'operation':'delete','selector':{'id':_0xbd0e13,'recursive':_0x48e9c9},'before':_0x2c6b60,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x396d89(0x20e),'method':_0x396d89(0x245),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x383cb9}}],'targets':_0x4c554f,'deleteOrder':_0x383cb9,'snapshotHash':_0x21bee6['hash'],'cascade':_0x1f1ed2,'warnings':_0x5e25d5});}function a108_0x282c(_0x23c2c2,_0x581e9b){_0x23c2c2=_0x23c2c2-0x1da;const _0x2727e2=a108_0x2727();let _0x282c46=_0x2727e2[_0x23c2c2];return _0x282c46;}function a108_0x2727(){const _0x597f0a=['toLowerCase','\x20menu(s)\x20under\x20exact\x20id\x20','plan\x20delete','pageId','bool','message','Menu\x20','absentIds','/smartapi/menu/batchDelete','\x20still\x20references\x20','str','expiresAt','Would\x20batch\x20delete\x20','causeCode','add','The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.','causeMessage','cascade','appCode','snapshotHash','rabetbase\x20menu\x20list\x20--format\x20json','The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.','batch-delete-menu','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','trim','resources','\x20deleted\x20menus;\x20expected\x20','menu_non_empty','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','page\x20','3532490TaThlG','\x20resource\x20URL(s).','menu\x20list','Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.','\x20->\x20menu\x20','pre-write-plan-validation','1143qgkEGT','forEach','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','Backend\x20reported\x20','plan','menu_tree_invalid','293GzrAhe','flagMissing','delete','Recursive\x20menu\x20delete\x20plan\x20root\x20','The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.','):\x20','7006388vPWjwO','map','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','92896BAfgjo','batch\x20delete','dry-run','menu_page_shared','push','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','\x20references\x20missing\x20child\x20','menu_batch_delete_count_mismatch','batch-delete','\x20is\x20unexpectedly\x20bound\x20to\x20page\x20','Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20','resourcesValid','menu_recursive_requires_folder','hash','filter','\x20is\x20type\x20\x22','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','boolean','3KNVRxt','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','unknown','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','string','failed','high-risk-write','POST','Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.','7rMCLTb','childrenIds','7572310ypBzKL','unconfirmed','recursive','plan-out','validation','path','menu_verification_failed','menu_folder_resources_invalid','\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.','snapshot','deleteOrder','type','Post-failure\x20menu\x20readback\x20failed\x20(','length','cookie','childrenCount','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out',';\x20execution\x20must\x20consume\x20','Folder\x20','plan-validation','3798852GpHYLs','2861760VrspDN','One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','verification','byId','Post-mismatch\x20menu\x20readback\x20failed\x20(','target','remainingIds','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','7958djrsrV','join','createdAt','menu_plan_invalid','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','get','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','folder','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','stringify','Batch\x20delete\x20request\x20for\x20menu\x20','has'];a108_0x2727=function(){return _0x597f0a;};return a108_0x2727();}function assertDeleteSafety(_0x2fb44e,_0x2d8d00=![]){const _0x554f72=a108_0x16679c,_0x19eed7=_0x2fb44e[_0x554f72(0x254)]['trim']()[_0x554f72(0x1f8)]()===_0x554f72(0x1f3);if(_0x2fb44e[_0x554f72(0x1dc)]>0x0&&(!_0x2d8d00||!_0x19eed7))throw menuError(_0x554f72(0x213),_0x554f72(0x1fe)+_0x2fb44e['id']+'\x20has\x20'+_0x2fb44e[_0x554f72(0x1dc)]+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x554f72(0x21e)+_0x2fb44e[_0x554f72(0x248)][_0x554f72(0x1ed)](',\x20'));if(_0x19eed7&&_0x2fb44e[_0x554f72(0x1fb)]!=null)throw menuError('menu_delete_page_bound',_0x554f72(0x1e0)+_0x2fb44e['id']+_0x554f72(0x235)+_0x2fb44e['pageId']+'\x20and\x20cannot\x20be\x20deleted\x20safely.','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(!_0x19eed7)return;if(!_0x2fb44e[_0x554f72(0x237)])throw menuError(_0x554f72(0x250),_0x554f72(0x1e0)+_0x2fb44e['id']+_0x554f72(0x251),'Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.');if(_0x2fb44e[_0x554f72(0x211)]['length']>0x0)throw menuError('menu_folder_has_resources',_0x554f72(0x1e0)+_0x2fb44e['id']+_0x554f72(0x201)+_0x2fb44e['resources']['length']+_0x554f72(0x217),_0x554f72(0x246));}function collectDeleteTargets(_0x22a02b,_0x349514){const _0x2b96e8=[],_0x4b68a9=new Set(),_0x570876=new Set(),_0xbd2b72=_0x536962=>{const _0x348898=a108_0x282c;if(_0x4b68a9[_0x348898(0x1f7)](_0x536962['id']))throw menuError(_0x348898(0x221),_0x348898(0x1f4)+_0x536962['id']+'.');if(_0x570876[_0x348898(0x1f7)](_0x536962['id']))return;_0x4b68a9['add'](_0x536962['id']);for(const _0x491835 of _0x536962[_0x348898(0x248)]){const _0x443b58=_0x22a02b[_0x348898(0x1e7)][_0x348898(0x1f1)](_0x491835);if(!_0x443b58)throw menuError(_0x348898(0x221),'Menu\x20'+_0x536962['id']+_0x348898(0x232)+_0x491835+'.');_0xbd2b72(_0x443b58);}_0x4b68a9[_0x348898(0x224)](_0x536962['id']),_0x570876[_0x348898(0x206)](_0x536962['id']),_0x2b96e8[_0x348898(0x230)](_0x536962);};return _0xbd2b72(_0x349514),_0x2b96e8;}function assertDeleteTargetsComplete(_0xf5361,_0x49317a){const _0x4e0f43=a108_0x16679c,_0x1a5359=requireMenu(_0x49317a,_0xf5361[_0x4e0f43(0x1e9)]['id']);if(_0xf5361[_0x4e0f43(0x24b)]&&_0x1a5359[_0x4e0f43(0x254)][_0x4e0f43(0x210)]()[_0x4e0f43(0x1f8)]()!==_0x4e0f43(0x1f3))throw menuError(_0x4e0f43(0x1ef),_0x4e0f43(0x225)+_0x1a5359['id']+'\x20is\x20not\x20a\x20folder.');const _0x14d0cd=_0xf5361[_0x4e0f43(0x24b)]?collectDeleteTargets(_0x49317a,_0x1a5359)[_0x4e0f43(0x229)](_0x5d19b1=>_0x5d19b1['id']):[_0x1a5359['id']];if(JSON['stringify'](_0xf5361['deleteOrder'])!==JSON[_0x4e0f43(0x1f5)](_0x14d0cd))throw menuError('menu_plan_invalid',_0x4e0f43(0x219),_0x4e0f43(0x1f0));}function assertNoSharedPages(_0x26292a,_0x8c2986){const _0xd2c2c2=a108_0x16679c,_0x1cf0fe=new Set(_0x8c2986[_0xd2c2c2(0x229)](_0x1b1fa0=>_0x1b1fa0['id'])),_0x2b7624=new Set(_0x8c2986[_0xd2c2c2(0x229)](_0x4c14fd=>_0x4c14fd[_0xd2c2c2(0x1fb)])[_0xd2c2c2(0x23a)](_0x18fd3a=>_0x18fd3a!=null));if(_0x2b7624['size']===0x0)return;const _0x545120=_0x26292a['menus'][_0xd2c2c2(0x23a)](_0x36eaf8=>!_0x1cf0fe[_0xd2c2c2(0x1f7)](_0x36eaf8['id'])&&_0x36eaf8[_0xd2c2c2(0x1fb)]!=null&&_0x2b7624[_0xd2c2c2(0x1f7)](_0x36eaf8[_0xd2c2c2(0x1fb)]));if(_0x545120[_0xd2c2c2(0x1da)]===0x0)return;const _0x55aa23=_0x545120[_0xd2c2c2(0x229)](_0x225a7f=>_0xd2c2c2(0x215)+_0x225a7f['pageId']+_0xd2c2c2(0x21a)+_0x225a7f['id'])[_0xd2c2c2(0x1ed)](',\x20');throw menuError(_0xd2c2c2(0x22f),'Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20'+_0x55aa23+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x3877e0,_0x353992){const _0x579872=a108_0x16679c,_0x53b463=cascadeForTargets(_0x353992);if(JSON['stringify'](_0x3877e0[_0x579872(0x209)])!==JSON[_0x579872(0x1f5)](_0x53b463))throw menuError(_0x579872(0x1ef),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x31a49c){const _0x204491=a108_0x16679c,_0xac9d0a=_0x31a49c[_0x204491(0x229)](_0x3cf0e1=>_0x3cf0e1[_0x204491(0x1fb)])[_0x204491(0x23a)](_0x2eac3c=>_0x2eac3c!=null)[_0x204491(0x23a)]((_0x3c19b2,_0x518446,_0x390be4)=>_0x390be4['indexOf'](_0x3c19b2)===_0x518446);return{'pages':_0xac9d0a,'pageSchemaAffected':_0xac9d0a[_0x204491(0x1da)]>0x0};}function asMenuError(_0x1550b6){const _0x5ad449=a108_0x16679c;return _0x1550b6 instanceof CliError?_0x1550b6:menuError(_0x5ad449(0x1ef),_0x1550b6 instanceof Error?_0x1550b6[_0x5ad449(0x1fd)]:String(_0x1550b6));}
|
|
1
|
+
function a108_0x4b3f(){const _0x1e0a43=['Deleted\x20','stringify','\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20absence','pageId','resources','plan\x20delete','cookie','causeCode','menu_verification_failed','pre-write-plan-validation','length','expect-path','menu_recursive_requires_folder','failed','Inspect\x20the\x20latest\x20menu\x20facts\x20and\x20generate\x20a\x20new\x20delete\x20plan;\x20do\x20not\x20retry\x20this\x20plan.','rabetbase\x20menu\x20list\x20--format\x20json','map','indexOf','path','snapshot','verification','filter','expiresAt','cascade','high-risk-write','Exact\x20menu\x20id\x20(required\x20with\x20--dry-run)','menu\x20list','173745RUnvUz','str','\x20deleted\x20menus;\x20expected\x20','Recursive\x20menu\x20delete\x20plan\x20root\x20','Page\x20bindings\x20are\x20referenced\x20by\x20menus\x20outside\x20the\x20delete\x20plan:\x20','592956BVzQdn','push','385TgJpOt','4665knzlmB','\x22;\x20--recursive\x20requires\x20a\x20folder\x20root.','flagMissing','join','target','Folder\x20','Batch\x20delete\x20request\x20for\x20menu\x20','appCode','bool','--plan\x20cannot\x20be\x20combined\x20with\x20--dry-run;\x20use\x20--plan-out.','plan-validation','menus','107581UnafLb','Menu\x20','--plan-out\x20is\x20required\x20for\x20menu\x20delete\x20dry-run\x20so\x20execution\x20can\x20consume\x20the\x20reviewed\x20plan.','read\x20menu\x20state\x20after\x20batch\x20delete\x20failure','unknown','string','createdAt','Inspect\x20and\x20repair\x20the\x20folder\x20resource\x20binding\x20in\x20the\x20platform\x20before\x20deleting\x20it.','causeMessage','add','44IwFOIP','POST','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20do\x20not\x20remove\x20or\x20reorder\x20targets.','absentIds','\x20->\x20menu\x20','remainingIds','--plan\x20is\x20required\x20for\x20menu\x20delete\x20execution.','delete','809868rhICec','2KBWdHw','menu_batch_delete_count_mismatch','Post-mismatch\x20menu\x20readback\x20failed\x20(','menu_delete_page_bound','forEach','snapshotHash','menu_plan_invalid','17919UGuKls','deleteOrder','batch\x20delete','16984ovTjhr','\x20resource\x20URL(s).','batch-delete','plan','childrenCount','Inspect\x20the\x20folder\x20in\x20the\x20platform\x20before\x20deleting\x20it.','dry-run','unconfirmed','childrenIds','recursive','The\x20batch\x20delete\x20may\x20have\x20partially\x20applied;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20creating\x20a\x20new\x20plan.','Include\x20every\x20descendant\x20of\x20the\x20exact\x20folder\x20id,\x20deleting\x20leaves\x20first','\x20references\x20missing\x20child\x20','message','menu_folder_resources_invalid','pages','Menu\x20tree\x20contains\x20a\x20cycle\x20at\x20menu\x20','execute\x20reviewed\x20delete\x20plan','trim','hash','Would\x20batch\x20delete\x20','Required\x20for\x20execution;\x20consume\x20an\x20unexpired\x20plan\x20created\x20by\x20--plan-out','menu_tree_invalid','menu_folder_has_resources','\x20menu(s)\x20under\x20exact\x20id\x20','plan-out','batch-delete-menu','selector','Delete\x20an\x20exact\x20menu\x20or\x20a\x20folder\x20subtree\x20from\x20a\x20reviewed\x20plan','Deleting\x20page-bound\x20menus\x20invokes\x20the\x20platform\x27s\x20existing\x20page\x20and\x20PageSchema\x20cascade;\x20listed\x20page\x20ids\x20are\x20direct\x20menu\x20bindings.','validation','resourcesValid','Handle\x20child\x20ids\x20in\x20the\x20platform\x20first:\x20','folder','260pFRQbB','page\x20','byId',';\x20execution\x20must\x20consume\x20','\x20is\x20not\x20a\x20folder.','toLowerCase','type','has','/smartapi/menu/batchDelete','\x20and\x20cannot\x20be\x20deleted\x20safely.','Required\x20with\x20--dry-run;\x20write\x20the\x20reviewed\x20plan\x20to\x20a\x20new\x20local\x20JSON\x20file'];a108_0x4b3f=function(){return _0x1e0a43;};return a108_0x4b3f();}const a108_0x5d4f38=a108_0x1873;(function(_0x2702af,_0x4ddbc4){const _0x2d4804=a108_0x1873,_0x36145e=_0x2702af();while(!![]){try{const _0x7ef509=parseInt(_0x2d4804(0x115))/0x1*(-parseInt(_0x2d4804(0x128))/0x2)+parseInt(_0x2d4804(0x101))/0x3+-parseInt(_0x2d4804(0x11f))/0x4*(-parseInt(_0x2d4804(0x109))/0x5)+parseInt(_0x2d4804(0x127))/0x6+parseInt(_0x2d4804(0x108))/0x7*(parseInt(_0x2d4804(0xb9))/0x8)+-parseInt(_0x2d4804(0x106))/0x9+parseInt(_0x2d4804(0xdb))/0xa*(-parseInt(_0x2d4804(0xb6))/0xb);if(_0x7ef509===_0x4ddbc4)break;else _0x36145e['push'](_0x36145e['shift']());}catch(_0x1d3c20){_0x36145e['push'](_0x36145e['shift']());}}}(a108_0x4b3f,0x196a6));function a108_0x1873(_0x390073,_0x59ad0a){_0x390073=_0x390073-0xb1;const _0x4b3fd9=a108_0x4b3f();let _0x187323=_0x4b3fd9[_0x390073];return _0x187323;}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':a108_0x5d4f38(0xe3)}],MENU_DELETE_ID_FLAG={...MENU_ID_FLAG,'required':![],'description':a108_0x5d4f38(0xff)},MENU_DELETE_RECURSIVE_FLAG={'name':a108_0x5d4f38(0xc2),'type':'boolean','description':a108_0x5d4f38(0xc4)},MENU_DELETE_PLAN_OUT_FLAG={'name':'plan-out','type':a108_0x5d4f38(0x11a),'description':a108_0x5d4f38(0xe5)},MENU_DELETE_PLAN_FLAG={'name':a108_0x5d4f38(0xbc),'type':a108_0x5d4f38(0x11a),'description':a108_0x5d4f38(0xce)};export const menuDelete={'service':'menu','command':a108_0x5d4f38(0x126),'description':a108_0x5d4f38(0xd5),'risk':a108_0x5d4f38(0xfe),'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'(_0x143fdf){const _0x32c0a1=a108_0x5d4f38;_0x143fdf[_0x32c0a1(0x111)](_0x32c0a1(0xbf))?validateDeleteDryRunInput(_0x143fdf):validateDeleteExecuteInput(_0x143fdf),requireExplicitYes(_0x143fdf);},async 'dryRun'(_0x21d2f2){const _0x29ea87=a108_0x5d4f38;validateDeleteDryRunInput(_0x21d2f2);const _0x2da480=await buildDeletePlan(_0x21d2f2),_0x1f2257=createMenuDeletePlanFile(_0x21d2f2['appCode'],_0x2da480),_0x1424d3=await writeMenuDeletePlan(_0x21d2f2[_0x29ea87(0x102)](_0x29ea87(0xd2)),_0x1f2257),_0x1ff235=mutationResult({..._0x2da480,'planFile':{'path':_0x1424d3,'createdAt':_0x1f2257[_0x29ea87(0x11b)],'expiresAt':_0x1f2257[_0x29ea87(0xfc)]}});return menuDryRunResult(_0x1ff235,{'method':_0x29ea87(0x120),'url':'/smartapi/menu/batchDelete','body':{'idList':_0x1ff235[_0x29ea87(0xb7)]},'description':_0x29ea87(0xcd)+(_0x1ff235[_0x29ea87(0xb7)]?.['length']??0x1)+_0x29ea87(0xd1)+_0x1ff235[_0x29ea87(0xd4)]['id']+_0x29ea87(0xde)+_0x1424d3+'.'});},async 'execute'(_0x333608){const _0x700c4d=a108_0x5d4f38;requireExplicitYes(_0x333608),validateDeleteExecuteInput(_0x333608);const _0x5d68fb=await readMenuDeletePlan(_0x333608[_0x700c4d(0x102)](_0x700c4d(0xbc))),_0x1315f1=mutationPlanFromDeleteFile(_0x5d68fb['plan'],_0x5d68fb[_0x700c4d(0xf8)]),_0x42e785=_0x5d68fb[_0x700c4d(0xbc)][_0x700c4d(0x10d)]['id'];try{assertMenuDeletePlanExecutable(_0x5d68fb['plan'],_0x333608['appCode']);}catch(_0x4c9303){throw menuFailure(asMenuError(_0x4c9303),_0x1315f1,{'stage':_0x700c4d(0x113),'failed':{'id':_0x42e785}});}let _0x2756be,_0x24e750;try{_0x2756be=await fetchMutationSnapshot(_0x333608,_0x700c4d(0xca),_0x42e785),_0x24e750=assertMenuDeletePlanCurrent(_0x5d68fb['plan'],_0x333608[_0x700c4d(0x110)],_0x2756be),assertDeleteTargetsComplete(_0x5d68fb[_0x700c4d(0xbc)],_0x2756be),_0x24e750['forEach'](_0x25b79e=>assertDeleteSafety(_0x25b79e,_0x5d68fb[_0x700c4d(0xbc)][_0x700c4d(0xc2)])),assertNoSharedPages(_0x2756be,_0x24e750),assertCascadeMatchesPlan(_0x1315f1,_0x24e750);}catch(_0x12b263){throw menuFailure(asMenuError(_0x12b263),_0x1315f1,{'stage':_0x700c4d(0xef),'failed':{'id':_0x42e785}});}const _0xdfb15d=_0x5d68fb['plan'][_0x700c4d(0xb7)];let _0x4d8699;try{_0x4d8699=await batchDeleteMenuEntities(_0x333608[_0x700c4d(0xec)],_0xdfb15d);}catch(_0x509ed8){const _0x4d6d80=mapMenuApiError(_0x509ed8,_0x700c4d(0xb8)),_0x3497da=[_0x700c4d(0xc3)];let _0x39416d;try{_0x39416d=await readDeleteOutcome(_0x333608,_0xdfb15d);}catch(_0x17ac4c){const _0x2a2b98=describeMenuErrorCause(_0x17ac4c,_0x700c4d(0x118),_0x42e785);_0x3497da['push']('Post-failure\x20menu\x20readback\x20failed\x20('+_0x2a2b98[_0x700c4d(0xed)]+'):\x20'+_0x2a2b98[_0x700c4d(0x11d)]);throw menuFailure(_0x4d6d80,_0x1315f1,{'stage':_0x700c4d(0xbb),'failed':{'targetIds':_0xdfb15d,'targetIdsAbsent':_0x700c4d(0xc0),..._0x2a2b98},'warnings':_0x3497da,'verification':{'status':'failed','lookupCommand':_0x700c4d(0xf5),'targetIds':_0xdfb15d}});}throw menuFailure(_0x4d6d80,_0x1315f1,{'stage':_0x700c4d(0xbb),'succeeded':_0x39416d[_0x700c4d(0x122)][_0x700c4d(0xf6)](_0xd4a1e4=>({'id':_0xd4a1e4,'deleted':!![]})),'failed':{'targetIds':_0xdfb15d,'absentIds':_0x39416d[_0x700c4d(0x122)],'remainingIds':_0x39416d[_0x700c4d(0x124)]},'warnings':_0x3497da,'verification':verificationFromOutcome(_0x39416d)});}if(_0x4d8699!==_0xdfb15d[_0x700c4d(0xf0)]){const _0x3ad6a5=menuError(_0x700c4d(0x129),'Backend\x20reported\x20'+_0x4d8699+_0x700c4d(0x103)+_0xdfb15d['length']+'.',_0x700c4d(0xf4)),_0x2ef97c=['The\x20batch\x20response\x20count\x20did\x20not\x20match\x20the\x20reviewed\x20target\x20count;\x20do\x20not\x20retry\x20the\x20same\x20plan.'];let _0x15ccac;try{_0x15ccac=await readDeleteOutcome(_0x333608,_0xdfb15d);}catch(_0x23fac0){const _0x134598=describeMenuErrorCause(_0x23fac0,'read\x20menu\x20state\x20after\x20batch\x20delete\x20count\x20mismatch',_0x42e785);_0x2ef97c[_0x700c4d(0x107)](_0x700c4d(0xb1)+_0x134598['causeCode']+'):\x20'+_0x134598[_0x700c4d(0x11d)]);throw menuFailure(_0x3ad6a5,_0x1315f1,{'stage':_0x700c4d(0xbb),'failed':{'targetIds':_0xdfb15d,'expectedCount':_0xdfb15d[_0x700c4d(0xf0)],'reportedDeletedCount':_0x4d8699,'targetIdsAbsent':_0x700c4d(0xc0),..._0x134598},'warnings':_0x2ef97c,'verification':{'status':_0x700c4d(0xf3),'lookupCommand':_0x700c4d(0xf5),'targetIds':_0xdfb15d}});}throw menuFailure(_0x3ad6a5,_0x1315f1,{'stage':_0x700c4d(0xbb),'succeeded':_0x15ccac[_0x700c4d(0x122)][_0x700c4d(0xf6)](_0x25335b=>({'id':_0x25335b,'deleted':!![]})),'failed':{'targetIds':_0xdfb15d,'expectedCount':_0xdfb15d['length'],'reportedDeletedCount':_0x4d8699,'absentIds':_0x15ccac[_0x700c4d(0x122)],'remainingIds':_0x15ccac[_0x700c4d(0x124)]},'warnings':_0x2ef97c,'verification':verificationFromOutcome(_0x15ccac)});}let _0x3abca3;try{_0x3abca3=await readDeleteOutcome(_0x333608,_0xdfb15d);}catch(_0x5ba47f){const _0x121900=describeMenuErrorCause(_0x5ba47f,'verify\x20batch\x20delete',_0x42e785),_0x17b09b=asVerificationError(_0x5ba47f,_0x700c4d(0x10f)+_0x42e785+_0x700c4d(0xe8));throw menuFailure(_0x17b09b,_0x1315f1,{'stage':_0x700c4d(0xfa),'succeeded':_0xdfb15d['map'](_0x1a9912=>({'id':_0x1a9912,'deleteRequested':!![]})),'failed':{'id':_0x42e785,'targetIds':_0xdfb15d,'targetIdsAbsent':_0x700c4d(0xc0),..._0x121900},'warnings':['The\x20batch\x20delete\x20request\x20was\x20accepted,\x20but\x20its\x20final\x20online\x20state\x20is\x20unconfirmed.'],'verification':{'status':'failed','lookupCommand':'rabetbase\x20menu\x20list\x20--format\x20json','targetIds':_0xdfb15d}});}if(_0x3abca3['remainingIds'][_0x700c4d(0xf0)]>0x0){const _0x749441=menuError(_0x700c4d(0xee),'One\x20or\x20more\x20planned\x20menus\x20are\x20still\x20present\x20after\x20the\x20batch\x20delete\x20request:\x20'+_0x3abca3['remainingIds'][_0x700c4d(0x10c)](',\x20')+'.',_0x700c4d(0xf4));throw menuFailure(_0x749441,_0x1315f1,{'stage':_0x700c4d(0xfa),'succeeded':_0xdfb15d[_0x700c4d(0xf6)](_0x3fab2e=>({'id':_0x3fab2e,'deleteRequested':!![]})),'failed':{'id':_0x42e785,'targetIds':_0xdfb15d,'absentIds':_0x3abca3['absentIds'],'remainingIds':_0x3abca3[_0x700c4d(0x124)]},'warnings':['The\x20backend\x20acknowledged\x20the\x20batch\x20request,\x20but\x20final\x20menu\x20facts\x20did\x20not\x20confirm\x20every\x20deletion.'],'verification':verificationFromOutcome(_0x3abca3)});}const _0x37ebac=_0xdfb15d[_0x700c4d(0xf6)](_0x28c959=>({'id':_0x28c959,'deleted':!![]})),_0x1c7c81=mutationResult({..._0x1315f1,'dryRun':![],'succeeded':_0x37ebac,'verification':{'checkedBy':_0x700c4d(0x100),'plannedSnapshotHash':_0x1315f1[_0x700c4d(0xb4)],'finalSnapshotHash':_0x3abca3[_0x700c4d(0xf9)][_0x700c4d(0xcc)],'reportedDeletedCount':_0x4d8699,'targetAbsent':!_0x3abca3[_0x700c4d(0xf9)][_0x700c4d(0xdd)][_0x700c4d(0xe2)](_0x42e785),'allTargetsAbsent':!![],'targetIds':_0xdfb15d}});return{'ok':!![],'data':_0x1c7c81,'message':_0x700c4d(0xe6)+_0x37ebac['length']+_0x700c4d(0xd1)+_0x42e785+'.'};}};async function readDeleteOutcome(_0x484576,_0xa9ac67){const _0x4aeea6=a108_0x5d4f38,_0x173526=await fetchMenuSnapshot(_0x484576[_0x4aeea6(0x110)],_0x484576[_0x4aeea6(0xec)]);return{'snapshot':_0x173526,'absentIds':_0xa9ac67[_0x4aeea6(0xfb)](_0x24d329=>!_0x173526[_0x4aeea6(0xdd)][_0x4aeea6(0xe2)](_0x24d329)),'remainingIds':_0xa9ac67[_0x4aeea6(0xfb)](_0x4d02e9=>_0x173526[_0x4aeea6(0xdd)][_0x4aeea6(0xe2)](_0x4d02e9))};}function verificationFromOutcome(_0x25667b){const _0x272819=a108_0x5d4f38;return{'checkedBy':_0x272819(0x100),'absentIds':_0x25667b[_0x272819(0x122)],'remainingIds':_0x25667b[_0x272819(0x124)]};}function validateDeleteDryRunInput(_0x4158d0){const _0x314957=a108_0x5d4f38;validateExactId(_0x4158d0);if(!hasFlag(_0x4158d0,_0x314957(0xd2))||!_0x4158d0[_0x314957(0x102)](_0x314957(0xd2))[_0x314957(0xcb)]())throw CliErrors[_0x314957(0x10b)](_0x314957(0xd2),_0x314957(0x117));if(hasFlag(_0x4158d0,_0x314957(0xbc)))throw CliErrors[_0x314957(0xd7)](_0x314957(0x112));}function validateDeleteExecuteInput(_0x1893c3){const _0x4ad3dc=a108_0x5d4f38;if(!hasFlag(_0x1893c3,_0x4ad3dc(0xbc))||!_0x1893c3[_0x4ad3dc(0x102)](_0x4ad3dc(0xbc))[_0x4ad3dc(0xcb)]())throw CliErrors['flagMissing']('plan',_0x4ad3dc(0x125));const _0x4c8ecc=['id',_0x4ad3dc(0xc2),'plan-out','expect-parent-id',_0x4ad3dc(0xf1),'expected-children-count']['filter'](_0xd1672e=>hasFlag(_0x1893c3,_0xd1672e));if(_0x4c8ecc[_0x4ad3dc(0xf0)]>0x0)throw CliErrors[_0x4ad3dc(0xd7)]('Menu\x20delete\x20execution\x20consumes\x20only\x20--plan;\x20remove\x20'+_0x4c8ecc[_0x4ad3dc(0xf6)](_0x4e45d8=>'--'+_0x4e45d8)[_0x4ad3dc(0x10c)](',\x20')+'.');}async function buildDeletePlan(_0x47134b){const _0x14b525=a108_0x5d4f38,_0x540461=validateExactId(_0x47134b),_0x117291=await fetchMutationSnapshot(_0x47134b,_0x14b525(0xeb),_0x540461),_0x3ede5c=requireMenu(_0x117291,_0x540461);assertExpectedState(_0x47134b,_0x3ede5c);const _0xb5b40a=_0x47134b[_0x14b525(0x111)](_0x14b525(0xc2));let _0x38a288;if(_0xb5b40a){if(_0x3ede5c[_0x14b525(0xe1)][_0x14b525(0xcb)]()[_0x14b525(0xe0)]()!==_0x14b525(0xda))throw menuError(_0x14b525(0xf2),_0x14b525(0x116)+_0x3ede5c['id']+'\x20is\x20type\x20\x22'+(_0x3ede5c[_0x14b525(0xe1)]||_0x14b525(0x119))+_0x14b525(0x10a));_0x38a288=collectDeleteTargets(_0x117291,_0x3ede5c),_0x38a288[_0x14b525(0xb3)](_0x5182c7=>assertDeleteSafety(_0x5182c7,!![]));}else assertDeleteSafety(_0x3ede5c),_0x38a288=[_0x3ede5c];assertNoSharedPages(_0x117291,_0x38a288);const _0x4a6470=_0x38a288[_0x14b525(0xf6)](_0x6869da=>_0x6869da['id']),_0x4f90fd=cascadeForTargets(_0x38a288),_0x5eb811=_0x4f90fd[_0x14b525(0xc8)][_0x14b525(0xf0)]>0x0?[_0x14b525(0xd6)]:[];return mutationResult({'operation':'delete','selector':{'id':_0x540461,'recursive':_0xb5b40a},'before':_0x3ede5c,'after':null,'dryRun':!![],'backend':[...BACKEND],'plannedActions':[{'stage':_0x14b525(0xd3),'method':_0x14b525(0x120),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x4a6470}}],'targets':_0x38a288,'deleteOrder':_0x4a6470,'snapshotHash':_0x117291['hash'],'cascade':_0x4f90fd,'warnings':_0x5eb811});}function assertDeleteSafety(_0x209410,_0x4ce334=![]){const _0x4a228e=a108_0x5d4f38,_0x21bd81=_0x209410['type'][_0x4a228e(0xcb)]()[_0x4a228e(0xe0)]()===_0x4a228e(0xda);if(_0x209410[_0x4a228e(0xbd)]>0x0&&(!_0x4ce334||!_0x21bd81))throw menuError('menu_non_empty',_0x4a228e(0x116)+_0x209410['id']+'\x20has\x20'+_0x209410['childrenCount']+'\x20direct\x20child\x20menu(s)\x20and\x20cannot\x20be\x20deleted.',_0x4a228e(0xd9)+_0x209410[_0x4a228e(0xc1)][_0x4a228e(0x10c)](',\x20'));if(_0x21bd81&&_0x209410[_0x4a228e(0xe9)]!=null)throw menuError(_0x4a228e(0xb2),_0x4a228e(0x10e)+_0x209410['id']+'\x20is\x20unexpectedly\x20bound\x20to\x20page\x20'+_0x209410['pageId']+_0x4a228e(0xe4),_0x4a228e(0xbe));if(!_0x21bd81)return;if(!_0x209410[_0x4a228e(0xd8)])throw menuError(_0x4a228e(0xc7),'Folder\x20'+_0x209410['id']+'\x20has\x20an\x20unreadable\x20extend.resources\x20value\x20and\x20cannot\x20be\x20proven\x20empty.',_0x4a228e(0x11c));if(_0x209410[_0x4a228e(0xea)][_0x4a228e(0xf0)]>0x0)throw menuError(_0x4a228e(0xd0),_0x4a228e(0x10e)+_0x209410['id']+'\x20still\x20references\x20'+_0x209410[_0x4a228e(0xea)][_0x4a228e(0xf0)]+_0x4a228e(0xba),'Remove\x20or\x20verify\x20the\x20resource\x20bindings\x20in\x20the\x20platform\x20before\x20deleting\x20the\x20folder.');}function collectDeleteTargets(_0x96977e,_0x236051){const _0x4e7a68=[],_0x5448a4=new Set(),_0x91dac2=new Set(),_0x4f3360=_0x38cc52=>{const _0x2618e1=a108_0x1873;if(_0x5448a4[_0x2618e1(0xe2)](_0x38cc52['id']))throw menuError(_0x2618e1(0xcf),_0x2618e1(0xc9)+_0x38cc52['id']+'.');if(_0x91dac2[_0x2618e1(0xe2)](_0x38cc52['id']))return;_0x5448a4[_0x2618e1(0x11e)](_0x38cc52['id']);for(const _0x5343f5 of _0x38cc52['childrenIds']){const _0x54506b=_0x96977e[_0x2618e1(0xdd)]['get'](_0x5343f5);if(!_0x54506b)throw menuError(_0x2618e1(0xcf),_0x2618e1(0x116)+_0x38cc52['id']+_0x2618e1(0xc5)+_0x5343f5+'.');_0x4f3360(_0x54506b);}_0x5448a4[_0x2618e1(0x126)](_0x38cc52['id']),_0x91dac2[_0x2618e1(0x11e)](_0x38cc52['id']),_0x4e7a68[_0x2618e1(0x107)](_0x38cc52);};return _0x4f3360(_0x236051),_0x4e7a68;}function assertDeleteTargetsComplete(_0x366b58,_0x283915){const _0x5eea8c=a108_0x5d4f38,_0x1ba40a=requireMenu(_0x283915,_0x366b58[_0x5eea8c(0x10d)]['id']);if(_0x366b58['recursive']&&_0x1ba40a['type']['trim']()[_0x5eea8c(0xe0)]()!=='folder')throw menuError('menu_plan_invalid',_0x5eea8c(0x104)+_0x1ba40a['id']+_0x5eea8c(0xdf));const _0x4607bb=_0x366b58[_0x5eea8c(0xc2)]?collectDeleteTargets(_0x283915,_0x1ba40a)[_0x5eea8c(0xf6)](_0x3aac41=>_0x3aac41['id']):[_0x1ba40a['id']];if(JSON[_0x5eea8c(0xe7)](_0x366b58['deleteOrder'])!==JSON[_0x5eea8c(0xe7)](_0x4607bb))throw menuError(_0x5eea8c(0xb5),'Menu\x20delete\x20plan\x20does\x20not\x20contain\x20the\x20complete\x20current\x20subtree\x20in\x20leaf-first\x20order.',_0x5eea8c(0x121));}function assertNoSharedPages(_0x2a81eb,_0x13266){const _0x21d8de=a108_0x5d4f38,_0x2999f8=new Set(_0x13266['map'](_0x57c8d7=>_0x57c8d7['id'])),_0x846a72=new Set(_0x13266[_0x21d8de(0xf6)](_0x50c8dc=>_0x50c8dc[_0x21d8de(0xe9)])['filter'](_0x37e258=>_0x37e258!=null));if(_0x846a72['size']===0x0)return;const _0x42749a=_0x2a81eb[_0x21d8de(0x114)][_0x21d8de(0xfb)](_0x4ef7a1=>!_0x2999f8[_0x21d8de(0xe2)](_0x4ef7a1['id'])&&_0x4ef7a1[_0x21d8de(0xe9)]!=null&&_0x846a72[_0x21d8de(0xe2)](_0x4ef7a1['pageId']));if(_0x42749a[_0x21d8de(0xf0)]===0x0)return;const _0x4ceaf2=_0x42749a[_0x21d8de(0xf6)](_0x364fb8=>_0x21d8de(0xdc)+_0x364fb8['pageId']+_0x21d8de(0x123)+_0x364fb8['id'])[_0x21d8de(0x10c)](',\x20');throw menuError('menu_page_shared',_0x21d8de(0x105)+_0x4ceaf2+'.','Keep\x20every\x20shared\x20page\x20reference\x20outside\x20this\x20operation,\x20or\x20choose\x20a\x20folder\x20whose\x20complete\x20subtree\x20contains\x20all\x20references.');}function assertCascadeMatchesPlan(_0x27e078,_0x292e20){const _0x49de34=a108_0x5d4f38,_0x54608b=cascadeForTargets(_0x292e20);if(JSON[_0x49de34(0xe7)](_0x27e078[_0x49de34(0xfd)])!==JSON['stringify'](_0x54608b))throw menuError(_0x49de34(0xb5),'Menu\x20delete\x20plan\x20cascade\x20does\x20not\x20match\x20the\x20reviewed\x20target\x20page\x20facts.');}function cascadeForTargets(_0x385b43){const _0x3b63b9=a108_0x5d4f38,_0x28a563=_0x385b43[_0x3b63b9(0xf6)](_0x2d173c=>_0x2d173c[_0x3b63b9(0xe9)])[_0x3b63b9(0xfb)](_0x28798f=>_0x28798f!=null)[_0x3b63b9(0xfb)]((_0x18cfbb,_0x383a10,_0xc233b2)=>_0xc233b2[_0x3b63b9(0xf7)](_0x18cfbb)===_0x383a10);return{'pages':_0x28a563,'pageSchemaAffected':_0x28a563[_0x3b63b9(0xf0)]>0x0};}function asMenuError(_0x32ae18){const _0x23bfc2=a108_0x5d4f38;return _0x32ae18 instanceof CliError?_0x32ae18:menuError(_0x23bfc2(0xb5),_0x32ae18 instanceof Error?_0x32ae18[_0x23bfc2(0xc6)]:String(_0x32ae18));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a109_0x3ae066=a109_0x8c18;(function(_0x5667d5,_0x4f32d8){const _0x532058=a109_0x8c18,_0x50a9d7=_0x5667d5();while(!![]){try{const _0x79c140=parseInt(_0x532058(0x1fb))/0x1+-parseInt(_0x532058(0x1f0))/0x2*(parseInt(_0x532058(0x1e8))/0x3)+parseInt(_0x532058(0x228))/0x4+-parseInt(_0x532058(0x22f))/0x5*(-parseInt(_0x532058(0x205))/0x6)+-parseInt(_0x532058(0x211))/0x7+-parseInt(_0x532058(0x241))/0x8*(-parseInt(_0x532058(0x22d))/0x9)+-parseInt(_0x532058(0x20d))/0xa;if(_0x79c140===_0x4f32d8)break;else _0x50a9d7['push'](_0x50a9d7['shift']());}catch(_0x4b95a5){_0x50a9d7['push'](_0x50a9d7['shift']());}}}(a109_0x5e4f,0x22d3d));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':a109_0x3ae066(0x24d),'new-window':a109_0x3ae066(0x234)};export function validateExternalMenuUrl(_0x18f0fc){const _0xabcb3f=a109_0x3ae066,_0xc27202=_0x18f0fc['trim']();let _0x537d4b;try{_0x537d4b=new URL(_0xc27202);}catch{throw menuError(_0xabcb3f(0x247),_0xabcb3f(0x20f),_0xabcb3f(0x23b));}if(_0x537d4b[_0xabcb3f(0x21f)]!==_0xabcb3f(0x1f7))throw menuError(_0xabcb3f(0x244),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0xabcb3f(0x25c));if(_0x537d4b[_0xabcb3f(0x243)]||_0x537d4b[_0xabcb3f(0x264)])throw menuError(_0xabcb3f(0x1f2),'External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.');return _0xc27202;}export const menuExternalLinkCreate={'service':a109_0x3ae066(0x255),'command':a109_0x3ae066(0x1f6),'description':a109_0x3ae066(0x206),'risk':a109_0x3ae066(0x222),'structuredErrors':!![],'flags':[{'name':a109_0x3ae066(0x22a),'type':a109_0x3ae066(0x1ed),'required':!![],'description':a109_0x3ae066(0x223)},{'name':'open-mode','type':'string','required':!![],'enum':['embedded',a109_0x3ae066(0x1e6)],'description':'How\x20to\x20open\x20the\x20external\x20website'},{'name':a109_0x3ae066(0x1ef),'type':a109_0x3ae066(0x1ed),'required':!![],'description':a109_0x3ae066(0x214)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x3ae066(0x258),'type':a109_0x3ae066(0x238),'default':!![],'description':a109_0x3ae066(0x231)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x2b99c7){validateAddInput(_0x2b99c7);},async 'dryRun'(_0x454f15){const _0x145ed1=a109_0x3ae066;validateAddInput(_0x454f15);const {plan:_0x59dd1b}=await buildSafeAddPlan(_0x454f15,!![]),_0x2573ec=_0x59dd1b[_0x145ed1(0x21a)],_0xfa80e=createBody(_0x2573ec);return menuDryRunResult(_0x59dd1b,{'method':_0x145ed1(0x265),'url':_0x145ed1(0x256),'body':_0xfa80e,'description':_0x145ed1(0x25a)+JSON['stringify'](_0x2573ec['label'])+'\x20with\x20'+_0x454f15[_0x145ed1(0x20e)](_0x145ed1(0x260))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x522a06){const _0xe135a5=a109_0x3ae066;validateAddInput(_0x522a06);const _0x88a8d5=await buildSafeAddPlan(_0x522a06,![]),{plan:_0x24aef6,snapshot:_0x51376c}=_0x88a8d5,_0x47bc0e=_0x24aef6[_0xe135a5(0x21a)],_0x256074=buildMenuLookupCommand(_0x522a06[_0xe135a5(0x26a)]);await recheckAddSnapshot(_0x522a06,_0x24aef6);let _0x5ae111;try{_0x5ae111=await createMenuEntity(_0x522a06[_0xe135a5(0x26a)],_0x522a06[_0xe135a5(0x25d)],createBody(_0x47bc0e));}catch(_0x4764f0){const _0x44c21b=mapMenuApiError(_0x4764f0,_0xe135a5(0x219));if(!isMenuResponseLoss(_0x4764f0)||_0x44c21b[_0xe135a5(0x20b)]===_0xe135a5(0x254))throw externalLinkCreateFailure(_0x44c21b,_0x24aef6,{'stage':_0xe135a5(0x239),'failed':{},'verification':{'status':_0xe135a5(0x209),'lookupCommand':_0x256074}});return recoverAfterResponseLoss(_0x522a06,_0x88a8d5,_0x256074);}const _0x2cbeef=Number(_0x5ae111?.['id']),_0x447d50=typeof _0x5ae111?.[_0xe135a5(0x230)]===_0xe135a5(0x1ed)?_0x5ae111[_0xe135a5(0x230)]:'';if(!Number[_0xe135a5(0x1f1)](_0x2cbeef)||_0x2cbeef<=0x0||!_0x447d50[_0xe135a5(0x24a)]()){const _0x3ae90f=menuError('menu_create_response_invalid',_0xe135a5(0x218),_0xe135a5(0x232)+_0x256074+_0xe135a5(0x237));throw externalLinkCreateFailure(_0x3ae90f,_0x24aef6,{'stage':_0xe135a5(0x1f5),'succeeded':Number['isSafeInteger'](_0x2cbeef)&&_0x2cbeef>0x0?[{'id':_0x2cbeef,'created':!![]}]:[],'failed':{'createdId':Number[_0xe135a5(0x1f1)](_0x2cbeef)?_0x2cbeef:null,'generatedPathConfirmed':Boolean(_0x447d50[_0xe135a5(0x24a)]())},'warnings':['The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.'],'after':Number[_0xe135a5(0x1f1)](_0x2cbeef)&&_0x2cbeef>0x0?{..._0x47bc0e,'id':_0x2cbeef,'path':_0x447d50}:_0x47bc0e,'verification':{'status':_0xe135a5(0x209),'lookupCommand':_0x256074,...Number['isSafeInteger'](_0x2cbeef)&&_0x2cbeef>0x0?{'targetId':_0x2cbeef}:{}}});}const _0x605a81=await readAndVerifyCreatedMenu({'appCode':_0x522a06[_0xe135a5(0x26a)],'cookie':_0x522a06[_0xe135a5(0x25d)],'plan':_0x24aef6,'afterPlan':_0x47bc0e,'createdId':_0x2cbeef,'expectedPath':_0x447d50,'lookupCommand':_0x256074,'recovered':![]});return creationSuccess(_0x24aef6,_0x605a81['snapshot'],_0x605a81['fact'],![]);}};function validateAddInput(_0x3d35ee){const _0x5bce4a=a109_0x3ae066;if(!_0x3d35ee['str'](_0x5bce4a(0x22a))[_0x5bce4a(0x24a)]())throw CliErrors[_0x5bce4a(0x262)]('label');resolveExternalMenuType(_0x3d35ee),validateExternalMenuUrl(_0x3d35ee['str'](_0x5bce4a(0x1ef))),parseParentId(_0x3d35ee,_0x5bce4a(0x213)),validateSort(_0x3d35ee);}function resolveExternalMenuType(_0x1d23af){const _0x1ee0ed=a109_0x3ae066,_0x369706=_0x1d23af[_0x1ee0ed(0x20e)]('open-mode')['trim']();if(!_0x369706)throw CliErrors[_0x1ee0ed(0x262)](_0x1ee0ed(0x260));const _0x343014=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x369706];if(!_0x343014)throw menuError(_0x1ee0ed(0x21d),_0x1ee0ed(0x235),_0x1ee0ed(0x21c));return _0x343014;}function a109_0x8c18(_0x9b225a,_0x39d25f){_0x9b225a=_0x9b225a-0x1e5;const _0x5e4f13=a109_0x5e4f();let _0x8c1885=_0x5e4f13[_0x9b225a];return _0x8c1885;}async function buildAddPlan(_0x3ca8ff,_0x4ebabc){const _0x1e8da6=a109_0x3ae066,_0x508c4f=await fetchMutationSnapshot(_0x3ca8ff,_0x1e8da6(0x219)),_0x122b16=parseParentId(_0x3ca8ff,_0x1e8da6(0x213))??null;if(_0x122b16!=null)requireFolder(_0x508c4f,_0x122b16);const _0x5755f7=validateSort(_0x3ca8ff),_0x30eeff=_0x5755f7??nextSiblingSort(_0x508c4f,_0x122b16,_0x1e8da6(0x255)),_0x232d85=_0x3ca8ff[_0x1e8da6(0x20e)](_0x1e8da6(0x22a))[_0x1e8da6(0x24a)](),_0x297791=resolveExternalMenuType(_0x3ca8ff),_0x191ca4=validateExternalMenuUrl(_0x3ca8ff['str'](_0x1e8da6(0x1ef))),_0x142baa=Object[_0x1e8da6(0x207)][_0x1e8da6(0x22c)][_0x1e8da6(0x1ea)](_0x3ca8ff['rawFlags'],_0x1e8da6(0x258))?_0x3ca8ff[_0x1e8da6(0x24c)](_0x1e8da6(0x258)):!![],_0xc8450={'id':null,'parentId':_0x122b16,'label':_0x232d85,'path':_0x1e8da6(0x224),'url':_0x191ca4,'type':_0x297791,'visible':_0x142baa,'sort':_0x30eeff},_0x56481a=buildMenuLookupCommand(_0x3ca8ff[_0x1e8da6(0x26a)]),_0x5be3f9=mutationResult({'operation':_0x1e8da6(0x242),'selector':{'parentId':_0x122b16,'type':_0x297791,'label':_0x232d85,'url':_0x191ca4},'before':null,'after':_0xc8450,'dryRun':_0x4ebabc,'backend':[{'method':_0x1e8da6(0x265),'path':_0x1e8da6(0x256)}],'plannedActions':[{'stage':_0x1e8da6(0x216),'method':_0x1e8da6(0x265),'path':_0x1e8da6(0x256),'body':createBody(_0xc8450)}],'snapshotHash':_0x508c4f[_0x1e8da6(0x20a)],'warnings':['The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.'],'verification':{'lookupCommand':_0x56481a}});return{'plan':_0x5be3f9,'snapshot':_0x508c4f};}async function buildSafeAddPlan(_0x623ecc,_0x3f663c){try{return await buildAddPlan(_0x623ecc,_0x3f663c);}catch(_0x14a2f6){throw safeMenuAddError(_0x14a2f6);}}async function recheckAddSnapshot(_0xf7ac02,_0x420278){const _0x1667c3=a109_0x3ae066;try{await recheckMutationSnapshot(_0xf7ac02,_0x420278,'create\x20external\x20menu');}catch(_0x50d2cc){const _0x45899a=getFailureRecord(_0x50d2cc);throw externalLinkCreateFailure(_0x50d2cc,_0x420278,{'stage':_0x1667c3(0x1ff),'failed':{..._0x45899a?.[_0x1667c3(0x266)]?{'expectedSnapshotHash':_0x45899a[_0x1667c3(0x266)]}:{},..._0x45899a?.[_0x1667c3(0x268)]?{'currentSnapshotHash':_0x45899a[_0x1667c3(0x268)]}:{}}});}}function createBody(_0x100f63){const _0x468dc6=a109_0x3ae066;return{'parentId':toApiParentId(_0x100f63[_0x468dc6(0x263)]),'label':String(_0x100f63[_0x468dc6(0x22a)]),'type':String(_0x100f63['type']),'url':String(_0x100f63[_0x468dc6(0x1ef)]),'visible':Boolean(_0x100f63[_0x468dc6(0x258)]),'sort':Number(_0x100f63[_0x468dc6(0x252)]),'extend':{}};}function buildMenuLookupCommand(_0x46b303){const _0x31acd3=a109_0x3ae066,_0x2994f5='\x27'+_0x46b303[_0x31acd3(0x1f9)](/'/g,'\x27\x5c\x27\x27')+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x2994f5+_0x31acd3(0x1fe);}async function recoverAfterResponseLoss(_0x4ad96d,_0x2b7d63,_0x17e403){const _0x5ac770=a109_0x3ae066,{plan:_0x583c50,snapshot:_0x485008}=_0x2b7d63,_0x32193a=_0x583c50[_0x5ac770(0x21a)];let _0x17257a;try{_0x17257a=await fetchMenuSnapshot(_0x4ad96d[_0x5ac770(0x26a)],_0x4ad96d['cookie']);}catch(_0x211d26){throw recoveryRequiredFailure(_0x583c50,_0x17e403,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x41b458=_0x17257a[_0x5ac770(0x253)][_0x5ac770(0x24e)](_0x1f5e80=>_0x1f5e80[_0x5ac770(0x263)]===_0x32193a['parentId']&&_0x1f5e80[_0x5ac770(0x261)]===_0x32193a['type']&&_0x1f5e80[_0x5ac770(0x22a)]===_0x32193a['label']&&_0x1f5e80[_0x5ac770(0x1ef)]===_0x32193a[_0x5ac770(0x1ef)]),_0x4fea0a=_0x41b458[_0x5ac770(0x24e)](_0xfcc3a0=>!_0x485008[_0x5ac770(0x217)]['has'](_0xfcc3a0['id'])),_0x16013c=_0x41b458[_0x5ac770(0x24e)](_0x4bd549=>_0x485008['byId']['has'](_0x4bd549['id']));if(_0x41b458[_0x5ac770(0x23c)]!==0x1||_0x4fea0a[_0x5ac770(0x23c)]!==0x1)throw recoveryRequiredFailure(_0x583c50,_0x17e403,{'matchCount':_0x41b458['length'],'newMatchCount':_0x4fea0a[_0x5ac770(0x23c)],'preexistingMatchCount':_0x16013c['length']});const _0x516270=_0x4fea0a[0x0];try{verifyCreatedFact(_0x516270,_0x516270['id'],_0x32193a,null);}catch(_0x42ef11){const _0x3e39ac=_0x42ef11 instanceof Error&&_0x5ac770(0x20b)in _0x42ef11?_0x42ef11:menuError(_0x5ac770(0x24f),_0x5ac770(0x1ee)+_0x516270['id']+_0x5ac770(0x25f),'Run\x20'+_0x17e403+_0x5ac770(0x1fd));throw externalLinkCreateFailure(_0x3e39ac,_0x583c50,{'stage':_0x5ac770(0x233),'succeeded':[{'id':_0x516270['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x516270['id'],'finalFactsConfirmed':![]},'after':_0x516270,'warnings':['Menu\x20'+_0x516270['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':_0x5ac770(0x209),'targetId':_0x516270['id'],'recovered':!![],'lookupCommand':_0x17e403}});}return creationSuccess(_0x583c50,_0x17257a,_0x516270,!![]);}function recoveryRequiredFailure(_0x3a2163,_0x48662c,_0x21fc3b){const _0x80a418=a109_0x3ae066,_0x4e185a=menuError(_0x80a418(0x1fa),_0x80a418(0x212),_0x80a418(0x232)+_0x48662c+_0x80a418(0x236));return externalLinkCreateFailure(_0x4e185a,_0x3a2163,{'stage':_0x80a418(0x221),'failed':_0x21fc3b,'warnings':[_0x80a418(0x1f3)],'verification':{'status':_0x80a418(0x209),..._0x21fc3b,'lookupCommand':_0x48662c}});}async function readAndVerifyCreatedMenu(_0x3e517f){const _0x14402c=a109_0x3ae066;let _0x878cc8;try{_0x878cc8=await fetchMenuSnapshot(_0x3e517f[_0x14402c(0x26a)],_0x3e517f[_0x14402c(0x25d)]);}catch(_0x3e1a34){const _0x33491f=menuError(_0x14402c(0x24f),_0x14402c(0x245)+_0x3e517f['createdId']+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.',_0x14402c(0x232)+_0x3e517f[_0x14402c(0x22b)]+_0x14402c(0x24b));throw externalLinkCreateFailure(_0x33491f,_0x3e517f[_0x14402c(0x23d)],{'stage':'verification','succeeded':[{'id':_0x3e517f['createdId'],'created':!![]}],'failed':{'id':_0x3e517f['createdId'],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x3e517f[_0x14402c(0x229)],'id':_0x3e517f[_0x14402c(0x227)],'path':_0x3e517f[_0x14402c(0x215)]},'warnings':['Menu\x20'+_0x3e517f[_0x14402c(0x227)]+_0x14402c(0x1e5)],'verification':{'status':_0x14402c(0x209),'targetId':_0x3e517f[_0x14402c(0x227)],'lookupCommand':_0x3e517f[_0x14402c(0x22b)]}});}const _0x5ad4f2=_0x878cc8[_0x14402c(0x217)][_0x14402c(0x210)](_0x3e517f[_0x14402c(0x227)]);try{if(!_0x5ad4f2)throw menuError('menu_verification_failed',_0x14402c(0x26d)+_0x3e517f[_0x14402c(0x227)]+_0x14402c(0x246),_0x14402c(0x232)+_0x3e517f[_0x14402c(0x22b)]+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');verifyCreatedFact(_0x5ad4f2,_0x3e517f['createdId'],_0x3e517f['afterPlan'],_0x3e517f[_0x14402c(0x215)]);}catch(_0x431324){const _0x2ec2a2=_0x431324 instanceof Error&&_0x14402c(0x20b)in _0x431324?_0x431324:menuError('menu_verification_failed',_0x14402c(0x26d)+_0x3e517f[_0x14402c(0x227)]+'\x20failed\x20final\x20verification.','Run\x20'+_0x3e517f[_0x14402c(0x22b)]+_0x14402c(0x24b));throw externalLinkCreateFailure(_0x2ec2a2,_0x3e517f[_0x14402c(0x23d)],{'stage':_0x14402c(0x233),'succeeded':[{'id':_0x3e517f['createdId'],'created':!![]}],'failed':{'id':_0x3e517f[_0x14402c(0x227)],'finalFactsConfirmed':![]},'after':_0x5ad4f2??{..._0x3e517f['afterPlan'],'id':_0x3e517f[_0x14402c(0x227)],'path':_0x3e517f[_0x14402c(0x215)]},'warnings':['Menu\x20'+_0x3e517f[_0x14402c(0x227)]+'\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.'],'verification':{'status':_0x14402c(0x209),'targetId':_0x3e517f[_0x14402c(0x227)],'recovered':_0x3e517f[_0x14402c(0x1f4)],'lookupCommand':_0x3e517f[_0x14402c(0x22b)]}});}return{'snapshot':_0x878cc8,'fact':_0x5ad4f2};}function verifyCreatedFact(_0x210eb3,_0x3348d9,_0x8893f6,_0x3b3dc7){const _0x3399a1=a109_0x3ae066;if(!Number[_0x3399a1(0x1f1)](_0x210eb3['id'])||_0x210eb3['id']<=0x0||_0x210eb3['id']!==_0x3348d9)throw menuError(_0x3399a1(0x24f),_0x3399a1(0x22e),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x19d18d=[['parent',_0x210eb3[_0x3399a1(0x263)],_0x8893f6[_0x3399a1(0x263)]],[_0x3399a1(0x261),_0x210eb3['type'],_0x8893f6[_0x3399a1(0x261)]],['label',_0x210eb3[_0x3399a1(0x22a)],_0x8893f6[_0x3399a1(0x22a)]],['URL',_0x210eb3[_0x3399a1(0x1ef)],_0x8893f6[_0x3399a1(0x1ef)]],[_0x3399a1(0x202),_0x210eb3[_0x3399a1(0x258)],_0x8893f6['visible']],[_0x3399a1(0x252),_0x210eb3[_0x3399a1(0x252)],_0x8893f6['sort']]];for(const [_0x573143,_0x3661ca,_0x4255d3]of _0x19d18d){if(_0x3661ca!==_0x4255d3)throw menuError(_0x3399a1(0x24f),_0x3399a1(0x26d)+_0x210eb3['id']+'\x20has\x20an\x20unexpected\x20'+_0x573143+'.',_0x3399a1(0x1ec));}if(!_0x210eb3[_0x3399a1(0x230)][_0x3399a1(0x24a)]()||_0x3b3dc7!==null&&_0x210eb3[_0x3399a1(0x230)]!==_0x3b3dc7)throw menuError(_0x3399a1(0x24f),_0x3399a1(0x26d)+_0x210eb3['id']+'\x20has\x20an\x20unexpected\x20generated\x20path.',_0x3399a1(0x1ec));}function creationSuccess(_0x5430ac,_0x51a74b,_0xea256,_0x1f4602){const _0x3b8bc5=a109_0x3ae066,_0x53cdf5=mutationResult({..._0x5430ac,'after':_0xea256,'dryRun':![],'succeeded':[{'id':_0xea256['id'],'created':!![],'recovered':_0x1f4602}],'verification':{'checkedBy':_0x3b8bc5(0x257),'snapshotHash':_0x51a74b[_0x3b8bc5(0x20a)],'targetId':_0xea256['id'],'recovered':_0x1f4602,'path':_0xea256[_0x3b8bc5(0x230)]}});return{'ok':!![],'message':_0x1f4602?'Recovered\x20created\x20external\x20menu\x20'+_0xea256['id']+_0x3b8bc5(0x25e):'Created\x20external\x20menu\x20'+_0xea256['id']+'.','data':{..._0x53cdf5,'recovered':_0x1f4602}};}function externalLinkCreateFailure(_0x19a289,_0x3edee0,_0xcfccc){const _0x59baa7=a109_0x3ae066;return menuFailure(safeMenuAddError(_0x19a289),redactFailurePlan(_0x3edee0),{..._0xcfccc,'succeeded':_0xcfccc[_0x59baa7(0x21e)]?.[_0x59baa7(0x1e7)](redactFailureRecord),'failed':_0xcfccc[_0x59baa7(0x209)]?redactFailureRecord(_0xcfccc['failed']):undefined,'verification':_0xcfccc[_0x59baa7(0x233)]?redactFailureRecord(_0xcfccc[_0x59baa7(0x233)]):undefined,'after':_0xcfccc[_0x59baa7(0x21a)]===undefined?undefined:redactFailureValue(_0xcfccc['after'])});}function redactFailurePlan(_0x6f2e8a){const _0x5f448a=a109_0x3ae066;return{..._0x6f2e8a,'selector':redactFailureRecord(_0x6f2e8a['selector']),'before':redactFailureValue(_0x6f2e8a[_0x5f448a(0x23e)]),'after':redactFailureValue(_0x6f2e8a[_0x5f448a(0x21a)]),'plannedActions':_0x6f2e8a['plannedActions']?.[_0x5f448a(0x1e7)](_0x313272=>({..._0x313272,'body':redactFailureRecord(_0x313272[_0x5f448a(0x1f8)])})),'succeeded':_0x6f2e8a[_0x5f448a(0x21e)][_0x5f448a(0x1e7)](redactFailureRecord),'failed':_0x6f2e8a[_0x5f448a(0x209)]['map'](redactFailureRecord),'verification':_0x6f2e8a[_0x5f448a(0x233)]?redactFailureRecord(_0x6f2e8a[_0x5f448a(0x233)]):undefined};}function redactFailureRecord(_0x45467d){return redactFailureValue(_0x45467d);}function redactFailureValue(_0xb3d2aa,_0x50aca6=''){const _0x1c82b7=a109_0x3ae066,_0x46f245=_0x50aca6[_0x1c82b7(0x25b)]()[_0x1c82b7(0x1f9)](/[^a-z0-9]/g,'');if([_0x1c82b7(0x26b),'causemessage',_0x1c82b7(0x208),_0x1c82b7(0x203)][_0x1c82b7(0x1fc)](_0x46f245))return _0x1c82b7(0x204);if(Array[_0x1c82b7(0x21b)](_0xb3d2aa))return _0xb3d2aa['map'](_0x1adaa1=>redactFailureValue(_0x1adaa1));if(_0xb3d2aa&&typeof _0xb3d2aa===_0x1c82b7(0x20c))return Object[_0x1c82b7(0x249)](Object['entries'](_0xb3d2aa)[_0x1c82b7(0x1e7)](([_0x618cda,_0x356563])=>[_0x618cda,redactFailureValue(_0x356563,_0x618cda)]));return _0xb3d2aa;}function safeMenuAddError(_0x5c8776){const _0x36795a=a109_0x3ae066,_0x4db445=_0x5c8776 instanceof CliError?_0x5c8776['code']:_0x36795a(0x250);switch(_0x4db445){case _0x36795a(0x225):return menuError(_0x4db445,_0x36795a(0x240),_0x36795a(0x201));case'menu_permission_denied':return menuError(_0x4db445,_0x36795a(0x267),_0x36795a(0x251));case'menu_create_response_invalid':return menuError(_0x4db445,'Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case'menu_verification_failed':return menuError(_0x4db445,_0x36795a(0x259),_0x36795a(0x23a));case _0x36795a(0x1fa):return menuError(_0x4db445,_0x36795a(0x26c),_0x36795a(0x23f));case'menu_mutation_failed':case _0x36795a(0x1eb):case _0x36795a(0x200):case _0x36795a(0x269):case _0x36795a(0x1e9):return menuError(_0x4db445,_0x36795a(0x226),_0x36795a(0x220));default:return menuError('menu_mutation_failed',_0x36795a(0x226),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function a109_0x5e4f(){const _0x4ea372=['hasOwnProperty','821178muvoOu','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','5OtEsbP','path','Whether\x20the\x20menu\x20is\x20visible','Run\x20','verification','link','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','boolean','create','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','length','plan','before','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','8iPziXh','add','username','menu_url_https_required','Menu\x20','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','menu_url_invalid','data','fromEntries','trim','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','bool','iframe','filter','menu_verification_failed','menu_mutation_failed','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','sort','menus','menu_permission_denied','menu','/smartapi/menu/create','menu\x20list','visible','Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Would\x20create\x20external\x20website\x20link\x20menu\x20','toLowerCase','Provide\x20an\x20HTTPS\x20URL.','cookie','\x20after\x20response\x20loss.','\x20could\x20not\x20be\x20verified.','open-mode','type','flagMissing','parentId','password','POST','expectedSnapshotHash','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','currentSnapshotHash','menu_sort_invalid','appCode','cause','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','Created\x20menu\x20','\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.','new-window','map','41295khzXVb','menu_sort_overflow','call','menu_not_found','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','string','Recovered\x20menu\x20','url','10DGHEzJ','isSafeInteger','menu_url_credentials_forbidden','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','recovered','create-response-validation','external-link-create','https:','body','replace','menu_create_recovery_required','158456FwOvvy','includes','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','\x20--format\x20compress','pre-write-recheck','menu_parent_not_folder','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','visibility','rawerror','<redacted>','1181646nOUYaf','Create\x20an\x20external\x20website\x20link\x20menu','prototype','readbackerror','failed','hash','code','object','2062190eBHNyl','str','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','get','799288jqoLXc','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','parent-id','External\x20HTTPS\x20URL','expectedPath','create-menu','byId','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','create\x20external\x20menu','after','isArray','Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.','menu_open_mode_invalid','succeeded','protocol','Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','create-recovery','write','Menu\x20label','<platform-generated>','menu_state_drift','External\x20menu\x20creation\x20failed.','createdId','340968ycmUFT','afterPlan','label','lookupCommand'];a109_0x5e4f=function(){return _0x4ea372;};return a109_0x5e4f();}function getFailureRecord(_0x4f2a76){const _0x4050ab=a109_0x3ae066;if(!(_0x4f2a76 instanceof Error)||!(_0x4050ab(0x248)in _0x4f2a76))return undefined;const _0x4b69c3=_0x4f2a76[_0x4050ab(0x248)];if(!_0x4b69c3||typeof _0x4b69c3!==_0x4050ab(0x20c))return undefined;const _0x490092=_0x4b69c3['failed'];if(!Array['isArray'](_0x490092)||!_0x490092[0x0]||typeof _0x490092[0x0]!=='object')return undefined;return _0x490092[0x0];}
|
|
1
|
+
const a109_0x543840=a109_0x1f11;function a109_0x1e91(){const _0x4d4f1f=['Inspect\x20current\x20menu\x20facts\x20before\x20retrying.','path','menu_create_response_invalid','Remove\x20credentials\x20from\x20the\x20URL\x20and\x20use\x20platform-managed\x20authentication.','\x27\x5c\x27\x27','str','code','string','add','failed','selector','appCode','The\x20platform\x20assigns\x20the\x20menu\x20a\x20non-empty\x20path\x20used\x20by\x20menu\x20routing\x20and\x20keys.','create-menu','\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.','data','type','How\x20to\x20open\x20the\x20external\x20website','stringify','create','currentSnapshotHash','Created\x20menu\x20','Permission\x20denied\x20while\x20creating\x20the\x20external\x20menu.','external-link-create','<platform-generated>','open-mode','Created\x20external\x20menu\x20','cause','766926lNTTHd','map','hasOwnProperty','visible','\x20remains\x20available\x20for\x20manual\x20inspection;\x20do\x20not\x20retry\x20blindly.','trim','replace','Provide\x20an\x20absolute\x20HTTPS\x20URL\x20without\x20embedded\x20credentials.','The\x20external\x20menu\x20create\x20outcome\x20could\x20not\x20be\x20recovered\x20safely.','hash','\x20before\x20retrying;\x20the\x20menu\x20may\x20already\x20exist.','menu_url_invalid','1915775QTJjVH','Menu\x20','Created\x20menu\x20has\x20an\x20invalid\x20or\x20unexpected\x20id.','Menu\x20create\x20response\x20did\x20not\x20contain\x20a\x20valid\x20id\x20and\x20non-empty\x20generated\x20path.','--open-mode\x20must\x20be\x20embedded\x20or\x20new-window.','Inspect\x20the\x20created\x20menu\x20before\x20retrying\x20the\x20operation.','create\x20external\x20menu','fact','lookupCommand','\x20has\x20an\x20unexpected\x20','bool','The\x20create\x20request\x20may\x20have\x20succeeded;\x20inspect\x20current\x20menu\x20facts\x20before\x20any\x20retry.','plannedActions','https:','<redacted>','isSafeInteger','\x20failed\x20final\x20verification.','verification','menu_sort_overflow','The\x20create\x20request\x20may\x20have\x20succeeded.\x20Automatic\x20retry\x20is\x20disabled\x20to\x20prevent\x20duplicates.','byId','Create\x20an\x20external\x20website\x20link\x20menu','Would\x20create\x20external\x20website\x20link\x20menu\x20','entries','menu_state_drift','\x20and\x20inspect\x20the\x20recovered\x20id\x20before\x20retrying.','External\x20HTTPS\x20URL','\x20and\x20inspect\x20current\x20menu\x20facts;\x20do\x20not\x20retry\x20creation\x20while\x20the\x20outcome\x20is\x20uncertain.','menus','succeeded','menu_mutation_failed','\x20is\x20missing\x20from\x20final\x20menu\x20facts.','Whether\x20the\x20menu\x20is\x20visible','Run\x20','label','Menu\x20create\x20response\x20could\x20not\x20be\x20verified\x20safely.','menu','parent-id','expectedPath','662553UvjBYS','fromEntries','toLowerCase','prototype','expectedSnapshotHash','new-window','2908010BYMtMP','create-response-validation','after','filter','username','Online\x20menu\x20state\x20changed\x20before\x20external\x20menu\x20creation.','Provide\x20an\x20HTTPS\x20URL.','\x20has\x20an\x20unexpected\x20generated\x20path.','\x20--format\x20compress','link','\x20after\x20response\x20loss.','recovered','createdId','menu_not_found','menu_open_mode_invalid','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot.','2030556ODPvTC','menu_permission_denied','2249220oNYdbX','has','snapshot','menu_create_recovery_required','get','Recovered\x20created\x20external\x20menu\x20','visibility','before','cookie','write','External\x20menu\x20creation\x20failed.','menu_sort_invalid','url','length','217644fBkraq','object','rawFlags','/smartapi/menu/create','menu_verification_failed','menu_parent_not_folder','External\x20menu\x20URL\x20must\x20be\x20a\x20valid\x20absolute\x20URL.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','flagMissing','parentId','menu\x20list','POST','sort','embedded','\x20with\x20','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.','protocol','boolean','rawerror','The\x20create\x20response\x20was\x20lost\x20and\x20the\x20created\x20menu\x20cannot\x20be\x20identified\x20safely.','afterPlan','plan','menu_url_https_required','Recovered\x20menu\x20','parent','causemessage'];a109_0x1e91=function(){return _0x4d4f1f;};return a109_0x1e91();}(function(_0x38bc74,_0x33a2f3){const _0xb6db5b=a109_0x1f11,_0x4be77a=_0x38bc74();while(!![]){try{const _0x1e50c6=parseInt(_0xb6db5b(0x1ed))/0x1+parseInt(_0xb6db5b(0x1ba))/0x2+parseInt(_0xb6db5b(0x203))/0x3+parseInt(_0xb6db5b(0x184))/0x4+-parseInt(_0xb6db5b(0x1c6))/0x5+-parseInt(_0xb6db5b(0x205))/0x6+-parseInt(_0xb6db5b(0x1f3))/0x7;if(_0x1e50c6===_0x33a2f3)break;else _0x4be77a['push'](_0x4be77a['shift']());}catch(_0x386c60){_0x4be77a['push'](_0x4be77a['shift']());}}}(a109_0x1e91,0x936b0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,fetchMutationSnapshot,menuDryRunResult,menuError,menuFailure,mapMenuApiError,isMenuResponseLoss,mutationResult,nextSiblingSort,parseParentId,recheckMutationSnapshot,requireFolder,toApiParentId,validateSort}from'../../commands/menu/shared/mutations.js';import{createMenuEntity}from'../../commands/menu/shared/service.js';import{CliError,CliErrors}from'../../errors.js';const EXTERNAL_MENU_TYPES_BY_OPEN_MODE={'embedded':'iframe','new-window':a109_0x543840(0x1fc)};export function validateExternalMenuUrl(_0x3fc3a0){const _0x15c8a9=a109_0x543840,_0x1cfdc8=_0x3fc3a0[_0x15c8a9(0x1bf)]();let _0x5e7fcb;try{_0x5e7fcb=new URL(_0x1cfdc8);}catch{throw menuError(_0x15c8a9(0x1c5),_0x15c8a9(0x18a),_0x15c8a9(0x1c1));}if(_0x5e7fcb[_0x15c8a9(0x194)]!==_0x15c8a9(0x1d3))throw menuError(_0x15c8a9(0x19a),'External\x20menu\x20URL\x20must\x20use\x20HTTPS.',_0x15c8a9(0x1f9));if(_0x5e7fcb[_0x15c8a9(0x1f7)]||_0x5e7fcb['password'])throw menuError('menu_url_credentials_forbidden','External\x20menu\x20URL\x20must\x20not\x20contain\x20embedded\x20credentials.',_0x15c8a9(0x1a1));return _0x1cfdc8;}export const menuExternalLinkCreate={'service':a109_0x543840(0x1ea),'command':a109_0x543840(0x1b5),'description':a109_0x543840(0x1db),'risk':a109_0x543840(0x17f),'structuredErrors':!![],'flags':[{'name':'label','type':a109_0x543840(0x1a5),'required':!![],'description':'Menu\x20label'},{'name':a109_0x543840(0x1b7),'type':a109_0x543840(0x1a5),'required':!![],'enum':[a109_0x543840(0x191),a109_0x543840(0x1f2)],'description':a109_0x543840(0x1af)},{'name':'url','type':a109_0x543840(0x1a5),'required':!![],'description':a109_0x543840(0x1e0)},MENU_PARENT_ID_FLAG,MENU_SORT_FLAG,{'name':a109_0x543840(0x1bd),'type':a109_0x543840(0x195),'default':!![],'description':a109_0x543840(0x1e6)},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x5787cb){validateAddInput(_0x5787cb);},async 'dryRun'(_0x61d83f){const _0x492705=a109_0x543840;validateAddInput(_0x61d83f);const {plan:_0x529111}=await buildSafeAddPlan(_0x61d83f,!![]),_0x38ba38=_0x529111[_0x492705(0x1f5)],_0x268a74=createBody(_0x38ba38);return menuDryRunResult(_0x529111,{'method':'POST','url':_0x492705(0x187),'body':_0x268a74,'description':_0x492705(0x1dc)+JSON[_0x492705(0x1b0)](_0x38ba38[_0x492705(0x1e8)])+_0x492705(0x192)+_0x61d83f[_0x492705(0x1a3)](_0x492705(0x1b7))+'\x20opening\x20mode\x20and\x20a\x20platform-generated\x20path.'});},async 'execute'(_0x2b0361){const _0x20db89=a109_0x543840;validateAddInput(_0x2b0361);const _0xda376e=await buildSafeAddPlan(_0x2b0361,![]),{plan:_0x29ea56,snapshot:_0x57ee37}=_0xda376e,_0x4336e0=_0x29ea56['after'],_0x25d842=buildMenuLookupCommand(_0x2b0361[_0x20db89(0x1a9)]);await recheckAddSnapshot(_0x2b0361,_0x29ea56);let _0x4fdabb;try{_0x4fdabb=await createMenuEntity(_0x2b0361[_0x20db89(0x1a9)],_0x2b0361['cookie'],createBody(_0x4336e0));}catch(_0xa254b8){const _0x343a0b=mapMenuApiError(_0xa254b8,'create\x20external\x20menu');if(!isMenuResponseLoss(_0xa254b8)||_0x343a0b[_0x20db89(0x1a4)]===_0x20db89(0x204))throw externalLinkCreateFailure(_0x343a0b,_0x29ea56,{'stage':_0x20db89(0x1b1),'failed':{},'verification':{'status':_0x20db89(0x1a7),'lookupCommand':_0x25d842}});return recoverAfterResponseLoss(_0x2b0361,_0xda376e,_0x25d842);}const _0x1a8980=Number(_0x4fdabb?.['id']),_0x1e8c89=typeof _0x4fdabb?.['path']==='string'?_0x4fdabb[_0x20db89(0x19f)]:'';if(!Number[_0x20db89(0x1d5)](_0x1a8980)||_0x1a8980<=0x0||!_0x1e8c89[_0x20db89(0x1bf)]()){const _0x3643d2=menuError(_0x20db89(0x1a0),_0x20db89(0x1c9),'Run\x20'+_0x25d842+_0x20db89(0x1c4));throw externalLinkCreateFailure(_0x3643d2,_0x29ea56,{'stage':_0x20db89(0x1f4),'succeeded':Number[_0x20db89(0x1d5)](_0x1a8980)&&_0x1a8980>0x0?[{'id':_0x1a8980,'created':!![]}]:[],'failed':{'createdId':Number[_0x20db89(0x1d5)](_0x1a8980)?_0x1a8980:null,'generatedPathConfirmed':Boolean(_0x1e8c89['trim']())},'warnings':[_0x20db89(0x1d1)],'after':Number[_0x20db89(0x1d5)](_0x1a8980)&&_0x1a8980>0x0?{..._0x4336e0,'id':_0x1a8980,'path':_0x1e8c89}:_0x4336e0,'verification':{'status':_0x20db89(0x1a7),'lookupCommand':_0x25d842,...Number[_0x20db89(0x1d5)](_0x1a8980)&&_0x1a8980>0x0?{'targetId':_0x1a8980}:{}}});}const _0x4bfd0c=await readAndVerifyCreatedMenu({'appCode':_0x2b0361['appCode'],'cookie':_0x2b0361[_0x20db89(0x20d)],'plan':_0x29ea56,'afterPlan':_0x4336e0,'createdId':_0x1a8980,'expectedPath':_0x1e8c89,'lookupCommand':_0x25d842,'recovered':![]});return creationSuccess(_0x29ea56,_0x4bfd0c[_0x20db89(0x207)],_0x4bfd0c[_0x20db89(0x1cd)],![]);}};function validateAddInput(_0x412fb3){const _0x1ae4ba=a109_0x543840;if(!_0x412fb3['str'](_0x1ae4ba(0x1e8))[_0x1ae4ba(0x1bf)]())throw CliErrors[_0x1ae4ba(0x18c)](_0x1ae4ba(0x1e8));resolveExternalMenuType(_0x412fb3),validateExternalMenuUrl(_0x412fb3[_0x1ae4ba(0x1a3)](_0x1ae4ba(0x182))),parseParentId(_0x412fb3,_0x1ae4ba(0x1eb)),validateSort(_0x412fb3);}function resolveExternalMenuType(_0x5b9457){const _0x206a7e=a109_0x543840,_0x5f2714=_0x5b9457['str']('open-mode')[_0x206a7e(0x1bf)]();if(!_0x5f2714)throw CliErrors[_0x206a7e(0x18c)]('open-mode');const _0x51718b=EXTERNAL_MENU_TYPES_BY_OPEN_MODE[_0x5f2714];if(!_0x51718b)throw menuError(_0x206a7e(0x201),_0x206a7e(0x1ca),'Choose\x20embedded\x20to\x20keep\x20the\x20application\x20shell,\x20or\x20new-window\x20to\x20open\x20the\x20website\x20separately.');return _0x51718b;}async function buildAddPlan(_0x5ea5ae,_0x7f57df){const _0xf59efc=a109_0x543840,_0xdc4e14=await fetchMutationSnapshot(_0x5ea5ae,_0xf59efc(0x1cc)),_0x158291=parseParentId(_0x5ea5ae,_0xf59efc(0x1eb))??null;if(_0x158291!=null)requireFolder(_0xdc4e14,_0x158291);const _0x1df611=validateSort(_0x5ea5ae),_0x3bc296=_0x1df611??nextSiblingSort(_0xdc4e14,_0x158291,_0xf59efc(0x1ea)),_0x5028fa=_0x5ea5ae['str'](_0xf59efc(0x1e8))[_0xf59efc(0x1bf)](),_0x4ff5fe=resolveExternalMenuType(_0x5ea5ae),_0x4a47e6=validateExternalMenuUrl(_0x5ea5ae[_0xf59efc(0x1a3)](_0xf59efc(0x182))),_0x32e88b=Object[_0xf59efc(0x1f0)][_0xf59efc(0x1bc)]['call'](_0x5ea5ae[_0xf59efc(0x186)],_0xf59efc(0x1bd))?_0x5ea5ae[_0xf59efc(0x1d0)]('visible'):!![],_0x288020={'id':null,'parentId':_0x158291,'label':_0x5028fa,'path':_0xf59efc(0x1b6),'url':_0x4a47e6,'type':_0x4ff5fe,'visible':_0x32e88b,'sort':_0x3bc296},_0x59d745=buildMenuLookupCommand(_0x5ea5ae[_0xf59efc(0x1a9)]),_0xd4d8c7=mutationResult({'operation':_0xf59efc(0x1a6),'selector':{'parentId':_0x158291,'type':_0x4ff5fe,'label':_0x5028fa,'url':_0x4a47e6},'before':null,'after':_0x288020,'dryRun':_0x7f57df,'backend':[{'method':_0xf59efc(0x18f),'path':_0xf59efc(0x187)}],'plannedActions':[{'stage':_0xf59efc(0x1ab),'method':'POST','path':_0xf59efc(0x187),'body':createBody(_0x288020)}],'snapshotHash':_0xdc4e14[_0xf59efc(0x1c3)],'warnings':[_0xf59efc(0x1aa)],'verification':{'lookupCommand':_0x59d745}});return{'plan':_0xd4d8c7,'snapshot':_0xdc4e14};}function a109_0x1f11(_0xad282f,_0x1a2246){_0xad282f=_0xad282f-0x17f;const _0x1e918a=a109_0x1e91();let _0x1f1134=_0x1e918a[_0xad282f];return _0x1f1134;}async function buildSafeAddPlan(_0x26bf62,_0x2675d9){try{return await buildAddPlan(_0x26bf62,_0x2675d9);}catch(_0x4df0ec){throw safeMenuAddError(_0x4df0ec);}}async function recheckAddSnapshot(_0x2e5afd,_0x456e2b){const _0x29c08b=a109_0x543840;try{await recheckMutationSnapshot(_0x2e5afd,_0x456e2b,'create\x20external\x20menu');}catch(_0x7ca8c0){const _0x5374a8=getFailureRecord(_0x7ca8c0);throw externalLinkCreateFailure(_0x7ca8c0,_0x456e2b,{'stage':'pre-write-recheck','failed':{..._0x5374a8?.[_0x29c08b(0x1f1)]?{'expectedSnapshotHash':_0x5374a8['expectedSnapshotHash']}:{},..._0x5374a8?.[_0x29c08b(0x1b2)]?{'currentSnapshotHash':_0x5374a8[_0x29c08b(0x1b2)]}:{}}});}}function createBody(_0x5235d8){const _0x207495=a109_0x543840;return{'parentId':toApiParentId(_0x5235d8[_0x207495(0x18d)]),'label':String(_0x5235d8[_0x207495(0x1e8)]),'type':String(_0x5235d8[_0x207495(0x1ae)]),'url':String(_0x5235d8[_0x207495(0x182)]),'visible':Boolean(_0x5235d8[_0x207495(0x1bd)]),'sort':Number(_0x5235d8[_0x207495(0x190)]),'extend':{}};}function buildMenuLookupCommand(_0x42f055){const _0x3862bb=a109_0x543840,_0x3bac97='\x27'+_0x42f055[_0x3862bb(0x1c0)](/'/g,_0x3862bb(0x1a2))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x3bac97+_0x3862bb(0x1fb);}async function recoverAfterResponseLoss(_0x69c073,_0x3b2540,_0x1aec42){const _0x51d484=a109_0x543840,{plan:_0x346d08,snapshot:_0xbef92a}=_0x3b2540,_0x4cfeea=_0x346d08[_0x51d484(0x1f5)];let _0x41d75c;try{_0x41d75c=await fetchMenuSnapshot(_0x69c073['appCode'],_0x69c073[_0x51d484(0x20d)]);}catch(_0x3f2080){throw recoveryRequiredFailure(_0x346d08,_0x1aec42,{'matchCount':null,'newMatchCount':null,'preexistingMatchCount':null,'readbackFailed':!![]});}const _0x50cd93=_0x41d75c[_0x51d484(0x1e2)][_0x51d484(0x1f6)](_0x27944b=>_0x27944b[_0x51d484(0x18d)]===_0x4cfeea[_0x51d484(0x18d)]&&_0x27944b[_0x51d484(0x1ae)]===_0x4cfeea[_0x51d484(0x1ae)]&&_0x27944b[_0x51d484(0x1e8)]===_0x4cfeea[_0x51d484(0x1e8)]&&_0x27944b[_0x51d484(0x182)]===_0x4cfeea[_0x51d484(0x182)]),_0x4ecedd=_0x50cd93['filter'](_0x196654=>!_0xbef92a['byId'][_0x51d484(0x206)](_0x196654['id'])),_0x30cb93=_0x50cd93['filter'](_0x47e2be=>_0xbef92a[_0x51d484(0x1da)][_0x51d484(0x206)](_0x47e2be['id']));if(_0x50cd93['length']!==0x1||_0x4ecedd[_0x51d484(0x183)]!==0x1)throw recoveryRequiredFailure(_0x346d08,_0x1aec42,{'matchCount':_0x50cd93['length'],'newMatchCount':_0x4ecedd[_0x51d484(0x183)],'preexistingMatchCount':_0x30cb93[_0x51d484(0x183)]});const _0x192f17=_0x4ecedd[0x0];try{verifyCreatedFact(_0x192f17,_0x192f17['id'],_0x4cfeea,null);}catch(_0x545c9e){const _0x304edf=_0x545c9e instanceof Error&&_0x51d484(0x1a4)in _0x545c9e?_0x545c9e:menuError(_0x51d484(0x188),_0x51d484(0x19b)+_0x192f17['id']+'\x20could\x20not\x20be\x20verified.',_0x51d484(0x1e7)+_0x1aec42+_0x51d484(0x1df));throw externalLinkCreateFailure(_0x304edf,_0x346d08,{'stage':_0x51d484(0x1d7),'succeeded':[{'id':_0x192f17['id'],'created':!![],'recovered':!![]}],'failed':{'id':_0x192f17['id'],'finalFactsConfirmed':![]},'after':_0x192f17,'warnings':[_0x51d484(0x1c7)+_0x192f17['id']+'\x20was\x20observed\x20after\x20response\x20loss;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x192f17['id'],'recovered':!![],'lookupCommand':_0x1aec42}});}return creationSuccess(_0x346d08,_0x41d75c,_0x192f17,!![]);}function recoveryRequiredFailure(_0x52b927,_0x147d65,_0x1a8b54){const _0x3740bb=a109_0x543840,_0x2aecc7=menuError(_0x3740bb(0x208),_0x3740bb(0x197),_0x3740bb(0x1e7)+_0x147d65+_0x3740bb(0x1e1));return externalLinkCreateFailure(_0x2aecc7,_0x52b927,{'stage':'create-recovery','failed':_0x1a8b54,'warnings':[_0x3740bb(0x1d9)],'verification':{'status':_0x3740bb(0x1a7),..._0x1a8b54,'lookupCommand':_0x147d65}});}async function readAndVerifyCreatedMenu(_0x4c34ce){const _0x502352=a109_0x543840;let _0x3bccfa;try{_0x3bccfa=await fetchMenuSnapshot(_0x4c34ce[_0x502352(0x1a9)],_0x4c34ce[_0x502352(0x20d)]);}catch(_0x119526){const _0x484204=menuError('menu_verification_failed',_0x502352(0x1c7)+_0x4c34ce[_0x502352(0x1ff)]+'\x20was\x20created\x20but\x20final\x20facts\x20could\x20not\x20be\x20read.',_0x502352(0x1e7)+_0x4c34ce['lookupCommand']+'\x20and\x20inspect\x20the\x20created\x20id\x20before\x20retrying.');throw externalLinkCreateFailure(_0x484204,_0x4c34ce['plan'],{'stage':_0x502352(0x1d7),'succeeded':[{'id':_0x4c34ce['createdId'],'created':!![]}],'failed':{'id':_0x4c34ce[_0x502352(0x1ff)],'finalFactsConfirmed':![],'readbackFailed':!![]},'after':{..._0x4c34ce[_0x502352(0x198)],'id':_0x4c34ce['createdId'],'path':_0x4c34ce['expectedPath']},'warnings':[_0x502352(0x1c7)+_0x4c34ce['createdId']+'\x20may\x20exist\x20online;\x20inspect\x20it\x20before\x20any\x20retry.'],'verification':{'status':'failed','targetId':_0x4c34ce[_0x502352(0x1ff)],'lookupCommand':_0x4c34ce[_0x502352(0x1ce)]}});}const _0x280e38=_0x3bccfa[_0x502352(0x1da)][_0x502352(0x209)](_0x4c34ce[_0x502352(0x1ff)]);try{if(!_0x280e38)throw menuError(_0x502352(0x188),'Created\x20menu\x20'+_0x4c34ce[_0x502352(0x1ff)]+_0x502352(0x1e5),_0x502352(0x1e7)+_0x4c34ce['lookupCommand']+_0x502352(0x1ac));verifyCreatedFact(_0x280e38,_0x4c34ce['createdId'],_0x4c34ce[_0x502352(0x198)],_0x4c34ce[_0x502352(0x1ec)]);}catch(_0x512d55){const _0x27fcc5=_0x512d55 instanceof Error&&_0x502352(0x1a4)in _0x512d55?_0x512d55:menuError(_0x502352(0x188),_0x502352(0x1b3)+_0x4c34ce[_0x502352(0x1ff)]+_0x502352(0x1d6),_0x502352(0x1e7)+_0x4c34ce[_0x502352(0x1ce)]+_0x502352(0x1ac));throw externalLinkCreateFailure(_0x27fcc5,_0x4c34ce[_0x502352(0x199)],{'stage':_0x502352(0x1d7),'succeeded':[{'id':_0x4c34ce['createdId'],'created':!![]}],'failed':{'id':_0x4c34ce[_0x502352(0x1ff)],'finalFactsConfirmed':![]},'after':_0x280e38??{..._0x4c34ce[_0x502352(0x198)],'id':_0x4c34ce[_0x502352(0x1ff)],'path':_0x4c34ce['expectedPath']},'warnings':[_0x502352(0x1c7)+_0x4c34ce['createdId']+_0x502352(0x1be)],'verification':{'status':_0x502352(0x1a7),'targetId':_0x4c34ce[_0x502352(0x1ff)],'recovered':_0x4c34ce[_0x502352(0x1fe)],'lookupCommand':_0x4c34ce[_0x502352(0x1ce)]}});}return{'snapshot':_0x3bccfa,'fact':_0x280e38};}function verifyCreatedFact(_0x161305,_0x4584c1,_0x928e67,_0x5569ef){const _0x4af1fd=a109_0x543840;if(!Number[_0x4af1fd(0x1d5)](_0x161305['id'])||_0x161305['id']<=0x0||_0x161305['id']!==_0x4584c1)throw menuError('menu_verification_failed',_0x4af1fd(0x1c8),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying\x20the\x20operation.');const _0x2ec50a=[[_0x4af1fd(0x19c),_0x161305[_0x4af1fd(0x18d)],_0x928e67['parentId']],[_0x4af1fd(0x1ae),_0x161305[_0x4af1fd(0x1ae)],_0x928e67[_0x4af1fd(0x1ae)]],[_0x4af1fd(0x1e8),_0x161305[_0x4af1fd(0x1e8)],_0x928e67[_0x4af1fd(0x1e8)]],['URL',_0x161305['url'],_0x928e67[_0x4af1fd(0x182)]],[_0x4af1fd(0x20b),_0x161305[_0x4af1fd(0x1bd)],_0x928e67[_0x4af1fd(0x1bd)]],[_0x4af1fd(0x190),_0x161305[_0x4af1fd(0x190)],_0x928e67[_0x4af1fd(0x190)]]];for(const [_0x170044,_0x35a6b7,_0x5dad65]of _0x2ec50a){if(_0x35a6b7!==_0x5dad65)throw menuError('menu_verification_failed','Created\x20menu\x20'+_0x161305['id']+_0x4af1fd(0x1cf)+_0x170044+'.',_0x4af1fd(0x1cb));}if(!_0x161305[_0x4af1fd(0x19f)][_0x4af1fd(0x1bf)]()||_0x5569ef!==null&&_0x161305[_0x4af1fd(0x19f)]!==_0x5569ef)throw menuError(_0x4af1fd(0x188),'Created\x20menu\x20'+_0x161305['id']+_0x4af1fd(0x1fa),_0x4af1fd(0x1cb));}function creationSuccess(_0x1003cc,_0x45c1e8,_0x6b7bf8,_0x4b5bb6){const _0x11ac60=a109_0x543840,_0xbd8cc6=mutationResult({..._0x1003cc,'after':_0x6b7bf8,'dryRun':![],'succeeded':[{'id':_0x6b7bf8['id'],'created':!![],'recovered':_0x4b5bb6}],'verification':{'checkedBy':_0x11ac60(0x18e),'snapshotHash':_0x45c1e8[_0x11ac60(0x1c3)],'targetId':_0x6b7bf8['id'],'recovered':_0x4b5bb6,'path':_0x6b7bf8[_0x11ac60(0x19f)]}});return{'ok':!![],'message':_0x4b5bb6?_0x11ac60(0x20a)+_0x6b7bf8['id']+_0x11ac60(0x1fd):_0x11ac60(0x1b8)+_0x6b7bf8['id']+'.','data':{..._0xbd8cc6,'recovered':_0x4b5bb6}};}function externalLinkCreateFailure(_0x1b5827,_0x3cafad,_0x4ce25a){const _0x49ba98=a109_0x543840;return menuFailure(safeMenuAddError(_0x1b5827),redactFailurePlan(_0x3cafad),{..._0x4ce25a,'succeeded':_0x4ce25a[_0x49ba98(0x1e3)]?.['map'](redactFailureRecord),'failed':_0x4ce25a[_0x49ba98(0x1a7)]?redactFailureRecord(_0x4ce25a[_0x49ba98(0x1a7)]):undefined,'verification':_0x4ce25a[_0x49ba98(0x1d7)]?redactFailureRecord(_0x4ce25a[_0x49ba98(0x1d7)]):undefined,'after':_0x4ce25a['after']===undefined?undefined:redactFailureValue(_0x4ce25a['after'])});}function redactFailurePlan(_0x8587c0){const _0x1bb521=a109_0x543840;return{..._0x8587c0,'selector':redactFailureRecord(_0x8587c0[_0x1bb521(0x1a8)]),'before':redactFailureValue(_0x8587c0[_0x1bb521(0x20c)]),'after':redactFailureValue(_0x8587c0['after']),'plannedActions':_0x8587c0[_0x1bb521(0x1d2)]?.[_0x1bb521(0x1bb)](_0xd4ae35=>({..._0xd4ae35,'body':redactFailureRecord(_0xd4ae35['body'])})),'succeeded':_0x8587c0[_0x1bb521(0x1e3)][_0x1bb521(0x1bb)](redactFailureRecord),'failed':_0x8587c0['failed'][_0x1bb521(0x1bb)](redactFailureRecord),'verification':_0x8587c0[_0x1bb521(0x1d7)]?redactFailureRecord(_0x8587c0['verification']):undefined};}function redactFailureRecord(_0x486b12){return redactFailureValue(_0x486b12);}function redactFailureValue(_0x27bd17,_0x23ae01=''){const _0x584ff1=a109_0x543840,_0x725ec3=_0x23ae01[_0x584ff1(0x1ef)]()[_0x584ff1(0x1c0)](/[^a-z0-9]/g,'');if([_0x584ff1(0x1b9),_0x584ff1(0x19d),'readbackerror',_0x584ff1(0x196)]['includes'](_0x725ec3))return _0x584ff1(0x1d4);if(Array['isArray'](_0x27bd17))return _0x27bd17[_0x584ff1(0x1bb)](_0x2ae210=>redactFailureValue(_0x2ae210));if(_0x27bd17&&typeof _0x27bd17===_0x584ff1(0x185))return Object[_0x584ff1(0x1ee)](Object[_0x584ff1(0x1dd)](_0x27bd17)[_0x584ff1(0x1bb)](([_0x44667c,_0x4cb95e])=>[_0x44667c,redactFailureValue(_0x4cb95e,_0x44667c)]));return _0x27bd17;}function safeMenuAddError(_0x3f11fa){const _0x6bf590=a109_0x543840,_0x49c15f=_0x3f11fa instanceof CliError?_0x3f11fa['code']:'menu_mutation_failed';switch(_0x49c15f){case _0x6bf590(0x1de):return menuError(_0x49c15f,_0x6bf590(0x1f8),_0x6bf590(0x202));case _0x6bf590(0x204):return menuError(_0x49c15f,_0x6bf590(0x1b4),_0x6bf590(0x18b));case _0x6bf590(0x1a0):return menuError(_0x49c15f,_0x6bf590(0x1e9),_0x6bf590(0x193));case'menu_verification_failed':return menuError(_0x49c15f,'Created\x20menu\x20facts\x20could\x20not\x20be\x20verified\x20safely.','Use\x20the\x20structured\x20verification\x20lookup\x20command\x20before\x20retrying.');case _0x6bf590(0x208):return menuError(_0x49c15f,_0x6bf590(0x1c2),'Use\x20the\x20structured\x20verification\x20lookup\x20command\x20and\x20do\x20not\x20retry\x20blindly.');case _0x6bf590(0x1e4):case _0x6bf590(0x200):case _0x6bf590(0x189):case _0x6bf590(0x181):case _0x6bf590(0x1d8):return menuError(_0x49c15f,'External\x20menu\x20creation\x20failed.',_0x6bf590(0x19e));default:return menuError(_0x6bf590(0x1e4),_0x6bf590(0x180),'Inspect\x20current\x20menu\x20facts\x20before\x20retrying.');}}function getFailureRecord(_0x1a7196){const _0x2eaf87=a109_0x543840;if(!(_0x1a7196 instanceof Error)||!('data'in _0x1a7196))return undefined;const _0x2b6124=_0x1a7196[_0x2eaf87(0x1ad)];if(!_0x2b6124||typeof _0x2b6124!==_0x2eaf87(0x185))return undefined;const _0x2ba9ae=_0x2b6124[_0x2eaf87(0x1a7)];if(!Array['isArray'](_0x2ba9ae)||!_0x2ba9ae[0x0]||typeof _0x2ba9ae[0x0]!==_0x2eaf87(0x185))return undefined;return _0x2ba9ae[0x0];}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a110_0x5af245=a110_0x361c;(function(_0x4e19ff,_0x51ab84){const _0x5c7e3e=a110_0x361c,_0x2fc156=_0x4e19ff();while(!![]){try{const _0x34905a=parseInt(_0x5c7e3e(0x16f))/0x1*(parseInt(_0x5c7e3e(0x138))/0x2)+-parseInt(_0x5c7e3e(0x17a))/0x3+parseInt(_0x5c7e3e(0x142))/0x4+-parseInt(_0x5c7e3e(0x152))/0x5*(-parseInt(_0x5c7e3e(0x17e))/0x6)+-parseInt(_0x5c7e3e(0x174))/0x7+-parseInt(_0x5c7e3e(0x139))/0x8+parseInt(_0x5c7e3e(0x177))/0x9*(-parseInt(_0x5c7e3e(0x14a))/0xa);if(_0x34905a===_0x51ab84)break;else _0x2fc156['push'](_0x2fc156['shift']());}catch(_0x34f3a8){_0x2fc156['push'](_0x2fc156['shift']());}}}(a110_0x561a,0x7ee00));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a110_0x361c(_0x4c295d,_0x56121b){_0x4c295d=_0x4c295d-0x138;const _0x561a6e=a110_0x561a();let _0x361c00=_0x561a6e[_0x4c295d];return _0x361c00;}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':a110_0x5af245(0x178),'path':a110_0x5af245(0x15f)}];export const menuExternalLinkUpdate={'service':a110_0x5af245(0x175),'command':'external-link-update','description':a110_0x5af245(0x172),'risk':'high-risk-write','structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':'string','required':!![],'description':a110_0x5af245(0x169)},{'name':a110_0x5af245(0x167),'type':a110_0x5af245(0x165),'required':!![],'description':'Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed'},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x50fd59){validateInput(_0x50fd59),requireExplicitYes(_0x50fd59);},async 'dryRun'(_0x468cc4){const _0x15dc63=a110_0x5af245;validateInput(_0x468cc4);const _0x16fa73=await buildPlan(_0x468cc4,!![]);return menuDryRunResult(_0x16fa73['plan'],{'method':_0x15dc63(0x178),'url':_0x15dc63(0x15f),'body':_0x16fa73[_0x15dc63(0x158)],'description':'Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20'+_0x16fa73['body']['id']+'.'});},async 'execute'(_0x4371d4){const _0xd691c3=a110_0x5af245;validateInput(_0x4371d4),requireExplicitYes(_0x4371d4);const _0x1eb399=await buildPlan(_0x4371d4,![]),{plan:_0x4ee0b1,body:_0x34642f,before:_0x2066f4,noChanges:_0x41f727}=_0x1eb399,_0xbbee3a=_0x34642f['id'];if(_0x41f727)return updateSuccess(_0x4ee0b1,_0x1eb399['snapshot'],_0x2066f4,!![],![]);await recheckMutationSnapshot(_0x4371d4,_0x4ee0b1,_0xd691c3(0x13d),_0xbbee3a);try{await updateMenuEntity(_0x4371d4['appCode'],_0x4371d4[_0xd691c3(0x153)],{'id':_0x34642f['id'],'url':_0x34642f['url']});}catch(_0x27d11d){const _0xcd843b=mapMenuApiError(_0x27d11d,_0xd691c3(0x13d),_0xbbee3a);if(isMenuResponseLoss(_0x27d11d)&&_0xcd843b['code']!==_0xd691c3(0x161))return recoverAfterResponseLoss(_0x4371d4,_0x1eb399);throw menuFailure(_0xcd843b,_0x4ee0b1,{'stage':_0xd691c3(0x151),'failed':{'id':_0xbbee3a},'warnings':[_0xd691c3(0x13a)],'verification':{'status':'failed','targetId':_0xbbee3a,'lookupCommand':buildLookupCommand(_0x4371d4['appCode'])}});}let _0x5b2d41,_0xb85cd6;try{_0x5b2d41=await fetchMenuSnapshot(_0x4371d4['appCode'],_0x4371d4[_0xd691c3(0x153)]),_0xb85cd6=requireMenu(_0x5b2d41,_0xbbee3a),verifyUpdatedFact(_0x2066f4,_0xb85cd6,_0x34642f[_0xd691c3(0x148)]);}catch(_0x59921b){const _0x30ad34=describeMenuErrorCause(_0x59921b,_0xd691c3(0x13e),_0xbbee3a),_0x47d8c3=asVerificationError(_0x59921b,_0xd691c3(0x15e)+_0xbbee3a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x47d8c3,_0x4ee0b1,{'stage':_0xd691c3(0x13f),'succeeded':[{'id':_0xbbee3a,'updateRequested':!![]}],'failed':{'id':_0xbbee3a,'requestedStateConfirmed':![],..._0x30ad34},'warnings':[_0xd691c3(0x17b)],'verification':{'status':'failed','targetId':_0xbbee3a,'lookupCommand':buildLookupCommand(_0x4371d4['appCode'])}});}return updateSuccess(_0x4ee0b1,_0x5b2d41,_0xb85cd6,![],![]);}};function validateInput(_0x3430ec){const _0x3b8768=a110_0x5af245;validateExactId(_0x3430ec),requiredUrl(_0x3430ec,_0x3b8768(0x148)),requiredExpectedUrl(_0x3430ec),parseParentId(_0x3430ec,_0x3b8768(0x17f),{'required':!![]});}function requiredUrl(_0x19c0b9,_0x32e4db){const _0x1b1996=a110_0x5af245;if(!hasFlag(_0x19c0b9,_0x32e4db)||!_0x19c0b9[_0x1b1996(0x176)](_0x32e4db)[_0x1b1996(0x141)]())throw CliErrors['flagMissing'](_0x32e4db);return validateExternalMenuUrl(_0x19c0b9[_0x1b1996(0x176)](_0x32e4db));}function requiredExpectedUrl(_0x48841e){const _0x2e61e0=a110_0x5af245;if(!hasFlag(_0x48841e,_0x2e61e0(0x167))||!_0x48841e[_0x2e61e0(0x176)]('expect-url')['trim']())throw CliErrors[_0x2e61e0(0x184)](_0x2e61e0(0x167));return _0x48841e[_0x2e61e0(0x176)](_0x2e61e0(0x167))[_0x2e61e0(0x141)]();}function a110_0x561a(){const _0x5ed9df=['\x20direct\x20child\x20menu(s).','The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','4hqGBAI','Response\x20was\x20lost\x20and\x20menu\x20','menu_external_link_type_required','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','replace','1017562vOVKrs','menu','str','9Aeyeiu','POST','Updated\x20external\x20URL\x20for\x20menu\x20','1382469gQASOX','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','update-recovery','after','4472106yodUpi','expect-parent-id','\x27\x5c\x27\x27','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','Menu\x20','label','flagMissing','visible','failed','\x20changed\x20during\x20the\x20URL-only\x20update.','269744yYfWqZ','3081720cTYkQO','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','\x20already\x20matches\x20the\x20requested\x20URL.','Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.','update\x20external\x20menu\x20URL','verify\x20external\x20menu\x20URL\x20update','verification','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','trim','3032904JhdLmZ',',\x20current\x20','path','\x20has\x20','external-link-update','\x20URL\x20update\x20did\x20not\x20take\x20effect.','url','menu_update_recovery_required','5319810HhgOlt','\x20parent\x20changed:\x20expected\x20','\x20--format\x20compress','\x22,\x20not\x20iframe\x20or\x20link.','\x20URL\x20no\x20longer\x20matches\x20--expect-url.','menu_state_drift','hash','update','5WSeAky','cookie','byId','appCode','readbackFailed','link','body','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','requestedUrlObserved','sort','Run\x20','menu_external_link_not_leaf','Update\x20request\x20for\x20menu\x20','/smartapi/menu/update','type','menu_permission_denied','get','menu_external_link_path_missing','childrenCount','string','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','expect-url','parentId','New\x20external\x20HTTPS\x20URL'];a110_0x561a=function(){return _0x5ed9df;};return a110_0x561a();}async function buildPlan(_0x2cf0b0,_0x185e58){const _0x1440af=a110_0x5af245,_0x4bb48c=validateExactId(_0x2cf0b0),_0x18813a=requiredUrl(_0x2cf0b0,'url'),_0x296cd3=requiredExpectedUrl(_0x2cf0b0),_0x22b1ca=parseParentId(_0x2cf0b0,_0x1440af(0x17f),{'required':!![]}),_0x225263=await fetchMutationSnapshot(_0x2cf0b0,_0x1440af(0x13d),_0x4bb48c),_0x1cd5af=requireMenu(_0x225263,_0x4bb48c);assertExternalLinkLeaf(_0x1cd5af);if(_0x1cd5af[_0x1440af(0x168)]!==_0x22b1ca)throw menuError(_0x1440af(0x14f),_0x1440af(0x182)+_0x4bb48c+_0x1440af(0x14b)+formatParent(_0x22b1ca)+_0x1440af(0x143)+formatParent(_0x1cd5af['parentId'])+'.',_0x1440af(0x140));const _0x3f7849=_0x1cd5af['url']===_0x18813a;if(!_0x3f7849&&_0x1cd5af[_0x1440af(0x148)]!==_0x296cd3)throw menuError(_0x1440af(0x14f),_0x1440af(0x182)+_0x4bb48c+_0x1440af(0x14e),_0x1440af(0x16e));const _0x25d12c={'id':_0x4bb48c,'appCode':_0x2cf0b0[_0x1440af(0x155)],'url':_0x18813a},_0x26192a={..._0x1cd5af,'url':_0x18813a};return{'body':_0x25d12c,'before':_0x1cd5af,'noChanges':_0x3f7849,'snapshot':_0x225263,'plan':mutationResult({'operation':_0x1440af(0x146),'selector':{'id':_0x4bb48c},'before':_0x1cd5af,'after':_0x26192a,'dryRun':_0x185e58,'backend':[...BACKEND],'plannedActions':_0x3f7849?[]:[{'stage':'update-external-link-url','method':_0x1440af(0x178),'path':'/smartapi/menu/update','body':_0x25d12c}],'snapshotHash':_0x225263[_0x1440af(0x150)],'warnings':_0x3f7849?['The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.']:[]})};}function assertExternalLinkLeaf(_0x11be88){const _0x2701ca=a110_0x5af245;if(_0x11be88[_0x2701ca(0x160)]!=='iframe'&&_0x11be88[_0x2701ca(0x160)]!==_0x2701ca(0x157))throw menuError(_0x2701ca(0x171),'Menu\x20'+_0x11be88['id']+'\x20is\x20type\x20\x22'+(_0x11be88[_0x2701ca(0x160)]||'unknown')+_0x2701ca(0x14d),_0x2701ca(0x166));if(_0x11be88['childrenCount']!==0x0)throw menuError(_0x2701ca(0x15d),_0x2701ca(0x182)+_0x11be88['id']+_0x2701ca(0x145)+_0x11be88[_0x2701ca(0x164)]+_0x2701ca(0x16a),_0x2701ca(0x16c));if(!_0x11be88[_0x2701ca(0x144)][_0x2701ca(0x141)]())throw menuError(_0x2701ca(0x163),'Menu\x20'+_0x11be88['id']+'\x20has\x20an\x20empty\x20platform\x20path.',_0x2701ca(0x13c));}function verifyUpdatedFact(_0x9ea5e9,_0x17cded,_0x28cc99){const _0x290090=a110_0x5af245;assertExternalLinkLeaf(_0x17cded);const _0x5131b3=[['id',_0x17cded['id'],_0x9ea5e9['id']],[_0x290090(0x183),_0x17cded['label'],_0x9ea5e9[_0x290090(0x183)]],[_0x290090(0x160),_0x17cded['type'],_0x9ea5e9[_0x290090(0x160)]],['path',_0x17cded['path'],_0x9ea5e9[_0x290090(0x144)]],['parentId',_0x17cded['parentId'],_0x9ea5e9[_0x290090(0x168)]],['sort',_0x17cded[_0x290090(0x15b)],_0x9ea5e9[_0x290090(0x15b)]],['visible',_0x17cded[_0x290090(0x185)],_0x9ea5e9[_0x290090(0x185)]]];for(const [_0x97c16b,_0x45fb82,_0x41a89a]of _0x5131b3){assertVerified(_0x45fb82===_0x41a89a,_0x290090(0x182)+_0x9ea5e9['id']+'\x20'+_0x97c16b+_0x290090(0x187));}assertVerified(_0x17cded['url']===_0x28cc99,'Menu\x20'+_0x9ea5e9['id']+_0x290090(0x147));}function updateSuccess(_0x15458f,_0x39df23,_0x1bf38b,_0x2246e4,_0x57541e){const _0x5b0be9=a110_0x5af245,_0x1eb5be=_0x1bf38b['id'],_0x118860=mutationResult({..._0x15458f,'after':_0x1bf38b,'dryRun':![],'succeeded':[{'id':_0x1eb5be,'updated':!_0x2246e4,'skipped':_0x2246e4,'recovered':_0x57541e}],'verification':{'checkedBy':'menu\x20list','snapshotHash':_0x39df23[_0x5b0be9(0x150)],'targetId':_0x1eb5be,'matchesRequestedState':!![],'recovered':_0x57541e}});return{'ok':!![],'message':_0x57541e?'Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20'+_0x1eb5be+'.':_0x2246e4?'Menu\x20'+_0x1eb5be+_0x5b0be9(0x13b):_0x5b0be9(0x179)+_0x1eb5be+'.','data':{..._0x118860,'recovered':_0x57541e}};}async function recoverAfterResponseLoss(_0xfbe19e,_0x49e774){const _0x5f26ac=a110_0x5af245,{plan:_0x14a96d,before:_0x5b426e,body:_0x6357a3}=_0x49e774;let _0x116a8f;try{_0x116a8f=await fetchMenuSnapshot(_0xfbe19e['appCode'],_0xfbe19e[_0x5f26ac(0x153)]);}catch{throw recoveryRequired(_0x14a96d,_0xfbe19e[_0x5f26ac(0x155)],{'id':_0x6357a3['id'],'readbackFailed':!![]});}const _0x52fd20=_0x116a8f[_0x5f26ac(0x154)][_0x5f26ac(0x162)](_0x6357a3['id']);if(!_0x52fd20||_0x52fd20[_0x5f26ac(0x148)]!==_0x6357a3[_0x5f26ac(0x148)])throw recoveryRequired(_0x14a96d,_0xfbe19e['appCode'],{'id':_0x6357a3['id'],'requestedUrlObserved':![],'after':_0x52fd20??null});try{verifyUpdatedFact(_0x5b426e,_0x52fd20,_0x6357a3['url']);}catch(_0x34e7af){const _0x414a15=asVerificationError(_0x34e7af,_0x5f26ac(0x170)+_0x6357a3['id']+'\x20could\x20not\x20be\x20verified\x20safely');throw menuFailure(_0x414a15,_0x14a96d,{'stage':_0x5f26ac(0x17c),'succeeded':[{'id':_0x6357a3['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x6357a3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x52fd20,'warnings':[_0x5f26ac(0x16b)],'verification':{'status':_0x5f26ac(0x186),'targetId':_0x6357a3['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0xfbe19e['appCode'])}});}return updateSuccess(_0x14a96d,_0x116a8f,_0x52fd20,![],!![]);}function recoveryRequired(_0x4e75db,_0x20df06,_0x2167b4){const _0x1fddf6=a110_0x5af245,_0x13d3fc=menuError(_0x1fddf6(0x149),_0x1fddf6(0x181),_0x1fddf6(0x15c)+buildLookupCommand(_0x20df06)+_0x1fddf6(0x16d));return menuFailure(_0x13d3fc,_0x4e75db,{'stage':'update-recovery','failed':{'id':_0x2167b4['id'],..._0x2167b4[_0x1fddf6(0x15a)]===undefined?{}:{'requestedUrlObserved':_0x2167b4[_0x1fddf6(0x15a)]},..._0x2167b4[_0x1fddf6(0x156)]?{'readbackFailed':!![]}:{}},'after':_0x2167b4[_0x1fddf6(0x17d)],'warnings':[_0x1fddf6(0x159)],'verification':{'status':'failed','targetId':_0x2167b4['id'],..._0x2167b4[_0x1fddf6(0x15a)]===undefined?{}:{'requestedUrlObserved':_0x2167b4[_0x1fddf6(0x15a)]},..._0x2167b4[_0x1fddf6(0x156)]?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x20df06)}});}function buildLookupCommand(_0x4df8eb){const _0x45f6ab=a110_0x5af245,_0x83fa21='\x27'+_0x4df8eb[_0x45f6ab(0x173)](/'/g,_0x45f6ab(0x180))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x83fa21+_0x45f6ab(0x14c);}
|
|
1
|
+
const a110_0x4e0331=a110_0x5a2c;(function(_0x268864,_0x2e0304){const _0x5d145e=a110_0x5a2c,_0xae043=_0x268864();while(!![]){try{const _0xe8758=-parseInt(_0x5d145e(0x14d))/0x1*(-parseInt(_0x5d145e(0x159))/0x2)+-parseInt(_0x5d145e(0x14e))/0x3*(parseInt(_0x5d145e(0x125))/0x4)+parseInt(_0x5d145e(0x134))/0x5+-parseInt(_0x5d145e(0x142))/0x6+-parseInt(_0x5d145e(0x169))/0x7*(-parseInt(_0x5d145e(0x164))/0x8)+parseInt(_0x5d145e(0x121))/0x9*(-parseInt(_0x5d145e(0x13c))/0xa)+parseInt(_0x5d145e(0x139))/0xb;if(_0xe8758===_0x2e0304)break;else _0xae043['push'](_0xae043['shift']());}catch(_0x150336){_0xae043['push'](_0xae043['shift']());}}}(a110_0x5bc2,0x5a7db));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{validateExternalMenuUrl}from'../../commands/menu/external-link-create.js';import{fetchMenuSnapshot}from'../../commands/menu/shared/facts.js';import{MENU_EXPECT_PARENT_ID_FLAG,MENU_ID_FLAG,asVerificationError,assertVerified,describeMenuErrorCause,fetchMutationSnapshot,formatParent,hasFlag,isMenuResponseLoss,mapMenuApiError,menuDryRunResult,menuError,menuFailure,mutationResult,parseParentId,recheckMutationSnapshot,requireExplicitYes,requireMenu,validateExactId}from'../../commands/menu/shared/mutations.js';function a110_0x5bc2(){const _0x59637c=['Would\x20update\x20only\x20the\x20external\x20URL\x20of\x20menu\x20','verify\x20external\x20menu\x20URL\x20update','appCode','319670fZYnoD','Abort\x20unless\x20the\x20current\x20URL\x20matches\x20before\x20a\x20write\x20is\x20needed','POST','body','\x20already\x20matches\x20the\x20requested\x20URL.','8490097CkoAdn','Recovered\x20confirmed\x20external\x20URL\x20update\x20for\x20menu\x20','parentId','10oSMHQI','The\x20update\x20request\x20was\x20not\x20retried;\x20inspect\x20current\x20menu\x20facts\x20before\x20retrying.','cookie','childrenCount','\x20parent\x20changed:\x20expected\x20','high-risk-write','2921136EkBwiE','The\x20update\x20may\x20have\x20taken\x20effect.\x20Automatic\x20retry\x20is\x20disabled.','menu_permission_denied','visible','type','Choose\x20the\x20exact\x20id\x20of\x20an\x20existing\x20iframe\x20or\x20link\x20menu.','update-recovery','\x20has\x20an\x20empty\x20platform\x20path.','New\x20external\x20HTTPS\x20URL','plan','link','1zQZpoi','79551jAQFfX','iframe','str','Update\x20only\x20the\x20URL\x20of\x20one\x20existing\x20iframe\x20or\x20link\x20menu','\x20is\x20type\x20\x22','Response\x20was\x20lost\x20and\x20menu\x20','menu_update_recovery_required','sort','verification','menu_external_link_type_required','byId','702198YEvWrF','after','label','menu\x20list','failed','The\x20URL\x20update\x20may\x20have\x20taken\x20effect;\x20inspect\x20the\x20latest\x20menu\x20facts\x20before\x20retrying.','\x20and\x20inspect\x20the\x20exact\x20menu\x20id\x20before\x20retrying.','\x20could\x20not\x20be\x20verified\x20safely','flagMissing','Menu\x20','Update\x20request\x20for\x20menu\x20','8408HEdqMc','\x20changed\x20during\x20the\x20URL-only\x20update.','string','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-parent-id.','expect-parent-id','1218mIetIG','\x20--format\x20compress','replace','\x20direct\x20child\x20menu(s).','\x20has\x20','menu_state_drift',',\x20current\x20','Updated\x20external\x20URL\x20for\x20menu\x20','readbackFailed','external-link-update','url','code','1268901PbRdwV','The\x20update\x20response\x20was\x20lost\x20and\x20the\x20requested\x20URL\x20cannot\x20be\x20confirmed\x20safely.','requestedUrlObserved','update\x20external\x20menu\x20URL','56nGUNRt','expect-url','path','Run\x20the\x20command\x20with\x20--dry-run\x20again\x20and\x20update\x20--expect-url.','hash','trim','menu_external_link_path_missing','External\x20link\x20URL\x20updates\x20are\x20limited\x20to\x20leaf\x20menus.','The\x20menu\x20already\x20has\x20the\x20requested\x20URL;\x20no\x20write\x20is\x20needed.','menu_external_link_not_leaf','update','\x27\x5c\x27\x27'];a110_0x5bc2=function(){return _0x59637c;};return a110_0x5bc2();}import{updateMenuEntity}from'../../commands/menu/shared/service.js';import{CliErrors}from'../../errors.js';const BACKEND=[{'method':'POST','path':'/smartapi/menu/update'}];export const menuExternalLinkUpdate={'service':'menu','command':'external-link-update','description':a110_0x4e0331(0x151),'risk':a110_0x4e0331(0x141),'structuredErrors':!![],'flags':[MENU_ID_FLAG,{'name':'url','type':a110_0x4e0331(0x166),'required':!![],'description':a110_0x4e0331(0x14a)},{'name':'expect-url','type':a110_0x4e0331(0x166),'required':!![],'description':a110_0x4e0331(0x135)},{...MENU_EXPECT_PARENT_ID_FLAG,'required':!![]},APPCODE_FLAG_OPTIONAL],async 'validate'(_0x1d6db6){validateInput(_0x1d6db6),requireExplicitYes(_0x1d6db6);},async 'dryRun'(_0x1758b1){const _0x59e1ec=a110_0x4e0331;validateInput(_0x1758b1);const _0x2e62a6=await buildPlan(_0x1758b1,!![]);return menuDryRunResult(_0x2e62a6[_0x59e1ec(0x14b)],{'method':'POST','url':'/smartapi/menu/update','body':_0x2e62a6[_0x59e1ec(0x137)],'description':_0x59e1ec(0x131)+_0x2e62a6[_0x59e1ec(0x137)]['id']+'.'});},async 'execute'(_0x3a9734){const _0x140a76=a110_0x4e0331;validateInput(_0x3a9734),requireExplicitYes(_0x3a9734);const _0x4c7103=await buildPlan(_0x3a9734,![]),{plan:_0x31da21,body:_0x5a17e6,before:_0x3b2154,noChanges:_0x543643}=_0x4c7103,_0xc7b17a=_0x5a17e6['id'];if(_0x543643)return updateSuccess(_0x31da21,_0x4c7103['snapshot'],_0x3b2154,!![],![]);await recheckMutationSnapshot(_0x3a9734,_0x31da21,_0x140a76(0x124),_0xc7b17a);try{await updateMenuEntity(_0x3a9734[_0x140a76(0x133)],_0x3a9734[_0x140a76(0x13e)],{'id':_0x5a17e6['id'],'url':_0x5a17e6[_0x140a76(0x11f)]});}catch(_0x3c168f){const _0x52359e=mapMenuApiError(_0x3c168f,_0x140a76(0x124),_0xc7b17a);if(isMenuResponseLoss(_0x3c168f)&&_0x52359e[_0x140a76(0x120)]!==_0x140a76(0x144))return recoverAfterResponseLoss(_0x3a9734,_0x4c7103);throw menuFailure(_0x52359e,_0x31da21,{'stage':_0x140a76(0x12f),'failed':{'id':_0xc7b17a},'warnings':[_0x140a76(0x13d)],'verification':{'status':_0x140a76(0x15d),'targetId':_0xc7b17a,'lookupCommand':buildLookupCommand(_0x3a9734[_0x140a76(0x133)])}});}let _0x574503,_0x15aff6;try{_0x574503=await fetchMenuSnapshot(_0x3a9734['appCode'],_0x3a9734[_0x140a76(0x13e)]),_0x15aff6=requireMenu(_0x574503,_0xc7b17a),verifyUpdatedFact(_0x3b2154,_0x15aff6,_0x5a17e6['url']);}catch(_0x3f3202){const _0x13a5c8=describeMenuErrorCause(_0x3f3202,_0x140a76(0x132),_0xc7b17a),_0x48c631=asVerificationError(_0x3f3202,_0x140a76(0x163)+_0xc7b17a+'\x20completed\x20but\x20readback\x20could\x20not\x20confirm\x20the\x20requested\x20state');throw menuFailure(_0x48c631,_0x31da21,{'stage':_0x140a76(0x156),'succeeded':[{'id':_0xc7b17a,'updateRequested':!![]}],'failed':{'id':_0xc7b17a,'requestedStateConfirmed':![],..._0x13a5c8},'warnings':[_0x140a76(0x15e)],'verification':{'status':'failed','targetId':_0xc7b17a,'lookupCommand':buildLookupCommand(_0x3a9734[_0x140a76(0x133)])}});}return updateSuccess(_0x31da21,_0x574503,_0x15aff6,![],![]);}};function validateInput(_0x45b035){const _0x1ea7ef=a110_0x4e0331;validateExactId(_0x45b035),requiredUrl(_0x45b035,'url'),requiredExpectedUrl(_0x45b035),parseParentId(_0x45b035,_0x1ea7ef(0x168),{'required':!![]});}function requiredUrl(_0x2a89f1,_0x49957d){const _0x46a8c6=a110_0x4e0331;if(!hasFlag(_0x2a89f1,_0x49957d)||!_0x2a89f1[_0x46a8c6(0x150)](_0x49957d)[_0x46a8c6(0x12a)]())throw CliErrors[_0x46a8c6(0x161)](_0x49957d);return validateExternalMenuUrl(_0x2a89f1[_0x46a8c6(0x150)](_0x49957d));}function requiredExpectedUrl(_0x255dcd){const _0x148403=a110_0x4e0331;if(!hasFlag(_0x255dcd,_0x148403(0x126))||!_0x255dcd[_0x148403(0x150)](_0x148403(0x126))[_0x148403(0x12a)]())throw CliErrors['flagMissing']('expect-url');return _0x255dcd[_0x148403(0x150)]('expect-url')['trim']();}async function buildPlan(_0x346f0d,_0x1028ba){const _0x5b381f=a110_0x4e0331,_0x19dcd0=validateExactId(_0x346f0d),_0x41ebf7=requiredUrl(_0x346f0d,_0x5b381f(0x11f)),_0x436eb6=requiredExpectedUrl(_0x346f0d),_0x1de46f=parseParentId(_0x346f0d,'expect-parent-id',{'required':!![]}),_0xb0f5f4=await fetchMutationSnapshot(_0x346f0d,_0x5b381f(0x124),_0x19dcd0),_0x40b4d2=requireMenu(_0xb0f5f4,_0x19dcd0);assertExternalLinkLeaf(_0x40b4d2);if(_0x40b4d2[_0x5b381f(0x13b)]!==_0x1de46f)throw menuError(_0x5b381f(0x11a),_0x5b381f(0x162)+_0x19dcd0+_0x5b381f(0x140)+formatParent(_0x1de46f)+_0x5b381f(0x11b)+formatParent(_0x40b4d2['parentId'])+'.',_0x5b381f(0x167));const _0xe9f54=_0x40b4d2[_0x5b381f(0x11f)]===_0x41ebf7;if(!_0xe9f54&&_0x40b4d2[_0x5b381f(0x11f)]!==_0x436eb6)throw menuError('menu_state_drift','Menu\x20'+_0x19dcd0+'\x20URL\x20no\x20longer\x20matches\x20--expect-url.',_0x5b381f(0x128));const _0x4aa680={'id':_0x19dcd0,'appCode':_0x346f0d[_0x5b381f(0x133)],'url':_0x41ebf7},_0x22af29={..._0x40b4d2,'url':_0x41ebf7};return{'body':_0x4aa680,'before':_0x40b4d2,'noChanges':_0xe9f54,'snapshot':_0xb0f5f4,'plan':mutationResult({'operation':_0x5b381f(0x11e),'selector':{'id':_0x19dcd0},'before':_0x40b4d2,'after':_0x22af29,'dryRun':_0x1028ba,'backend':[...BACKEND],'plannedActions':_0xe9f54?[]:[{'stage':'update-external-link-url','method':_0x5b381f(0x136),'path':'/smartapi/menu/update','body':_0x4aa680}],'snapshotHash':_0xb0f5f4[_0x5b381f(0x129)],'warnings':_0xe9f54?[_0x5b381f(0x12d)]:[]})};}function assertExternalLinkLeaf(_0x6ab52){const _0x88d98=a110_0x4e0331;if(_0x6ab52['type']!==_0x88d98(0x14f)&&_0x6ab52[_0x88d98(0x146)]!==_0x88d98(0x14c))throw menuError(_0x88d98(0x157),'Menu\x20'+_0x6ab52['id']+_0x88d98(0x152)+(_0x6ab52[_0x88d98(0x146)]||'unknown')+'\x22,\x20not\x20iframe\x20or\x20link.',_0x88d98(0x147));if(_0x6ab52[_0x88d98(0x13f)]!==0x0)throw menuError(_0x88d98(0x12e),_0x88d98(0x162)+_0x6ab52['id']+_0x88d98(0x119)+_0x6ab52[_0x88d98(0x13f)]+_0x88d98(0x16c),_0x88d98(0x12c));if(!_0x6ab52[_0x88d98(0x127)][_0x88d98(0x12a)]())throw menuError(_0x88d98(0x12b),_0x88d98(0x162)+_0x6ab52['id']+_0x88d98(0x149),'Repair\x20the\x20menu\x20record\x20before\x20attempting\x20a\x20URL-only\x20update.');}function a110_0x5a2c(_0x456d7f,_0x45cd24){_0x456d7f=_0x456d7f-0x119;const _0x5bc26d=a110_0x5bc2();let _0x5a2c2a=_0x5bc26d[_0x456d7f];return _0x5a2c2a;}function verifyUpdatedFact(_0x5ba128,_0x1f8d2e,_0x43141a){const _0x4420f3=a110_0x4e0331;assertExternalLinkLeaf(_0x1f8d2e);const _0x6ecb9f=[['id',_0x1f8d2e['id'],_0x5ba128['id']],[_0x4420f3(0x15b),_0x1f8d2e['label'],_0x5ba128[_0x4420f3(0x15b)]],[_0x4420f3(0x146),_0x1f8d2e['type'],_0x5ba128[_0x4420f3(0x146)]],[_0x4420f3(0x127),_0x1f8d2e[_0x4420f3(0x127)],_0x5ba128[_0x4420f3(0x127)]],[_0x4420f3(0x13b),_0x1f8d2e[_0x4420f3(0x13b)],_0x5ba128[_0x4420f3(0x13b)]],[_0x4420f3(0x155),_0x1f8d2e['sort'],_0x5ba128[_0x4420f3(0x155)]],['visible',_0x1f8d2e[_0x4420f3(0x145)],_0x5ba128['visible']]];for(const [_0xabedb1,_0x293f57,_0x1426ed]of _0x6ecb9f){assertVerified(_0x293f57===_0x1426ed,_0x4420f3(0x162)+_0x5ba128['id']+'\x20'+_0xabedb1+_0x4420f3(0x165));}assertVerified(_0x1f8d2e[_0x4420f3(0x11f)]===_0x43141a,_0x4420f3(0x162)+_0x5ba128['id']+'\x20URL\x20update\x20did\x20not\x20take\x20effect.');}function updateSuccess(_0x2ebe8a,_0x47feb9,_0x5619c5,_0x4fe58d,_0x40ab47){const _0x5f1f4c=a110_0x4e0331,_0x4c7734=_0x5619c5['id'],_0xb74b54=mutationResult({..._0x2ebe8a,'after':_0x5619c5,'dryRun':![],'succeeded':[{'id':_0x4c7734,'updated':!_0x4fe58d,'skipped':_0x4fe58d,'recovered':_0x40ab47}],'verification':{'checkedBy':_0x5f1f4c(0x15c),'snapshotHash':_0x47feb9[_0x5f1f4c(0x129)],'targetId':_0x4c7734,'matchesRequestedState':!![],'recovered':_0x40ab47}});return{'ok':!![],'message':_0x40ab47?_0x5f1f4c(0x13a)+_0x4c7734+'.':_0x4fe58d?'Menu\x20'+_0x4c7734+_0x5f1f4c(0x138):_0x5f1f4c(0x11c)+_0x4c7734+'.','data':{..._0xb74b54,'recovered':_0x40ab47}};}async function recoverAfterResponseLoss(_0x5b4bbb,_0x59744e){const _0x3d5029=a110_0x4e0331,{plan:_0x3cfa53,before:_0xf2921f,body:_0x4c2ad5}=_0x59744e;let _0x332515;try{_0x332515=await fetchMenuSnapshot(_0x5b4bbb[_0x3d5029(0x133)],_0x5b4bbb[_0x3d5029(0x13e)]);}catch{throw recoveryRequired(_0x3cfa53,_0x5b4bbb['appCode'],{'id':_0x4c2ad5['id'],'readbackFailed':!![]});}const _0x3bad90=_0x332515[_0x3d5029(0x158)]['get'](_0x4c2ad5['id']);if(!_0x3bad90||_0x3bad90[_0x3d5029(0x11f)]!==_0x4c2ad5[_0x3d5029(0x11f)])throw recoveryRequired(_0x3cfa53,_0x5b4bbb[_0x3d5029(0x133)],{'id':_0x4c2ad5['id'],'requestedUrlObserved':![],'after':_0x3bad90??null});try{verifyUpdatedFact(_0xf2921f,_0x3bad90,_0x4c2ad5[_0x3d5029(0x11f)]);}catch(_0x82cc0b){const _0x4895de=asVerificationError(_0x82cc0b,_0x3d5029(0x153)+_0x4c2ad5['id']+_0x3d5029(0x160));throw menuFailure(_0x4895de,_0x3cfa53,{'stage':_0x3d5029(0x148),'succeeded':[{'id':_0x4c2ad5['id'],'updateRequested':!![],'recovered':!![]}],'failed':{'id':_0x4c2ad5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![]},'after':_0x3bad90,'warnings':['The\x20requested\x20URL\x20was\x20observed\x20after\x20response\x20loss,\x20but\x20other\x20menu\x20facts\x20changed.'],'verification':{'status':'failed','targetId':_0x4c2ad5['id'],'requestedUrlObserved':!![],'invariantsConfirmed':![],'lookupCommand':buildLookupCommand(_0x5b4bbb[_0x3d5029(0x133)])}});}return updateSuccess(_0x3cfa53,_0x332515,_0x3bad90,![],!![]);}function recoveryRequired(_0x44ca22,_0x188cbd,_0x5d67e1){const _0x534b1a=a110_0x4e0331,_0x1daded=menuError(_0x534b1a(0x154),_0x534b1a(0x122),'Run\x20'+buildLookupCommand(_0x188cbd)+_0x534b1a(0x15f));return menuFailure(_0x1daded,_0x44ca22,{'stage':'update-recovery','failed':{'id':_0x5d67e1['id'],..._0x5d67e1[_0x534b1a(0x123)]===undefined?{}:{'requestedUrlObserved':_0x5d67e1[_0x534b1a(0x123)]},..._0x5d67e1[_0x534b1a(0x11d)]?{'readbackFailed':!![]}:{}},'after':_0x5d67e1[_0x534b1a(0x15a)],'warnings':[_0x534b1a(0x143)],'verification':{'status':_0x534b1a(0x15d),'targetId':_0x5d67e1['id'],..._0x5d67e1[_0x534b1a(0x123)]===undefined?{}:{'requestedUrlObserved':_0x5d67e1[_0x534b1a(0x123)]},..._0x5d67e1['readbackFailed']?{'readbackFailed':!![]}:{},'lookupCommand':buildLookupCommand(_0x188cbd)}});}function buildLookupCommand(_0x15d14a){const _0x497205=a110_0x4e0331,_0x2a51f3='\x27'+_0x15d14a[_0x497205(0x16b)](/'/g,_0x497205(0x130))+'\x27';return'rabetbase\x20menu\x20list\x20--appcode\x20'+_0x2a51f3+_0x497205(0x16a);}
|