@lovrabet/rabetbase-cli 2.4.6-beta.1 → 2.4.6-beta.3
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/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/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.d.ts +8 -7
- 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/types.d.ts +17 -2
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.d.ts +2 -0
- package/lib/commands/menu/visibility-update.js +1 -0
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.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/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/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.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/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/skills/rabetbase/SKILL.md +4 -3
- package/skills/rabetbase/references/rabetbase-menu-list.md +3 -1
- package/skills/rabetbase/references/rabetbase-menu-visibility-update.md +59 -0
- package/skills/rabetbase/references/rabetbase-ocr.md +17 -2
- package/skills/rabetbase.manifest.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
const a122_0x808c05=a122_0x3b06;function a122_0x30aa(){const _0x165691=['Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','utf8','type','7cIwheW','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','datasetCode','410296zccPfe','\x20requires\x20a\x20non-empty\x20file\x20path.','toISOString','command','expiresAt','updateUserId','1337118mRVNRZ','Menu\x20delete\x20plan\x20expired\x20at\x20','extendHash','every','Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.','appCode','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','57uscxgz','Planned\x20menu\x20','boolean',',\x20current\x20app\x20is\x20','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','object','\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','sha256','pages','datasetId','map','12dRDoYX','menu_plan_expired','updateTime','resources','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.','isInteger','POST','pageType','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.','visible','parse','size','menu_plan_file_exists','target','extend','snapshotHash','\x20of\x20the\x20','depth','6000310vlaIbj','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','isArray','label','recursive','isSafeInteger','updateUserName','Menu\x20delete\x20plan\x20creation\x20time\x20','plan','resourcesHash','isFinite','Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.','EEXIST','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','\x20is\x20in\x20the\x20future.','childrenIds','path','15710CgGgBf','length','trim','Menu\x20delete\x20plan\x20targets\x20app\x20','menu\x20delete','targets','createdAt','cascade','delete','parentId','update','Cannot\x20read\x20menu\x20delete\x20plan\x20','deleteOrder','warnings','getTime','87850fgUgbQ','menu_state_drift','test','/smartapi/menu/batchDelete','hash','pageId','version','string','targetFingerprint','resourcesValid','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','before','728vHiLSg','batch-delete-menu','number','modelType','11UXpPjl','\x20contract.','662702gBbXzD','sort','selector','pageSchemaAffected','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','code','menu_plan_write_failed','menu_plan_invalid','28234115FaKXGP','childrenCount','targetFingerprints','stringify','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','99regPaF'];a122_0x30aa=function(){return _0x165691;};return a122_0x30aa();}(function(_0x198a80,_0x551d9d){const _0xb528fd=a122_0x3b06,_0x32184e=_0x198a80();while(!![]){try{const _0x282f6b=parseInt(_0xb528fd(0x132))/0x1+-parseInt(_0xb528fd(0x120))/0x2*(parseInt(_0xb528fd(0x153))/0x3)+-parseInt(_0xb528fd(0x12c))/0x4*(parseInt(_0xb528fd(0x111))/0x5)+-parseInt(_0xb528fd(0x14c))/0x6*(-parseInt(_0xb528fd(0x143))/0x7)+parseInt(_0xb528fd(0x146))/0x8*(-parseInt(_0xb528fd(0x13f))/0x9)+parseInt(_0xb528fd(0x100))/0xa*(-parseInt(_0xb528fd(0x130))/0xb)+parseInt(_0xb528fd(0xed))/0xc*(parseInt(_0xb528fd(0x13a))/0xd);if(_0x282f6b===_0x551d9d)break;else _0x32184e['push'](_0x32184e['shift']());}catch(_0x12bb72){_0x32184e['push'](_0x32184e['shift']());}}}(a122_0x30aa,0x76d93));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a122_0x808c05(0x115),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x479415,_0x272735,_0x341616=new Date()){const _0x91fdef=a122_0x808c05;if(!_0x272735['before']||!isMenuFact(_0x272735[_0x91fdef(0x12b)]))throw menuError(_0x91fdef(0x139),_0x91fdef(0xf5));const _0x2b09c4=_0x272735[_0x91fdef(0x116)]?.[_0x91fdef(0x112)]?_0x272735[_0x91fdef(0x116)]:[_0x272735['before']],_0x5837a7=_0x272735[_0x91fdef(0x11d)]?.[_0x91fdef(0x112)]?_0x272735['deleteOrder']:_0x2b09c4['map'](_0x5b17df=>_0x5b17df['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x479415,'createdAt':_0x341616[_0x91fdef(0x148)](),'expiresAt':new Date(_0x341616[_0x91fdef(0x11f)]()+PLAN_TTL_MS)[_0x91fdef(0x148)](),'snapshotHash':_0x272735['snapshotHash'],'recursive':_0x272735[_0x91fdef(0x134)][_0x91fdef(0x104)]===!![],'target':_0x272735['before'],'targetFingerprint':fingerprint(_0x272735[_0x91fdef(0x12b)]),'targets':_0x2b09c4,'targetFingerprints':_0x2b09c4[_0x91fdef(0x15d)](fingerprint),'deleteOrder':_0x5837a7,'cascade':_0x272735[_0x91fdef(0x118)]??{'pages':_0x272735[_0x91fdef(0x12b)]['pageId']==null?[]:[_0x272735[_0x91fdef(0x12b)]['pageId']],'pageSchemaAffected':_0x272735[_0x91fdef(0x12b)][_0x91fdef(0x125)]!=null},'warnings':[..._0x272735[_0x91fdef(0x11e)]]};}export async function writeMenuDeletePlan(_0x276faa,_0x3f89c1){const _0x2d3af0=a122_0x808c05,_0x1316d2=resolvePlanPath(_0x276faa,'plan-out');await mkdir(dirname(_0x1316d2),{'recursive':!![]});try{await writeFile(_0x1316d2,JSON[_0x2d3af0(0x13d)](_0x3f89c1,null,0x2)+'\x0a',{'encoding':_0x2d3af0(0x141),'flag':'wx'});}catch(_0x2905c1){if(_0x2905c1[_0x2d3af0(0x137)]===_0x2d3af0(0x10c))throw menuError(_0x2d3af0(0xfa),_0x2d3af0(0x12a)+_0x1316d2,_0x2d3af0(0xf6));throw menuError(_0x2d3af0(0x138),'Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x1316d2+':\x20'+errorMessage(_0x2905c1));}return _0x1316d2;}export async function readMenuDeletePlan(_0x404412){const _0x40eefe=a122_0x808c05,_0x449d0a=resolvePlanPath(_0x404412,_0x40eefe(0x108));let _0x1cc4d6;try{_0x1cc4d6=(await stat(_0x449d0a))[_0x40eefe(0xf9)];}catch(_0x743d9){throw menuError(_0x40eefe(0x139),_0x40eefe(0x11c)+_0x449d0a+':\x20'+errorMessage(_0x743d9));}if(_0x1cc4d6>MAX_PLAN_BYTES)throw menuError(_0x40eefe(0x139),_0x40eefe(0x140)+_0x1cc4d6+'\x20bytes.');let _0x406377;try{_0x406377=JSON[_0x40eefe(0xf8)](await readFile(_0x449d0a,_0x40eefe(0x141)));}catch(_0x4c9e1d){throw menuError(_0x40eefe(0x139),_0x40eefe(0x144)+errorMessage(_0x4c9e1d));}if(!isMenuDeletePlanFile(_0x406377))throw menuError(_0x40eefe(0x139),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+_0x40eefe(0xfe)+PLAN_COMMAND+_0x40eefe(0x131));if(!sameFingerprint(_0x406377[_0x40eefe(0x128)],fingerprint(_0x406377[_0x40eefe(0xfb)])))throw menuError('menu_plan_invalid','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.',_0x40eefe(0x13e));if(!_0x406377[_0x40eefe(0x116)]['every']((_0x4a63b8,_0x5c54b6)=>sameFingerprint(_0x406377[_0x40eefe(0x13c)][_0x5c54b6],fingerprint(_0x4a63b8)))||!sameFingerprint(_0x406377[_0x40eefe(0x128)],fingerprint(_0x406377['targets'][_0x406377[_0x40eefe(0x116)][_0x40eefe(0x112)]-0x1])))throw menuError('menu_plan_invalid',_0x40eefe(0x10b),'Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.');return{'path':_0x449d0a,'plan':_0x406377};}export function mutationPlanFromDeleteFile(_0x41f08a,_0x5d0257){const _0x501ede=a122_0x808c05;return mutationResult({'operation':_0x501ede(0x119),'selector':{'id':_0x41f08a[_0x501ede(0xfb)]['id'],'recursive':_0x41f08a['recursive']},'before':_0x41f08a[_0x501ede(0xfb)],'after':null,'dryRun':![],'backend':[{'method':_0x501ede(0xf3),'path':_0x501ede(0x123)}],'plannedActions':[{'stage':_0x501ede(0x12d),'method':'POST','path':_0x501ede(0x123),'body':{'idList':_0x41f08a[_0x501ede(0x11d)]}}],'targets':_0x41f08a[_0x501ede(0x116)],'deleteOrder':_0x41f08a[_0x501ede(0x11d)],'snapshotHash':_0x41f08a[_0x501ede(0xfd)],'cascade':_0x41f08a[_0x501ede(0x118)],'planFile':{'path':_0x5d0257,'createdAt':_0x41f08a[_0x501ede(0x117)],'expiresAt':_0x41f08a[_0x501ede(0x14a)]},'warnings':_0x41f08a[_0x501ede(0x11e)]});}export function assertMenuDeletePlanCurrent(_0x3244f2,_0x2a5d7e,_0x55ffe1,_0xdd28c1=new Date()){const _0x3e6ad8=a122_0x808c05;assertMenuDeletePlanExecutable(_0x3244f2,_0x2a5d7e,_0xdd28c1);if(_0x55ffe1[_0x3e6ad8(0x124)]!==_0x3244f2['snapshotHash'])throw menuError(_0x3e6ad8(0x121),_0x3e6ad8(0x157),_0x3e6ad8(0x101));return _0x3244f2[_0x3e6ad8(0x116)][_0x3e6ad8(0x15d)]((_0x9beffb,_0x5125e6)=>{const _0x259fd9=_0x3e6ad8,_0x3b0d1a=_0x55ffe1['byId']['get'](_0x9beffb['id']);if(!_0x3b0d1a)throw menuError(_0x259fd9(0x121),_0x259fd9(0x154)+_0x9beffb['id']+_0x259fd9(0x136));if(!sameFingerprint(_0x3244f2[_0x259fd9(0x13c)][_0x5125e6],fingerprint(_0x3b0d1a)))throw menuError(_0x259fd9(0x121),_0x259fd9(0x154)+_0x9beffb['id']+_0x259fd9(0x159),_0x259fd9(0xf1));return _0x3b0d1a;});}export function assertMenuDeletePlanExecutable(_0x4f36ef,_0x2e53ee,_0x57ae58=new Date()){const _0x4f2d27=a122_0x808c05;if(_0x4f36ef['appCode']!==_0x2e53ee)throw menuError('menu_plan_app_mismatch',_0x4f2d27(0x114)+JSON[_0x4f2d27(0x13d)](_0x4f36ef[_0x4f2d27(0x151)])+_0x4f2d27(0x156)+JSON[_0x4f2d27(0x13d)](_0x2e53ee)+'.');const _0x37811d=Date[_0x4f2d27(0xf8)](_0x4f36ef['createdAt']),_0x56efdd=Date[_0x4f2d27(0xf8)](_0x4f36ef[_0x4f2d27(0x14a)]);if(!Number[_0x4f2d27(0x10a)](_0x37811d)||!Number[_0x4f2d27(0x10a)](_0x56efdd)||_0x56efdd-_0x37811d!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0x4f2d27(0x152));if(_0x37811d>_0x57ae58['getTime']())throw menuError(_0x4f2d27(0x139),_0x4f2d27(0x107)+_0x4f36ef[_0x4f2d27(0x117)]+_0x4f2d27(0x10e),_0x4f2d27(0x150));if(_0x57ae58[_0x4f2d27(0x11f)]()>_0x56efdd)throw menuError(_0x4f2d27(0xee),_0x4f2d27(0x14d)+_0x4f36ef[_0x4f2d27(0x14a)]+'.',_0x4f2d27(0x10d));}function a122_0x3b06(_0x205c49,_0x12f40a){_0x205c49=_0x205c49-0xed;const _0x30aa07=a122_0x30aa();let _0x3b0616=_0x30aa07[_0x205c49];return _0x3b0616;}function fingerprint(_0x591770){const _0x4c07ab=a122_0x808c05;return{'id':_0x591770['id'],'parentId':_0x591770[_0x4c07ab(0x11a)],'depth':_0x591770['depth'],'label':_0x591770[_0x4c07ab(0x103)],'path':_0x591770[_0x4c07ab(0x110)],'type':_0x591770[_0x4c07ab(0x142)],'visible':_0x591770[_0x4c07ab(0xf7)],'sort':_0x591770[_0x4c07ab(0x133)],'pageId':_0x591770[_0x4c07ab(0x125)],'pageType':_0x591770[_0x4c07ab(0xf4)],'modelType':_0x591770[_0x4c07ab(0x12f)],'datasetId':_0x591770['datasetId'],'datasetCode':_0x591770['datasetCode'],'childrenIds':[..._0x591770[_0x4c07ab(0x10f)]],'childrenCount':_0x591770[_0x4c07ab(0x13b)],'resourcesValid':_0x591770[_0x4c07ab(0x129)],'resourcesHash':hashValue(_0x591770[_0x4c07ab(0xf0)]),'extendHash':hashValue(_0x591770[_0x4c07ab(0xfc)]??null),'updateTime':_0x591770[_0x4c07ab(0xef)]};}function hashValue(_0x1d5b78){const _0x3b0099=a122_0x808c05;return createHash(_0x3b0099(0x15a))[_0x3b0099(0x11b)](JSON['stringify'](_0x1d5b78))['digest']('hex');}function sameFingerprint(_0x382d07,_0xcf2b15){const _0x5891ff=a122_0x808c05;return JSON[_0x5891ff(0x13d)](_0x382d07)===JSON[_0x5891ff(0x13d)](_0xcf2b15);}function resolvePlanPath(_0x3a7caf,_0x4ce713){const _0x1b2771=a122_0x808c05,_0x3a83c7=_0x3a7caf[_0x1b2771(0x113)]();if(!_0x3a83c7)throw menuError(_0x1b2771(0x139),'--'+_0x4ce713+_0x1b2771(0x147));return resolve(_0x3a83c7);}function isMenuDeletePlanFile(_0x1928f5){const _0x3294db=a122_0x808c05;if(!isRecord(_0x1928f5))return![];return _0x1928f5[_0x3294db(0x126)]===PLAN_VERSION&&_0x1928f5[_0x3294db(0x149)]===PLAN_COMMAND&&typeof _0x1928f5[_0x3294db(0x151)]===_0x3294db(0x127)&&_0x1928f5[_0x3294db(0x151)][_0x3294db(0x112)]>0x0&&typeof _0x1928f5['createdAt']===_0x3294db(0x127)&&typeof _0x1928f5[_0x3294db(0x14a)]===_0x3294db(0x127)&&typeof _0x1928f5['snapshotHash']===_0x3294db(0x127)&&/^sha256:[a-f0-9]{64}$/[_0x3294db(0x122)](_0x1928f5[_0x3294db(0xfd)])&&typeof _0x1928f5[_0x3294db(0x104)]===_0x3294db(0x155)&&isMenuFact(_0x1928f5['target'])&&isTargetFingerprint(_0x1928f5[_0x3294db(0x128)])&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x116)])&&_0x1928f5['targets'][_0x3294db(0x112)]>0x0&&_0x1928f5[_0x3294db(0x116)][_0x3294db(0x14f)](isMenuFact)&&Array['isArray'](_0x1928f5[_0x3294db(0x13c)])&&_0x1928f5[_0x3294db(0x13c)]['length']===_0x1928f5[_0x3294db(0x116)]['length']&&_0x1928f5[_0x3294db(0x13c)][_0x3294db(0x14f)](isTargetFingerprint)&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x11d)])&&_0x1928f5[_0x3294db(0x11d)]['length']===_0x1928f5[_0x3294db(0x116)][_0x3294db(0x112)]&&_0x1928f5[_0x3294db(0x11d)][_0x3294db(0x14f)](isPositiveInteger)&&new Set(_0x1928f5['deleteOrder'])[_0x3294db(0xf9)]===_0x1928f5['deleteOrder'][_0x3294db(0x112)]&&_0x1928f5['targets'][_0x3294db(0x14f)]((_0x8b979b,_0x1c1da3)=>_0x8b979b['id']===_0x1928f5[_0x3294db(0x11d)][_0x1c1da3])&&_0x1928f5[_0x3294db(0x116)][_0x1928f5[_0x3294db(0x116)][_0x3294db(0x112)]-0x1]?.['id']===_0x1928f5[_0x3294db(0xfb)]['id']&&isRecord(_0x1928f5['cascade'])&&Array[_0x3294db(0x102)](_0x1928f5[_0x3294db(0x118)][_0x3294db(0x15b)])&&_0x1928f5[_0x3294db(0x118)][_0x3294db(0x15b)][_0x3294db(0x14f)](isPositiveInteger)&&typeof _0x1928f5[_0x3294db(0x118)][_0x3294db(0x135)]===_0x3294db(0x155)&&Array[_0x3294db(0x102)](_0x1928f5['warnings'])&&_0x1928f5['warnings'][_0x3294db(0x14f)](_0x3a2bfc=>typeof _0x3a2bfc==='string');}function isMenuFact(_0x34d656){const _0x35815d=a122_0x808c05;if(!isRecord(_0x34d656))return![];return isPositiveInteger(_0x34d656['id'])&&(_0x34d656[_0x35815d(0x11a)]===null||isPositiveInteger(_0x34d656['parentId']))&&Number[_0x35815d(0xf2)](_0x34d656['depth'])&&_0x34d656[_0x35815d(0xff)]>=0x0&&typeof _0x34d656[_0x35815d(0x103)]===_0x35815d(0x127)&&typeof _0x34d656[_0x35815d(0x110)]===_0x35815d(0x127)&&typeof _0x34d656[_0x35815d(0x142)]===_0x35815d(0x127)&&(_0x34d656[_0x35815d(0xf7)]===null||typeof _0x34d656['visible']===_0x35815d(0x155))&&(_0x34d656[_0x35815d(0x133)]===null||Number[_0x35815d(0xf2)](_0x34d656[_0x35815d(0x133)]))&&Array[_0x35815d(0x102)](_0x34d656[_0x35815d(0xf0)])&&_0x34d656['resources'][_0x35815d(0x14f)](_0x44b722=>typeof _0x44b722===_0x35815d(0x127))&&typeof _0x34d656[_0x35815d(0x129)]==='boolean'&&Array[_0x35815d(0x102)](_0x34d656[_0x35815d(0x10f)])&&_0x34d656[_0x35815d(0x10f)][_0x35815d(0x14f)](isPositiveInteger)&&Number[_0x35815d(0xf2)](_0x34d656[_0x35815d(0x13b)])&&_0x34d656['childrenCount']>=0x0&&(_0x34d656[_0x35815d(0x125)]===null||isPositiveInteger(_0x34d656[_0x35815d(0x125)]))&&typeof _0x34d656[_0x35815d(0xf4)]===_0x35815d(0x127)&&typeof _0x34d656['modelType']===_0x35815d(0x127)&&(_0x34d656[_0x35815d(0x15c)]===null||isPositiveInteger(_0x34d656[_0x35815d(0x15c)]))&&typeof _0x34d656[_0x35815d(0x145)]===_0x35815d(0x127)&&(_0x34d656['updateUserId']===null||typeof _0x34d656[_0x35815d(0x14b)]==='string')&&(_0x34d656[_0x35815d(0x106)]===null||typeof _0x34d656[_0x35815d(0x106)]===_0x35815d(0x127))&&(_0x34d656['updateTime']===null||typeof _0x34d656[_0x35815d(0xef)]===_0x35815d(0x127)||typeof _0x34d656['updateTime']===_0x35815d(0x12e))&&(_0x34d656[_0x35815d(0xfc)]===undefined||_0x34d656[_0x35815d(0xfc)]===null||isRecord(_0x34d656[_0x35815d(0xfc)]));}function isTargetFingerprint(_0x2de35a){const _0x446dd8=a122_0x808c05;if(!isRecord(_0x2de35a))return![];return isPositiveInteger(_0x2de35a['id'])&&(_0x2de35a[_0x446dd8(0x11a)]===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x11a)]))&&Number[_0x446dd8(0xf2)](_0x2de35a[_0x446dd8(0xff)])&&_0x2de35a['depth']>=0x0&&typeof _0x2de35a[_0x446dd8(0x103)]==='string'&&typeof _0x2de35a[_0x446dd8(0x110)]==='string'&&typeof _0x2de35a[_0x446dd8(0x142)]==='string'&&(_0x2de35a['visible']===null||typeof _0x2de35a[_0x446dd8(0xf7)]===_0x446dd8(0x155))&&(_0x2de35a[_0x446dd8(0x133)]===null||Number[_0x446dd8(0xf2)](_0x2de35a['sort']))&&(_0x2de35a[_0x446dd8(0x125)]===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x125)]))&&typeof _0x2de35a[_0x446dd8(0xf4)]===_0x446dd8(0x127)&&typeof _0x2de35a[_0x446dd8(0x12f)]===_0x446dd8(0x127)&&(_0x2de35a['datasetId']===null||isPositiveInteger(_0x2de35a[_0x446dd8(0x15c)]))&&typeof _0x2de35a[_0x446dd8(0x145)]===_0x446dd8(0x127)&&Array[_0x446dd8(0x102)](_0x2de35a['childrenIds'])&&_0x2de35a['childrenIds'][_0x446dd8(0x14f)](isPositiveInteger)&&Number[_0x446dd8(0xf2)](_0x2de35a[_0x446dd8(0x13b)])&&_0x2de35a[_0x446dd8(0x13b)]>=0x0&&typeof _0x2de35a['resourcesValid']==='boolean'&&typeof _0x2de35a[_0x446dd8(0x109)]===_0x446dd8(0x127)&&/^[a-f0-9]{64}$/[_0x446dd8(0x122)](_0x2de35a['resourcesHash'])&&typeof _0x2de35a[_0x446dd8(0x14e)]===_0x446dd8(0x127)&&/^[a-f0-9]{64}$/[_0x446dd8(0x122)](_0x2de35a[_0x446dd8(0x14e)])&&(_0x2de35a[_0x446dd8(0xef)]===null||typeof _0x2de35a[_0x446dd8(0xef)]===_0x446dd8(0x127)||typeof _0x2de35a[_0x446dd8(0xef)]===_0x446dd8(0x12e));}function isRecord(_0x1393a6){const _0x291944=a122_0x808c05;return typeof _0x1393a6===_0x291944(0x158)&&_0x1393a6!==null&&!Array[_0x291944(0x102)](_0x1393a6);}function isPositiveInteger(_0xd865d9){const _0x185f03=a122_0x808c05;return Number[_0x185f03(0x105)](_0xd865d9)&&Number(_0xd865d9)>0x0;}function errorMessage(_0x592acb){return _0x592acb instanceof Error?_0x592acb['message']:String(_0x592acb);}
|
|
1
|
+
function a122_0x455f(_0x15871,_0x4e0d9c){_0x15871=_0x15871-0x1a9;const _0x494d18=a122_0x494d();let _0x455f70=_0x494d18[_0x15871];return _0x455f70;}const a122_0x555cf6=a122_0x455f;(function(_0x516d9d,_0x654223){const _0x273124=a122_0x455f,_0x40dec1=_0x516d9d();while(!![]){try{const _0x29e76e=parseInt(_0x273124(0x1ad))/0x1*(-parseInt(_0x273124(0x1b8))/0x2)+-parseInt(_0x273124(0x208))/0x3+-parseInt(_0x273124(0x1f4))/0x4+-parseInt(_0x273124(0x20e))/0x5+-parseInt(_0x273124(0x201))/0x6+-parseInt(_0x273124(0x1db))/0x7*(-parseInt(_0x273124(0x1f0))/0x8)+parseInt(_0x273124(0x1c7))/0x9;if(_0x29e76e===_0x654223)break;else _0x40dec1['push'](_0x40dec1['shift']());}catch(_0x17d78e){_0x40dec1['push'](_0x40dec1['shift']());}}}(a122_0x494d,0x9352c));import{createHash}from'node:crypto';import{mkdir,readFile,stat,writeFile}from'node:fs/promises';import{dirname,resolve}from'node:path';import{menuError,mutationResult}from'../../../commands/menu/shared/mutations.js';const PLAN_VERSION=0x2,PLAN_COMMAND=a122_0x555cf6(0x1ae),PLAN_TTL_MS=0x1e*0x3c*0x3e8,MAX_PLAN_BYTES=0x400*0x400;export function createMenuDeletePlanFile(_0x4e7ac3,_0x1bed5a,_0x263c3a=new Date()){const _0x2af46b=a122_0x555cf6;if(!_0x1bed5a[_0x2af46b(0x1bd)]||!isMenuFact(_0x1bed5a[_0x2af46b(0x1bd)]))throw menuError(_0x2af46b(0x1ca),_0x2af46b(0x1e8));const _0x3ea2ba=_0x1bed5a[_0x2af46b(0x1fe)]?.['length']?_0x1bed5a[_0x2af46b(0x1fe)]:[_0x1bed5a[_0x2af46b(0x1bd)]],_0xe46a37=_0x1bed5a[_0x2af46b(0x204)]?.[_0x2af46b(0x200)]?_0x1bed5a['deleteOrder']:_0x3ea2ba[_0x2af46b(0x1d5)](_0x10b8c6=>_0x10b8c6['id']);return{'version':PLAN_VERSION,'command':PLAN_COMMAND,'appCode':_0x4e7ac3,'createdAt':_0x263c3a[_0x2af46b(0x1f9)](),'expiresAt':new Date(_0x263c3a['getTime']()+PLAN_TTL_MS)[_0x2af46b(0x1f9)](),'snapshotHash':_0x1bed5a[_0x2af46b(0x1dc)],'recursive':_0x1bed5a['selector']['recursive']===!![],'target':_0x1bed5a['before'],'targetFingerprint':fingerprint(_0x1bed5a[_0x2af46b(0x1bd)]),'targets':_0x3ea2ba,'targetFingerprints':_0x3ea2ba[_0x2af46b(0x1d5)](fingerprint),'deleteOrder':_0xe46a37,'cascade':_0x1bed5a['cascade']??{'pages':_0x1bed5a[_0x2af46b(0x1bd)][_0x2af46b(0x209)]==null?[]:[_0x1bed5a[_0x2af46b(0x1bd)]['pageId']],'pageSchemaAffected':_0x1bed5a[_0x2af46b(0x1bd)][_0x2af46b(0x209)]!=null},'warnings':[..._0x1bed5a[_0x2af46b(0x1f7)]]};}export async function writeMenuDeletePlan(_0x559570,_0x3622be){const _0x4791cc=a122_0x555cf6,_0x4b27df=resolvePlanPath(_0x559570,_0x4791cc(0x1b2));await mkdir(dirname(_0x4b27df),{'recursive':!![]});try{await writeFile(_0x4b27df,JSON[_0x4791cc(0x1f5)](_0x3622be,null,0x2)+'\x0a',{'encoding':_0x4791cc(0x1d8),'flag':'wx'});}catch(_0x6ddc2){if(_0x6ddc2[_0x4791cc(0x1f8)]===_0x4791cc(0x1ab))throw menuError(_0x4791cc(0x1e0),_0x4791cc(0x205)+_0x4b27df,'Choose\x20a\x20new\x20--plan-out\x20path\x20so\x20the\x20reviewed\x20plan\x20remains\x20immutable.');throw menuError('menu_plan_write_failed','Failed\x20to\x20write\x20menu\x20delete\x20plan\x20'+_0x4b27df+':\x20'+errorMessage(_0x6ddc2));}return _0x4b27df;}export async function readMenuDeletePlan(_0x4dfbfa){const _0x461f1d=a122_0x555cf6,_0x4948f1=resolvePlanPath(_0x4dfbfa,_0x461f1d(0x1e4));let _0x105851;try{_0x105851=(await stat(_0x4948f1))[_0x461f1d(0x1af)];}catch(_0x20154a){throw menuError('menu_plan_invalid','Cannot\x20read\x20menu\x20delete\x20plan\x20'+_0x4948f1+':\x20'+errorMessage(_0x20154a));}if(_0x105851>MAX_PLAN_BYTES)throw menuError('menu_plan_invalid',_0x461f1d(0x1b7)+_0x105851+_0x461f1d(0x1d7));let _0x455037;try{_0x455037=JSON[_0x461f1d(0x202)](await readFile(_0x4948f1,_0x461f1d(0x1d8)));}catch(_0x1dc694){throw menuError(_0x461f1d(0x1ca),_0x461f1d(0x1fa)+errorMessage(_0x1dc694));}if(!isMenuDeletePlanFile(_0x455037))throw menuError(_0x461f1d(0x1ca),'Menu\x20delete\x20plan\x20does\x20not\x20match\x20version\x20'+PLAN_VERSION+_0x461f1d(0x1f2)+PLAN_COMMAND+_0x461f1d(0x20f));if(!sameFingerprint(_0x455037['targetFingerprint'],fingerprint(_0x455037[_0x461f1d(0x1c6)])))throw menuError('menu_plan_invalid',_0x461f1d(0x1c5),_0x461f1d(0x1e1));if(!_0x455037[_0x461f1d(0x1fe)][_0x461f1d(0x1df)]((_0x32d8a6,_0x1f9061)=>sameFingerprint(_0x455037[_0x461f1d(0x207)][_0x1f9061],fingerprint(_0x32d8a6)))||!sameFingerprint(_0x455037['targetFingerprint'],fingerprint(_0x455037['targets'][_0x455037[_0x461f1d(0x1fe)][_0x461f1d(0x200)]-0x1])))throw menuError(_0x461f1d(0x1ca),'Menu\x20delete\x20plan\x20target\x20list\x20does\x20not\x20match\x20its\x20immutable\x20fingerprints.',_0x461f1d(0x1e1));return{'path':_0x4948f1,'plan':_0x455037};}export function mutationPlanFromDeleteFile(_0x9300df,_0x2fbdbe){const _0x1b8d16=a122_0x555cf6;return mutationResult({'operation':_0x1b8d16(0x1b3),'selector':{'id':_0x9300df[_0x1b8d16(0x1c6)]['id'],'recursive':_0x9300df[_0x1b8d16(0x1cf)]},'before':_0x9300df[_0x1b8d16(0x1c6)],'after':null,'dryRun':![],'backend':[{'method':_0x1b8d16(0x206),'path':'/smartapi/menu/batchDelete'}],'plannedActions':[{'stage':_0x1b8d16(0x1c1),'method':_0x1b8d16(0x206),'path':'/smartapi/menu/batchDelete','body':{'idList':_0x9300df['deleteOrder']}}],'targets':_0x9300df['targets'],'deleteOrder':_0x9300df[_0x1b8d16(0x204)],'snapshotHash':_0x9300df[_0x1b8d16(0x1dc)],'cascade':_0x9300df[_0x1b8d16(0x1e3)],'planFile':{'path':_0x2fbdbe,'createdAt':_0x9300df[_0x1b8d16(0x1cd)],'expiresAt':_0x9300df[_0x1b8d16(0x1d6)]},'warnings':_0x9300df['warnings']});}export function assertMenuDeletePlanCurrent(_0x2f3299,_0x506e4f,_0x29cb14,_0x14bd58=new Date()){const _0x11f4d2=a122_0x555cf6;assertMenuDeletePlanExecutable(_0x2f3299,_0x506e4f,_0x14bd58);if(_0x29cb14['hash']!==_0x2f3299[_0x11f4d2(0x1dc)])throw menuError(_0x11f4d2(0x1bc),_0x11f4d2(0x1de),_0x11f4d2(0x1ed));return _0x2f3299[_0x11f4d2(0x1fe)][_0x11f4d2(0x1d5)]((_0x2f8a39,_0xfd600b)=>{const _0xae0ffc=_0x11f4d2,_0x26a4a9=_0x29cb14[_0xae0ffc(0x1bf)]['get'](_0x2f8a39['id']);if(!_0x26a4a9)throw menuError('menu_state_drift',_0xae0ffc(0x1e7)+_0x2f8a39['id']+_0xae0ffc(0x1d2));if(!sameFingerprint(_0x2f3299[_0xae0ffc(0x207)][_0xfd600b],fingerprint(_0x26a4a9)))throw menuError(_0xae0ffc(0x1bc),_0xae0ffc(0x1e7)+_0x2f8a39['id']+'\x20no\x20longer\x20matches\x20the\x20reviewed\x20target\x20facts.','Generate\x20a\x20new\x20plan\x20and\x20review\x20parent,\x20path,\x20page,\x20children,\x20resources,\x20and\x20update\x20time.');return _0x26a4a9;});}export function assertMenuDeletePlanExecutable(_0x37823f,_0x16006b,_0x57f2cb=new Date()){const _0xb104f2=a122_0x555cf6;if(_0x37823f[_0xb104f2(0x1f6)]!==_0x16006b)throw menuError(_0xb104f2(0x1ce),_0xb104f2(0x1f3)+JSON[_0xb104f2(0x1f5)](_0x37823f[_0xb104f2(0x1f6)])+',\x20current\x20app\x20is\x20'+JSON[_0xb104f2(0x1f5)](_0x16006b)+'.');const _0x4058dc=Date[_0xb104f2(0x202)](_0x37823f[_0xb104f2(0x1cd)]),_0xb6a62=Date['parse'](_0x37823f[_0xb104f2(0x1d6)]);if(!Number[_0xb104f2(0x1e6)](_0x4058dc)||!Number[_0xb104f2(0x1e6)](_0xb6a62)||_0xb6a62-_0x4058dc!==PLAN_TTL_MS)throw menuError('menu_plan_invalid',_0xb104f2(0x1c8));if(_0x4058dc>_0x57f2cb[_0xb104f2(0x1fc)]())throw menuError(_0xb104f2(0x1ca),_0xb104f2(0x1ec)+_0x37823f['createdAt']+_0xb104f2(0x1aa),'Generate\x20a\x20new\x20plan\x20on\x20a\x20machine\x20with\x20a\x20correct\x20system\x20clock.');if(_0x57f2cb[_0xb104f2(0x1fc)]()>_0xb6a62)throw menuError('menu_plan_expired',_0xb104f2(0x1ea)+_0x37823f[_0xb104f2(0x1d6)]+'.',_0xb104f2(0x1e5));}function a122_0x494d(){const _0x54e6fc=['extendHash','batch-delete-menu','updateUserId','resourcesValid','resources','Menu\x20delete\x20plan\x20target\x20facts\x20do\x20not\x20match\x20its\x20immutable\x20fingerprint.','target','28381887SJpDOi','Menu\x20delete\x20plan\x20has\x20invalid\x20timestamps.','type','menu_plan_invalid','string','visible','createdAt','menu_plan_app_mismatch','recursive','isSafeInteger','command','\x20is\x20no\x20longer\x20present\x20in\x20the\x20online\x20menu\x20tree.','parentId','test','map','expiresAt','\x20bytes.','utf8','\x20requires\x20a\x20non-empty\x20file\x20path.','boolean','1058323LzGKkl','snapshotHash','pages','Online\x20menu\x20state\x20changed\x20after\x20the\x20delete\x20plan\x20was\x20reviewed.','every','menu_plan_file_exists','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out;\x20do\x20not\x20edit\x20target\x20fields\x20manually.','resourcesHash','cascade','plan','Generate\x20and\x20review\x20a\x20new\x20plan\x20before\x20deleting.','isFinite','Planned\x20menu\x20','Cannot\x20create\x20a\x20menu\x20delete\x20plan\x20without\x20an\x20exact\x20target\x20snapshot.','number','Menu\x20delete\x20plan\x20expired\x20at\x20','path','Menu\x20delete\x20plan\x20creation\x20time\x20','Generate\x20a\x20new\x20plan\x20with\x20--dry-run\x20--plan-out\x20and\x20review\x20the\x20latest\x20cascade.','updateUserName','depth','8tgOlmi','targetFingerprint','\x20of\x20the\x20','Menu\x20delete\x20plan\x20targets\x20app\x20','3614152XTVKwY','stringify','appCode','warnings','code','toISOString','Menu\x20delete\x20plan\x20is\x20not\x20valid\x20JSON:\x20','pageType','getTime','isInteger','targets','childrenCount','length','3336192sInEyt','parse','update','deleteOrder','Refusing\x20to\x20overwrite\x20existing\x20menu\x20delete\x20plan:\x20','POST','targetFingerprints','1887267eVuyRJ','pageId','isArray','message','hex','label','2315905qmxMgG','\x20contract.','datasetCode','\x20is\x20in\x20the\x20future.','EEXIST','modelType','4ceMsqz','menu\x20delete','size','datasetId','sha256','plan-out','delete','sort','pageSchemaAffected','childrenIds','Menu\x20delete\x20plan\x20is\x20too\x20large:\x20','74728NaWoYp','updateTime','digest','version','menu_state_drift','before','extend','byId'];a122_0x494d=function(){return _0x54e6fc;};return a122_0x494d();}function fingerprint(_0x27b524){const _0x280030=a122_0x555cf6;return{'id':_0x27b524['id'],'parentId':_0x27b524['parentId'],'depth':_0x27b524['depth'],'label':_0x27b524[_0x280030(0x20d)],'path':_0x27b524[_0x280030(0x1eb)],'type':_0x27b524[_0x280030(0x1c9)],'visible':_0x27b524[_0x280030(0x1cc)],'sort':_0x27b524['sort'],'pageId':_0x27b524['pageId'],'pageType':_0x27b524['pageType'],'modelType':_0x27b524[_0x280030(0x1ac)],'datasetId':_0x27b524[_0x280030(0x1b0)],'datasetCode':_0x27b524[_0x280030(0x1a9)],'childrenIds':[..._0x27b524[_0x280030(0x1b6)]],'childrenCount':_0x27b524[_0x280030(0x1ff)],'resourcesValid':_0x27b524[_0x280030(0x1c3)],'resourcesHash':hashValue(_0x27b524['resources']),'extendHash':hashValue(_0x27b524[_0x280030(0x1be)]??null),'updateTime':_0x27b524[_0x280030(0x1b9)]};}function hashValue(_0x45975d){const _0x3f7995=a122_0x555cf6;return createHash(_0x3f7995(0x1b1))[_0x3f7995(0x203)](JSON[_0x3f7995(0x1f5)](_0x45975d))[_0x3f7995(0x1ba)](_0x3f7995(0x20c));}function sameFingerprint(_0x46049c,_0x1bd78b){const _0x311e08=a122_0x555cf6;return JSON['stringify'](_0x46049c)===JSON[_0x311e08(0x1f5)](_0x1bd78b);}function resolvePlanPath(_0x1b92f3,_0x5bd151){const _0xe330a9=a122_0x555cf6,_0x24cc0b=_0x1b92f3['trim']();if(!_0x24cc0b)throw menuError('menu_plan_invalid','--'+_0x5bd151+_0xe330a9(0x1d9));return resolve(_0x24cc0b);}function isMenuDeletePlanFile(_0x423756){const _0xc20a78=a122_0x555cf6;if(!isRecord(_0x423756))return![];return _0x423756[_0xc20a78(0x1bb)]===PLAN_VERSION&&_0x423756[_0xc20a78(0x1d1)]===PLAN_COMMAND&&typeof _0x423756[_0xc20a78(0x1f6)]===_0xc20a78(0x1cb)&&_0x423756['appCode']['length']>0x0&&typeof _0x423756[_0xc20a78(0x1cd)]==='string'&&typeof _0x423756[_0xc20a78(0x1d6)]===_0xc20a78(0x1cb)&&typeof _0x423756['snapshotHash']===_0xc20a78(0x1cb)&&/^sha256:[a-f0-9]{64}$/[_0xc20a78(0x1d4)](_0x423756[_0xc20a78(0x1dc)])&&typeof _0x423756[_0xc20a78(0x1cf)]===_0xc20a78(0x1da)&&isMenuFact(_0x423756[_0xc20a78(0x1c6)])&&isTargetFingerprint(_0x423756[_0xc20a78(0x1f1)])&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1fe)])&&_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x200)]>0x0&&_0x423756[_0xc20a78(0x1fe)]['every'](isMenuFact)&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x207)])&&_0x423756[_0xc20a78(0x207)][_0xc20a78(0x200)]===_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x200)]&&_0x423756[_0xc20a78(0x207)]['every'](isTargetFingerprint)&&Array['isArray'](_0x423756['deleteOrder'])&&_0x423756[_0xc20a78(0x204)][_0xc20a78(0x200)]===_0x423756[_0xc20a78(0x1fe)]['length']&&_0x423756[_0xc20a78(0x204)][_0xc20a78(0x1df)](isPositiveInteger)&&new Set(_0x423756[_0xc20a78(0x204)])[_0xc20a78(0x1af)]===_0x423756[_0xc20a78(0x204)]['length']&&_0x423756[_0xc20a78(0x1fe)][_0xc20a78(0x1df)]((_0x26eb19,_0xa5b758)=>_0x26eb19['id']===_0x423756[_0xc20a78(0x204)][_0xa5b758])&&_0x423756[_0xc20a78(0x1fe)][_0x423756['targets'][_0xc20a78(0x200)]-0x1]?.['id']===_0x423756[_0xc20a78(0x1c6)]['id']&&isRecord(_0x423756[_0xc20a78(0x1e3)])&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1e3)][_0xc20a78(0x1dd)])&&_0x423756['cascade'][_0xc20a78(0x1dd)][_0xc20a78(0x1df)](isPositiveInteger)&&typeof _0x423756[_0xc20a78(0x1e3)][_0xc20a78(0x1b5)]===_0xc20a78(0x1da)&&Array[_0xc20a78(0x20a)](_0x423756[_0xc20a78(0x1f7)])&&_0x423756[_0xc20a78(0x1f7)]['every'](_0x50f761=>typeof _0x50f761===_0xc20a78(0x1cb));}function isMenuFact(_0x3ebeb2){const _0x3d0fa9=a122_0x555cf6;if(!isRecord(_0x3ebeb2))return![];return isPositiveInteger(_0x3ebeb2['id'])&&(_0x3ebeb2[_0x3d0fa9(0x1d3)]===null||isPositiveInteger(_0x3ebeb2[_0x3d0fa9(0x1d3)]))&&Number[_0x3d0fa9(0x1fd)](_0x3ebeb2['depth'])&&_0x3ebeb2[_0x3d0fa9(0x1ef)]>=0x0&&typeof _0x3ebeb2[_0x3d0fa9(0x20d)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1eb)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1c9)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1cc)]===null||typeof _0x3ebeb2['visible']===_0x3d0fa9(0x1da))&&(_0x3ebeb2['sort']===null||Number['isInteger'](_0x3ebeb2[_0x3d0fa9(0x1b4)]))&&Array[_0x3d0fa9(0x20a)](_0x3ebeb2[_0x3d0fa9(0x1c4)])&&_0x3ebeb2[_0x3d0fa9(0x1c4)][_0x3d0fa9(0x1df)](_0x99cd78=>typeof _0x99cd78===_0x3d0fa9(0x1cb))&&typeof _0x3ebeb2[_0x3d0fa9(0x1c3)]===_0x3d0fa9(0x1da)&&Array[_0x3d0fa9(0x20a)](_0x3ebeb2[_0x3d0fa9(0x1b6)])&&_0x3ebeb2[_0x3d0fa9(0x1b6)]['every'](isPositiveInteger)&&Number[_0x3d0fa9(0x1fd)](_0x3ebeb2[_0x3d0fa9(0x1ff)])&&_0x3ebeb2[_0x3d0fa9(0x1ff)]>=0x0&&(_0x3ebeb2[_0x3d0fa9(0x209)]===null||isPositiveInteger(_0x3ebeb2['pageId']))&&typeof _0x3ebeb2[_0x3d0fa9(0x1fb)]==='string'&&typeof _0x3ebeb2[_0x3d0fa9(0x1ac)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1b0)]===null||isPositiveInteger(_0x3ebeb2[_0x3d0fa9(0x1b0)]))&&typeof _0x3ebeb2[_0x3d0fa9(0x1a9)]===_0x3d0fa9(0x1cb)&&(_0x3ebeb2[_0x3d0fa9(0x1c2)]===null||typeof _0x3ebeb2['updateUserId']===_0x3d0fa9(0x1cb))&&(_0x3ebeb2[_0x3d0fa9(0x1ee)]===null||typeof _0x3ebeb2[_0x3d0fa9(0x1ee)]===_0x3d0fa9(0x1cb))&&(_0x3ebeb2[_0x3d0fa9(0x1b9)]===null||typeof _0x3ebeb2[_0x3d0fa9(0x1b9)]===_0x3d0fa9(0x1cb)||typeof _0x3ebeb2[_0x3d0fa9(0x1b9)]===_0x3d0fa9(0x1e9))&&(_0x3ebeb2[_0x3d0fa9(0x1be)]===undefined||_0x3ebeb2[_0x3d0fa9(0x1be)]===null||isRecord(_0x3ebeb2[_0x3d0fa9(0x1be)]));}function isTargetFingerprint(_0x3aae9f){const _0x1c4249=a122_0x555cf6;if(!isRecord(_0x3aae9f))return![];return isPositiveInteger(_0x3aae9f['id'])&&(_0x3aae9f[_0x1c4249(0x1d3)]===null||isPositiveInteger(_0x3aae9f[_0x1c4249(0x1d3)]))&&Number[_0x1c4249(0x1fd)](_0x3aae9f[_0x1c4249(0x1ef)])&&_0x3aae9f[_0x1c4249(0x1ef)]>=0x0&&typeof _0x3aae9f[_0x1c4249(0x20d)]===_0x1c4249(0x1cb)&&typeof _0x3aae9f[_0x1c4249(0x1eb)]==='string'&&typeof _0x3aae9f[_0x1c4249(0x1c9)]===_0x1c4249(0x1cb)&&(_0x3aae9f[_0x1c4249(0x1cc)]===null||typeof _0x3aae9f[_0x1c4249(0x1cc)]===_0x1c4249(0x1da))&&(_0x3aae9f[_0x1c4249(0x1b4)]===null||Number[_0x1c4249(0x1fd)](_0x3aae9f[_0x1c4249(0x1b4)]))&&(_0x3aae9f[_0x1c4249(0x209)]===null||isPositiveInteger(_0x3aae9f['pageId']))&&typeof _0x3aae9f[_0x1c4249(0x1fb)]===_0x1c4249(0x1cb)&&typeof _0x3aae9f[_0x1c4249(0x1ac)]===_0x1c4249(0x1cb)&&(_0x3aae9f['datasetId']===null||isPositiveInteger(_0x3aae9f[_0x1c4249(0x1b0)]))&&typeof _0x3aae9f[_0x1c4249(0x1a9)]==='string'&&Array[_0x1c4249(0x20a)](_0x3aae9f[_0x1c4249(0x1b6)])&&_0x3aae9f[_0x1c4249(0x1b6)][_0x1c4249(0x1df)](isPositiveInteger)&&Number['isInteger'](_0x3aae9f[_0x1c4249(0x1ff)])&&_0x3aae9f[_0x1c4249(0x1ff)]>=0x0&&typeof _0x3aae9f[_0x1c4249(0x1c3)]===_0x1c4249(0x1da)&&typeof _0x3aae9f[_0x1c4249(0x1e2)]===_0x1c4249(0x1cb)&&/^[a-f0-9]{64}$/[_0x1c4249(0x1d4)](_0x3aae9f[_0x1c4249(0x1e2)])&&typeof _0x3aae9f[_0x1c4249(0x1c0)]===_0x1c4249(0x1cb)&&/^[a-f0-9]{64}$/[_0x1c4249(0x1d4)](_0x3aae9f['extendHash'])&&(_0x3aae9f[_0x1c4249(0x1b9)]===null||typeof _0x3aae9f[_0x1c4249(0x1b9)]===_0x1c4249(0x1cb)||typeof _0x3aae9f[_0x1c4249(0x1b9)]==='number');}function isRecord(_0x26e121){const _0x54050f=a122_0x555cf6;return typeof _0x26e121==='object'&&_0x26e121!==null&&!Array[_0x54050f(0x20a)](_0x26e121);}function isPositiveInteger(_0x350ce4){const _0x1693aa=a122_0x555cf6;return Number[_0x1693aa(0x1d0)](_0x350ce4)&&Number(_0x350ce4)>0x0;}function errorMessage(_0x25a1b3){const _0x5f425a=a122_0x555cf6;return _0x25a1b3 instanceof Error?_0x25a1b3[_0x5f425a(0x20b)]:String(_0x25a1b3);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x7a6aaf,_0x5dc174){const _0x2af5a8=a123_0x56d7,_0x32504c=_0x7a6aaf();while(!![]){try{const _0x462200=parseInt(_0x2af5a8(0x1e9))/0x1+parseInt(_0x2af5a8(0x1f9))/0x2+parseInt(_0x2af5a8(0x218))/0x3*(parseInt(_0x2af5a8(0x1f2))/0x4)+-parseInt(_0x2af5a8(0x216))/0x5+parseInt(_0x2af5a8(0x206))/0x6*(parseInt(_0x2af5a8(0x215))/0x7)+-parseInt(_0x2af5a8(0x214))/0x8+-parseInt(_0x2af5a8(0x1f3))/0x9*(parseInt(_0x2af5a8(0x1ec))/0xa);if(_0x462200===_0x5dc174)break;else _0x32504c['push'](_0x32504c['shift']());}catch(_0x3cf675){_0x32504c['push'](_0x32504c['shift']());}}}(a123_0x590d,0x5d40f));import{createHash}from'node:crypto';import{getMenuTree}from'../../../core/api-client.js';export async function fetchMenuSnapshot(_0x4bff5e,_0x263d73,_0x539373={}){const _0x39cd58=await getMenuTree(_0x4bff5e,_0x263d73);return buildMenuSnapshot(Array['isArray'](_0x39cd58)?_0x39cd58:[],_0x539373);}export function buildMenuSnapshot(_0x3af9d6,_0x37f9af={}){const _0xc3b57b=a123_0x56d7,_0x290333=flattenMenuItems(_0x3af9d6,{'verbose':_0x37f9af[_0xc3b57b(0x1ea)]===!![],'parentId':null,'depth':0x0}),_0x327b5a=new Map(_0x290333[_0xc3b57b(0x1f1)](_0x8082e3=>[_0x8082e3['id'],_0x8082e3])),_0x3495b6=createHash(_0xc3b57b(0x217))[_0xc3b57b(0x1ed)](JSON[_0xc3b57b(0x210)](_0x290333[_0xc3b57b(0x1f1)](toHashInput)))[_0xc3b57b(0x20d)]('hex');return{'total':_0x290333[_0xc3b57b(0x1ef)],'hash':_0xc3b57b(0x211)+_0x3495b6,'menus':_0x290333,'byId':_0x327b5a};}export function toProcessedMenuItem(_0x1ab451){const _0x3988bc=a123_0x56d7;return{'id':_0x1ab451['id'],'path':_0x1ab451[_0x3988bc(0x213)],'label':_0x1ab451[_0x3988bc(0x20f)],'resources':[..._0x1ab451[_0x3988bc(0x1f7)]],'extend':_0x1ab451[_0x3988bc(0x209)]??null};}export function toMenuListItem(_0x52ff27){const {modelType:_0x692f77,datasetId:_0x4598d9,datasetCode:_0x17b75b,resourcesValid:_0x1f7913,..._0x47967c}=_0x52ff27;return _0x47967c;}export function getChildren(_0x38a651,_0x224128){return _0x38a651['menus']['filter'](_0x4ff883=>_0x4ff883['parentId']===_0x224128);}function a123_0x56d7(_0x1fc7d9,_0x3621ba){_0x1fc7d9=_0x1fc7d9-0x1e9;const _0x590dc1=a123_0x590d();let _0x56d76a=_0x590dc1[_0x1fc7d9];return _0x56d76a;}function flattenMenuItems(_0x1949d1,_0x2767be){const _0x2ba988=a123_0x56d7,_0x2a9848=sortMenuItems(_0x1949d1),_0x386c72=[];for(const _0x22ff0a of _0x2a9848){const _0x28833e=sortMenuItems(Array[_0x2ba988(0x1fa)](_0x22ff0a[_0x2ba988(0x1fb)])?_0x22ff0a['children']:[]);_0x386c72['push'](toMenuFact(_0x22ff0a,_0x28833e,_0x2767be)),_0x28833e['length']>0x0&&_0x386c72[_0x2ba988(0x201)](...flattenMenuItems(_0x28833e,{'verbose':_0x2767be['verbose'],'parentId':_0x22ff0a['id'],'depth':_0x2767be['depth']+0x1}));}return _0x386c72;}function sortMenuItems(_0x312e07){const _0xcd3fa8=a123_0x56d7;return _0x312e07[_0xcd3fa8(0x1f1)]((_0x223c3b,_0x5ed756)=>({'item':_0x223c3b,'index':_0x5ed756}))[_0xcd3fa8(0x1f5)]((_0x1724e4,_0x1e6b99)=>{const _0xd2dd13=_0xcd3fa8,_0x4d6029=normalizeSort(_0x1724e4[_0xd2dd13(0x20b)][_0xd2dd13(0x1f5)]),_0x1f30d3=normalizeSort(_0x1e6b99['item']['sort']);if(_0x4d6029!==_0x1f30d3)return _0x4d6029-_0x1f30d3;return _0x1724e4[_0xd2dd13(0x203)]-_0x1e6b99[_0xd2dd13(0x203)];})[_0xcd3fa8(0x1f1)](({item:_0x19a110})=>_0x19a110);}function toMenuFact(_0x3284d0,_0xeb0d88,_0x533878){const _0x432924=a123_0x56d7,_0x3e3e9e=normalizeResourceValue(_0x3284d0[_0x432924(0x209)]?.[_0x432924(0x1f7)]),_0x3ca3fd={'id':_0x3284d0['id'],'parentId':_0x533878[_0x432924(0x1fc)],'depth':_0x533878[_0x432924(0x1ff)],'label':normalizeString(_0x3284d0['label']),'path':normalizeString(_0x3284d0['path']),'url':normalizeString(_0x3284d0[_0x432924(0x1f8)]),'type':normalizeString(_0x3284d0[_0x432924(0x204)]),'visible':typeof _0x3284d0['visible']===_0x432924(0x1f0)?_0x3284d0[_0x432924(0x1ee)]:null,'sort':typeof _0x3284d0['sort']===_0x432924(0x1f6)&&Number[_0x432924(0x212)](_0x3284d0[_0x432924(0x1f5)])?_0x3284d0[_0x432924(0x1f5)]:null,'resources':_0x3e3e9e[_0x432924(0x200)],'resourcesValid':_0x3e3e9e[_0x432924(0x207)],'childrenIds':_0xeb0d88[_0x432924(0x1f1)](_0x33e09f=>_0x33e09f['id']),'childrenCount':_0xeb0d88[_0x432924(0x1ef)],'pageId':normalizeNullableNumber(_0x3284d0[_0x432924(0x202)]),'pageType':normalizeString(_0x3284d0[_0x432924(0x219)]),'modelType':normalizeString(_0x3284d0[_0x432924(0x1f4)]),'datasetId':normalizeNullableNumber(_0x3284d0[_0x432924(0x1eb)]),'datasetCode':normalizeString(_0x3284d0[_0x432924(0x205)]),'updateUserId':normalizeNullableString(_0x3284d0['updateUserId']),'updateUserName':normalizeNullableString(_0x3284d0[_0x432924(0x20e)]),'updateTime':normalizeNullableTimestamp(_0x3284d0['updateTime'])};return _0x533878[_0x432924(0x1ea)]&&(_0x3ca3fd['extend']=_0x3284d0[_0x432924(0x209)]??null),_0x3ca3fd;}function toHashInput(_0x28a4fd){const _0x4df6c6=a123_0x56d7;return{'id':_0x28a4fd['id'],'parentId':_0x28a4fd['parentId'],'label':_0x28a4fd['label'],'path':_0x28a4fd[_0x4df6c6(0x213)],'url':_0x28a4fd['url'],'type':_0x28a4fd['type'],'visible':_0x28a4fd[_0x4df6c6(0x1ee)],'sort':_0x28a4fd[_0x4df6c6(0x1f5)],'resources':_0x28a4fd[_0x4df6c6(0x1f7)],'resourcesValid':_0x28a4fd[_0x4df6c6(0x20c)],'childrenIds':_0x28a4fd['childrenIds'],'pageId':_0x28a4fd[_0x4df6c6(0x202)],'pageType':_0x28a4fd[_0x4df6c6(0x219)],'modelType':_0x28a4fd[_0x4df6c6(0x1f4)],'datasetId':_0x28a4fd[_0x4df6c6(0x1eb)],'datasetCode':_0x28a4fd[_0x4df6c6(0x205)],'updateUserId':_0x28a4fd['updateUserId'],'updateUserName':_0x28a4fd[_0x4df6c6(0x20e)],'updateTime':_0x28a4fd[_0x4df6c6(0x20a)]};}function normalizeSort(_0x372da8){const _0x23f8e3=a123_0x56d7;return typeof _0x372da8===_0x23f8e3(0x1f6)&&Number[_0x23f8e3(0x212)](_0x372da8)?_0x372da8:Number[_0x23f8e3(0x1fe)];}function normalizeString(_0x1480f0){const _0x5f3c93=a123_0x56d7;return typeof _0x1480f0===_0x5f3c93(0x1fd)?_0x1480f0:'';}function a123_0x590d(){const _0x592397=['isArray','children','parentId','string','POSITIVE_INFINITY','depth','values','push','pageId','index','type','datasetCode','1752uMBLFM','valid','parse','extend','updateTime','item','resourcesValid','digest','updateUserName','label','stringify','sha256:','isFinite','path','3846304cHqrUo','2240vowuYI','2317905WlaLyx','sha256','6894lMKFnU','pageType','252834DJdPgR','verbose','datasetId','10kdXSNJ','update','visible','length','boolean','map','1228CbQIzY','1744191RvKNnP','modelType','sort','number','resources','url','936750bDkVGp'];a123_0x590d=function(){return _0x592397;};return a123_0x590d();}function normalizeNullableNumber(_0xe49581){const _0x306990=a123_0x56d7;return typeof _0xe49581===_0x306990(0x1f6)&&Number[_0x306990(0x212)](_0xe49581)?_0xe49581:null;}function normalizeNullableString(_0x4c496e){const _0x3c4e1f=a123_0x56d7;return typeof _0x4c496e===_0x3c4e1f(0x1fd)&&_0x4c496e[_0x3c4e1f(0x1ef)]>0x0?_0x4c496e:null;}function normalizeNullableTimestamp(_0x4853bb){const _0x8cfbca=a123_0x56d7;if(typeof _0x4853bb===_0x8cfbca(0x1fd))return _0x4853bb[_0x8cfbca(0x1ef)]>0x0?_0x4853bb:null;return typeof _0x4853bb===_0x8cfbca(0x1f6)&&Number['isFinite'](_0x4853bb)?_0x4853bb:null;}export function normalizeResources(_0x3ce118){const _0xd1a5c3=a123_0x56d7;return normalizeResourceValue(_0x3ce118)[_0xd1a5c3(0x200)];}function normalizeResourceValue(_0x4f6ac3){const _0x28d75b=a123_0x56d7;if(_0x4f6ac3==null)return{'values':[],'valid':!![]};if(Array[_0x28d75b(0x1fa)](_0x4f6ac3))return{'values':_0x4f6ac3['map'](String),'valid':!![]};if(typeof _0x4f6ac3!==_0x28d75b(0x1fd))return{'values':[],'valid':![]};try{const _0x243fcc=JSON[_0x28d75b(0x208)](_0x4f6ac3);return Array[_0x28d75b(0x1fa)](_0x243fcc)?{'values':_0x243fcc[_0x28d75b(0x1f1)](String),'valid':!![]}:{'values':[],'valid':![]};}catch{return{'values':[],'valid':![]};}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a124_0x9203(){var _0x1a29ce=['3578478DpdzXF','1341776eowWgx','807678VsvchH','1cAncnL','5547584FgtFbP','3870153FAUold','300130oXJBwN','529922smFGDY'];a124_0x9203=function(){return _0x1a29ce;};return a124_0x9203();}(function(_0x3e8122,_0x440e5b){var _0x9ff471=a124_0xca8a,_0x55b8e5=_0x3e8122();while(!![]){try{var _0x200473=parseInt(_0x9ff471(0x1f7))/0x1*(-parseInt(_0x9ff471(0x1f3))/0x2)+-parseInt(_0x9ff471(0x1f6))/0x3+parseInt(_0x9ff471(0x1f5))/0x4+-parseInt(_0x9ff471(0x1f2))/0x5+parseInt(_0x9ff471(0x1f4))/0x6+-parseInt(_0x9ff471(0x1f1))/0x7+parseInt(_0x9ff471(0x1f0))/0x8;if(_0x200473===_0x440e5b)break;else _0x55b8e5['push'](_0x55b8e5['shift']());}catch(_0x503673){_0x55b8e5['push'](_0x55b8e5['shift']());}}}(a124_0x9203,0x74c05));export*from'../../../commands/menu/shared/types.js';export*from'../../../commands/menu/shared/logic.js';export*from'../../../commands/menu/shared/compare-table.js';function a124_0xca8a(_0x24961e,_0x11316f){_0x24961e=_0x24961e-0x1f0;var _0x920324=a124_0x9203();var _0xca8a2d=_0x920324[_0x24961e];return _0xca8a2d;}export*from'../../../commands/menu/shared/inquirer.js';export*from'../../../commands/menu/shared/valid-url.js';export*from'../../../commands/menu/shared/local-pages.js';export*from'../../../commands/menu/shared/service.js';export*from'../../../commands/menu/shared/sync-core.js';export*from'../../../commands/menu/shared/update-core.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x31846b,_0x3c832f){const _0x2439e7=a125_0x4d9f,_0x4c81ff=_0x31846b();while(!![]){try{const _0x34ecaa=parseInt(_0x2439e7(0x104))/0x1*(-parseInt(_0x2439e7(0x101))/0x2)+parseInt(_0x2439e7(0x10a))/0x3+parseInt(_0x2439e7(0xfb))/0x4*(parseInt(_0x2439e7(0xff))/0x5)+-parseInt(_0x2439e7(0x103))/0x6+-parseInt(_0x2439e7(0x113))/0x7+-parseInt(_0x2439e7(0x11c))/0x8+parseInt(_0x2439e7(0x11b))/0x9;if(_0x34ecaa===_0x3c832f)break;else _0x4c81ff['push'](_0x4c81ff['shift']());}catch(_0x41563d){_0x4c81ff['push'](_0x4c81ff['shift']());}}}(a125_0x2646,0xa1777));import a125_0x539d4c from'chalk';import{checkbox,input,confirm}from'@inquirer/prompts';import a125_0x35146f from'ora';import{isUrlReachable}from'../../../commands/menu/shared/valid-url.js';import{CliErrors}from'../../../errors.js';function onCancel(_0xb3342a){return _0xb3342a['catch'](_0x5182f4=>{const _0x2ea22a=a125_0x4d9f;if(_0x5182f4?.[_0x2ea22a(0x117)]==='ExitPromptError')throw CliErrors[_0x2ea22a(0x118)]('Cancelled.');throw _0x5182f4;});}export function startSpinner(_0x4c1bb2){const _0x1b0ce3=a125_0x4d9f;return a125_0x35146f({'text':_0x4c1bb2,'color':_0x1b0ce3(0xf0)})[_0x1b0ce3(0x115)]();}export function stopSpinner(_0x2a3642,_0x3f066d,_0x5b04ed){const _0x17b9a1=a125_0x4d9f;_0x5b04ed?_0x2a3642[_0x17b9a1(0x114)](_0x3f066d):_0x2a3642[_0x17b9a1(0x108)](_0x3f066d);}export async function askConfirm(_0x55ea05){return onCancel(confirm({'message':_0x55ea05,'theme':{'prefix':''}}));}export async function askJsUrl(_0x39dbd2){const _0x1da46c=a125_0x4d9f;while(!![]){const _0x2f09ff=await onCancel(input({'message':_0x1da46c(0x106),'default':_0x39dbd2,'theme':{'prefix':''}}));if(_0x2f09ff[_0x1da46c(0xfd)]()==='')throw CliErrors['cancelled'](_0x1da46c(0xef));if(!/^https:\/\/.+\.js(\?.*)?$/[_0x1da46c(0xfc)](_0x2f09ff[_0x1da46c(0xfd)]())){console[_0x1da46c(0xf9)](a125_0x539d4c[_0x1da46c(0x111)](_0x1da46c(0xf6)));continue;}const _0x16662b=startSpinner('\x20\x20Checking\x20JS\x20URL\x20reachability...');try{const _0x17d3b4=await isUrlReachable(_0x2f09ff['trim']());stopSpinner(_0x16662b,_0x1da46c(0x10b),_0x17d3b4);if(!_0x17d3b4){console[_0x1da46c(0xf9)](a125_0x539d4c['red'](_0x1da46c(0xf8)));continue;}return _0x2f09ff[_0x1da46c(0xfd)]();}catch(_0x2b55f1){stopSpinner(_0x16662b,_0x1da46c(0x100),![]);throw _0x2b55f1;}}}export async function askCssUrl(_0x30e6b9){const _0x1cd3eb=a125_0x4d9f;while(!![]){const _0x2f6a20=await onCancel(input({'message':_0x1cd3eb(0x102),'default':_0x30e6b9,'theme':{'prefix':''}}));if(_0x2f6a20['trim']()==='')throw CliErrors[_0x1cd3eb(0x118)](_0x1cd3eb(0xef));if(!/^https:\/\/.+\.css(\?.*)?$/[_0x1cd3eb(0xfc)](_0x2f6a20['trim']())){console[_0x1cd3eb(0xf9)](a125_0x539d4c[_0x1cd3eb(0x111)](_0x1cd3eb(0x11a)));continue;}const _0x3e22dd=startSpinner(_0x1cd3eb(0xf4));try{const _0x5d823c=await isUrlReachable(_0x2f6a20['trim']());stopSpinner(_0x3e22dd,_0x1cd3eb(0x119),_0x5d823c);if(!_0x5d823c){console['error'](a125_0x539d4c['red'](_0x1cd3eb(0xfa)));continue;}return _0x2f6a20[_0x1cd3eb(0xfd)]();}catch(_0x56b550){stopSpinner(_0x3e22dd,_0x1cd3eb(0x110),![]);throw _0x56b550;}}}export async function selectPages(_0x8d888d,_0x1fb529){const _0x3a1bd8=a125_0x4d9f,_0x2dbd06=_0x8d888d[_0x3a1bd8(0xf2)](_0x346964=>{const _0x51f37d=_0x3a1bd8,_0x1afe05=_0x1fb529[_0x51f37d(0x105)](_0x346964['path']);return{'name':_0x346964[_0x51f37d(0x107)]+'\x20\x20'+a125_0x539d4c[_0x51f37d(0x11d)](_0x346964['path'])+'\x20\x20'+(_0x1afe05?a125_0x539d4c[_0x51f37d(0x11d)](_0x51f37d(0xf7)):a125_0x539d4c[_0x51f37d(0xf5)](_0x51f37d(0xfe))),'value':_0x346964[_0x51f37d(0x10f)],'checked':!_0x1afe05,'disabled':_0x1afe05};});if(_0x2dbd06[_0x3a1bd8(0xf1)]===0x0)throw new Error(_0x3a1bd8(0xf3));const _0x376ff3=await onCancel(checkbox({'message':'\x20\x20Select\x20menus\x20to\x20sync\x20(space\x20to\x20toggle,\x20a=all,\x20i=invert):','choices':_0x2dbd06,'loop':![],'theme':{'prefix':''}}));if(_0x376ff3[_0x3a1bd8(0xf1)]===0x0)throw new Error(_0x3a1bd8(0x10d));return _0x8d888d[_0x3a1bd8(0x116)](_0x494d39=>_0x376ff3[_0x3a1bd8(0x109)](_0x494d39[_0x3a1bd8(0x10f)]));}export function isInteractive(){const _0x3479da=a125_0x4d9f;return process[_0x3479da(0x10e)][_0x3479da(0x112)]===!![];}function a125_0x4d9f(_0xdf7a6,_0x394420){_0xdf7a6=_0xdf7a6-0xef;const _0x26461d=a125_0x2646();let _0x4d9f3b=_0x26461d[_0xdf7a6];return _0x4d9f3b;}function a125_0x2646(){const _0x39c9ae=['name','cancelled','CSS\x20URL\x20checked','\x20\x20✗\x20CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','27155916HNxFjZ','7707856YxqseP','gray','Use\x20--yes\x20to\x20run\x20in\x20non-interactive\x20mode,\x20or\x20pipe\x20data\x20via\x20--params.','Cancelled.','cyan','length','map','No\x20local\x20pages\x20found.','\x20\x20Checking\x20CSS\x20URL\x20reachability...','green','\x20\x20✗\x20JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','[already\x20on\x20platform]','\x20\x20✗\x20JS\x20URL\x20is\x20unreachable','error','\x20\x20✗\x20CSS\x20URL\x20is\x20unreachable','229032YfCdCy','test','trim','[new]','35HYHCLp','JS\x20URL\x20check\x20failed','824KlCYff','\x20\x20CSS\x20URL:','3017058NsWERW','911AxvhEb','has','\x20\x20JS\x20URL:','label','fail','includes','989109DXVfNU','JS\x20URL\x20checked','This\x20command\x20requires\x20an\x20interactive\x20terminal.\x20','No\x20menus\x20selected.','stdin','path','CSS\x20URL\x20check\x20failed','red','isTTY','8713663Vyyfmn','succeed','start','filter'];a125_0x2646=function(){return _0x39c9ae;};return a125_0x2646();}export function requireInteractive(){const _0x2a6936=a125_0x4d9f;if(!isInteractive())throw new Error(_0x2a6936(0x10c)+_0x2a6936(0x11e));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a126_0x1800a2=a126_0x2ca2;(function(_0x3cffef,_0x169856){const _0x5bce31=a126_0x2ca2,_0x482136=_0x3cffef();while(!![]){try{const _0x4596df=-parseInt(_0x5bce31(0x1d0))/0x1+-parseInt(_0x5bce31(0x1d7))/0x2*(-parseInt(_0x5bce31(0x1da))/0x3)+parseInt(_0x5bce31(0x1e0))/0x4*(-parseInt(_0x5bce31(0x1d9))/0x5)+parseInt(_0x5bce31(0x1eb))/0x6*(parseInt(_0x5bce31(0x1e2))/0x7)+parseInt(_0x5bce31(0x1ec))/0x8+parseInt(_0x5bce31(0x1e9))/0x9*(parseInt(_0x5bce31(0x1df))/0xa)+parseInt(_0x5bce31(0x1e6))/0xb*(-parseInt(_0x5bce31(0x1e8))/0xc);if(_0x4596df===_0x169856)break;else _0x482136['push'](_0x482136['shift']());}catch(_0x2a3f35){_0x482136['push'](_0x482136['shift']());}}}(a126_0x190a,0x5df09));function a126_0x190a(){const _0x1554b0=['9VSKNpn','replaceAll','forEach','replace','.tsx','10lfEATo','24xwPttX','join','3933377yWUjjy','filter','match','cwd','8024819VdGjbv','src/pages','12fQxIGH','3454479mtACZI','concat','6AEdkDD','5239824NOVauM','662208lrMUIw','trim','slice','endsWith','utf-8','isDirectory','path','381664pDCuwg','split','330585WSUZxM'];a126_0x190a=function(){return _0x1554b0;};return a126_0x190a();}import{readdirSync,statSync,readFileSync}from'fs';function a126_0x2ca2(_0x11c24f,_0x44699b){_0x11c24f=_0x11c24f-0x1d0;const _0x190a20=a126_0x190a();let _0x2ca243=_0x190a20[_0x11c24f];return _0x2ca243;}import{join,relative,resolve,sep}from'path';const pagesDir=resolve(process[a126_0x1800a2(0x1e5)](),a126_0x1800a2(0x1e7));export function extractTitleFromComment(_0x182c6d){const _0xfd2dce=a126_0x1800a2;try{const _0x210fb9=readFileSync(_0x182c6d,_0xfd2dce(0x1d4)),_0x19fefc=_0x210fb9[_0xfd2dce(0x1e4)](/^\s*\/\*\*?([\s\S]*?)\*\//);if(_0x19fefc&&_0x19fefc[0x1]){const _0x33a90c=_0x19fefc[0x1],_0x342216=_0x33a90c[_0xfd2dce(0x1e4)](/^\s*\*?\s*title\s*:\s*(.+)/im);if(_0x342216&&_0x342216[0x1])return _0x342216[0x1][_0xfd2dce(0x1d1)]();}let _0x5b412=null;const _0x591afb=_0x210fb9[_0xfd2dce(0x1e4)](/export\s+default\s+([A-Z][a-zA-Z0-9]*)/);_0x591afb&&_0x591afb[0x1]&&(_0x5b412=_0x591afb[0x1]);if(!_0x5b412){const _0x103222=_0x210fb9[_0xfd2dce(0x1e4)](/export\s+default\s+function\s+([A-Z][a-zA-Z0-9]*)/);_0x103222&&_0x103222[0x1]&&(_0x5b412=_0x103222[0x1]);}if(_0x5b412){const _0x5446ea=new RegExp('\x5cb'+_0x5b412+'\x5c.displayName\x5cs*=\x5cs*[\x22\x27]([^\x22\x27]+)[\x22\x27]'),_0x1ebcd8=_0x210fb9[_0xfd2dce(0x1e4)](_0x5446ea);if(_0x1ebcd8&&_0x1ebcd8[0x1])return _0x1ebcd8[0x1];return _0x5b412;}return null;}catch(_0x3ca29d){return null;}}export function getLocalPages(_0x30aedb=pagesDir,_0xb7aed2=pagesDir){const _0x169f0c=a126_0x1800a2;let _0x64641f=[];const _0xc7f5de=readdirSync(_0x30aedb);return _0xc7f5de[_0x169f0c(0x1dc)](_0x1bb729=>{const _0x43633c=_0x169f0c,_0x3d88d9=join(_0x30aedb,_0x1bb729),_0xbf3409=statSync(_0x3d88d9);if(_0xbf3409&&_0xbf3409[_0x43633c(0x1d5)]())_0x64641f=_0x64641f[_0x43633c(0x1ea)](getLocalPages(_0x3d88d9,_0xb7aed2));else{if(_0x1bb729[_0x43633c(0x1d3)](_0x43633c(0x1de))){let _0x4c1381=relative(_0xb7aed2,_0x3d88d9);_0x4c1381[_0x43633c(0x1d3)]('index.tsx')?_0x4c1381=_0x4c1381[_0x43633c(0x1dd)](/index\.tsx$/,''):_0x4c1381=_0x4c1381[_0x43633c(0x1dd)](/\.tsx$/,'');_0x4c1381[_0x43633c(0x1d3)](sep)&&(_0x4c1381=_0x4c1381[_0x43633c(0x1d2)](0x0,-0x1));const _0x17a805=_0x4c1381[_0x43633c(0x1d8)](sep)[_0x43633c(0x1e1)]('/'),_0x1b4fd9=extractTitleFromComment(_0x3d88d9),_0x15922d=_0x1b4fd9||_0x17a805;_0x64641f['push']({'path':_0x17a805[_0x43633c(0x1db)]('$',':'),'label':_0x15922d});}}}),_0x64641f[_0x169f0c(0x1e3)](_0x4bec87=>_0x4bec87[_0x169f0c(0x1d6)]!=='');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28f682,_0x564e52){const _0x3a082c=a127_0x3c55,_0x25d522=_0x28f682();while(!![]){try{const _0x15a0ef=parseInt(_0x3a082c(0x7f))/0x1*(-parseInt(_0x3a082c(0x85))/0x2)+-parseInt(_0x3a082c(0x81))/0x3*(parseInt(_0x3a082c(0x88))/0x4)+parseInt(_0x3a082c(0x83))/0x5*(parseInt(_0x3a082c(0x89))/0x6)+parseInt(_0x3a082c(0x80))/0x7*(parseInt(_0x3a082c(0x86))/0x8)+-parseInt(_0x3a082c(0x7c))/0x9+-parseInt(_0x3a082c(0x78))/0xa+parseInt(_0x3a082c(0x84))/0xb;if(_0x15a0ef===_0x564e52)break;else _0x25d522['push'](_0x25d522['shift']());}catch(_0x52fdbc){_0x25d522['push'](_0x25d522['shift']());}}}(a127_0xb4cb,0xf253b));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';export function validateJsUrl(_0x59f413){const _0x398245=a127_0x3c55,_0x5de23e=[];return!isValidJsHttpsUrl(_0x59f413)&&_0x5de23e[_0x398245(0x7b)]('JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL'),{'ok':_0x5de23e[_0x398245(0x7d)]===0x0,'errors':_0x5de23e};}function a127_0x3c55(_0x59b232,_0x212179){_0x59b232=_0x59b232-0x74;const _0xb4cb94=a127_0xb4cb();let _0x3c55de=_0xb4cb94[_0x59b232];return _0x3c55de;}export function validateCssUrl(_0x24a573){const _0x21459a=a127_0x3c55,_0x5aaaa7=[];return!isValidCssHttpsUrl(_0x24a573)&&_0x5aaaa7[_0x21459a(0x7b)](_0x21459a(0x79)),{'ok':_0x5aaaa7[_0x21459a(0x7d)]===0x0,'errors':_0x5aaaa7};}export async function validateJsUrlReachable(_0x118d2e){const _0x10cd01=a127_0x3c55,_0x54de99=validateJsUrl(_0x118d2e);if(!_0x54de99['ok'])return _0x54de99;const _0x231666=await isUrlReachable(_0x118d2e);if(!_0x231666)_0x54de99[_0x10cd01(0x75)][_0x10cd01(0x7b)](_0x10cd01(0x87));return{'ok':_0x54de99[_0x10cd01(0x75)][_0x10cd01(0x7d)]===0x0,'errors':_0x54de99[_0x10cd01(0x75)]};}export async function validateCssUrlReachable(_0x42be7a){const _0x41bd82=a127_0x3c55,_0x471888=validateCssUrl(_0x42be7a);if(!_0x471888['ok'])return _0x471888;const _0x221608=await isUrlReachable(_0x42be7a);if(!_0x221608)_0x471888[_0x41bd82(0x75)][_0x41bd82(0x7b)]('CSS\x20URL\x20is\x20unreachable');return{'ok':_0x471888[_0x41bd82(0x75)][_0x41bd82(0x7d)]===0x0,'errors':_0x471888[_0x41bd82(0x75)]};}export function buildCompareRows(_0x4ed436,_0x26d132){const _0x582417=a127_0x3c55;return _0x4ed436[_0x582417(0x76)](_0x5f0352=>({'label':_0x5f0352['label'],'path':_0x5f0352[_0x582417(0x82)],'local':!![],'online':_0x26d132[_0x582417(0x77)](_0x5f0352[_0x582417(0x82)])}));}export async function doCreateMenus(_0x295f97,_0x1f98ff,_0x5af281,_0x1ad2ae){const _0x1f945d=a127_0x3c55,_0x11d6cd=await createMenus(_0x295f97,_0x1f98ff,_0x5af281,_0x1ad2ae);return{'created':_0x11d6cd['length'],'failed':0x0,'labels':_0x5af281['map'](_0x204ca7=>_0x204ca7[_0x1f945d(0x7e)]),'menus':_0x11d6cd};}export function filterMenusWithResources(_0x3710d3){const _0x4cb816=a127_0x3c55;return _0x3710d3[_0x4cb816(0x7a)](_0x5502ca=>_0x5502ca[_0x4cb816(0x74)][_0x4cb816(0x7d)]>0x0);}export async function fetchMenuData(_0x186a09,_0xb1227e){const _0x15ac89=a127_0x3c55,_0x2560db=getLocalPages(),_0x13fcd1=await getOnlineMenuList(_0x186a09,_0xb1227e),_0x38007b=new Set(_0x13fcd1[_0x15ac89(0x76)](_0x154825=>_0x154825[_0x15ac89(0x82)]));return{'localPages':_0x2560db,'onlineMenuList':_0x13fcd1,'onlinePaths':_0x38007b};}function a127_0xb4cb(){const _0x230d6f=['5033szfoVY','569991tbOYEb','path','7235aCIjHA','9093172kCaZnc','1523064zvOEfe','16496wJyEZS','JS\x20URL\x20is\x20unreachable','12GXFrrS','3138TuDsgh','resources','errors','map','has','1343790UcbOja','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','filter','push','5467842PUwdSQ','length','label','1SJEUvt'];a127_0xb4cb=function(){return _0x230d6f;};return a127_0xb4cb();}export async function fetchOnlineMenuList(_0x295d65,_0x33001d){return getOnlineMenuList(_0x295d65,_0x33001d);}
|
|
@@ -16,10 +16,10 @@ export declare function fetchMutationSnapshot(ctx: RuntimeContext & {
|
|
|
16
16
|
appCode: string;
|
|
17
17
|
cookie: string;
|
|
18
18
|
}, operation: string, targetId?: number): Promise<MenuSnapshot>;
|
|
19
|
-
export declare function recheckMutationSnapshot(ctx: RuntimeContext & {
|
|
19
|
+
export declare function recheckMutationSnapshot<TTarget = MenuFact>(ctx: RuntimeContext & {
|
|
20
20
|
appCode: string;
|
|
21
21
|
cookie: string;
|
|
22
|
-
}, plan: MenuMutationResult
|
|
22
|
+
}, plan: MenuMutationResult<TTarget>, operation: string, targetId?: number): Promise<MenuSnapshot>;
|
|
23
23
|
export declare function parseParentId(ctx: RuntimeContext, flagName: string, options?: {
|
|
24
24
|
required?: boolean;
|
|
25
25
|
}): number | null | undefined;
|
|
@@ -27,7 +27,7 @@ export declare function requireMenu(snapshot: MenuSnapshot, id: number): MenuFac
|
|
|
27
27
|
export declare function requireFolder(snapshot: MenuSnapshot, id: number): MenuFact;
|
|
28
28
|
export declare function assertExpectedState(ctx: RuntimeContext, menu: MenuFact): void;
|
|
29
29
|
export declare function assertVerified(condition: boolean, message: string, hint?: string): asserts condition;
|
|
30
|
-
export declare function mutationResult(input: {
|
|
30
|
+
export declare function mutationResult<TTarget = MenuFact>(input: {
|
|
31
31
|
operation: string;
|
|
32
32
|
selector: Record<string, unknown>;
|
|
33
33
|
before: MenuMutationResult["before"];
|
|
@@ -35,7 +35,7 @@ export declare function mutationResult(input: {
|
|
|
35
35
|
dryRun: boolean;
|
|
36
36
|
backend: MenuMutationResult["backend"];
|
|
37
37
|
plannedActions?: MenuMutationResult["plannedActions"];
|
|
38
|
-
targets?: MenuMutationResult["targets"];
|
|
38
|
+
targets?: MenuMutationResult<TTarget>["targets"];
|
|
39
39
|
deleteOrder?: MenuMutationResult["deleteOrder"];
|
|
40
40
|
snapshotHash: string;
|
|
41
41
|
cascade?: MenuMutationResult["cascade"];
|
|
@@ -45,12 +45,13 @@ export declare function mutationResult(input: {
|
|
|
45
45
|
warnings?: string[];
|
|
46
46
|
verification?: Record<string, unknown>;
|
|
47
47
|
error?: MenuMutationError;
|
|
48
|
-
}): MenuMutationResult
|
|
49
|
-
export declare function menuDryRunResult(plan: MenuMutationResult
|
|
50
|
-
export declare function menuFailure(error: CliError, plan: MenuMutationResult
|
|
48
|
+
}): MenuMutationResult<TTarget>;
|
|
49
|
+
export declare function menuDryRunResult<TTarget = MenuFact>(plan: MenuMutationResult<TTarget>, request: DryRunResult): DryRunResult & MenuMutationResult<TTarget>;
|
|
50
|
+
export declare function menuFailure<TTarget = MenuFact>(error: CliError, plan: MenuMutationResult<TTarget>, input: {
|
|
51
51
|
stage: string;
|
|
52
52
|
succeeded?: Array<Record<string, unknown>>;
|
|
53
53
|
failed?: Record<string, unknown>;
|
|
54
|
+
failedRecords?: Array<Record<string, unknown>>;
|
|
54
55
|
warnings?: string[];
|
|
55
56
|
verification?: Record<string, unknown>;
|
|
56
57
|
after?: MenuMutationResult["after"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a128_0x2ae394=a128_0xb4fb;(function(_0x12c3a7,_0x20b8d6){const _0x1fb58c=a128_0xb4fb,_0x3a25e4=_0x12c3a7();while(!![]){try{const _0x632cf2=-parseInt(_0x1fb58c(0xe8))/0x1*(parseInt(_0x1fb58c(0xe2))/0x2)+parseInt(_0x1fb58c(0xc0))/0x3+-parseInt(_0x1fb58c(0xb4))/0x4+parseInt(_0x1fb58c(0xbc))/0x5*(parseInt(_0x1fb58c(0xca))/0x6)+parseInt(_0x1fb58c(0xcb))/0x7+parseInt(_0x1fb58c(0xad))/0x8*(parseInt(_0x1fb58c(0xda))/0x9)+parseInt(_0x1fb58c(0xd0))/0xa;if(_0x632cf2===_0x20b8d6)break;else _0x3a25e4['push'](_0x3a25e4['shift']());}catch(_0x4bcbe2){_0x3a25e4['push'](_0x3a25e4['shift']());}}}(a128_0x5e70,0xd64ba));function a128_0xb4fb(_0x1bd8d2,_0x590a93){_0x1bd8d2=_0x1bd8d2-0xad;const _0x5e70fe=a128_0x5e70();let _0xb4fb45=_0x5e70fe[_0x1bd8d2];return _0xb4fb45;}import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a128_0x2ae394(0xb7),'required':!![],'description':a128_0x2ae394(0x10d)};export const MENU_SORT_FLAG={'name':'sort','type':a128_0x2ae394(0xb7),'description':'Sibling\x20sort\x20value\x20(non-negative\x20integer)'};export const MENU_PARENT_ID_FLAG={'name':a128_0x2ae394(0x10f),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0x106)};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a128_0x2ae394(0xe1),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0xd8)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a128_0x2ae394(0x102),'type':a128_0x2ae394(0xb2),'description':a128_0x2ae394(0xee)},{'name':a128_0x2ae394(0x100),'type':a128_0x2ae394(0xb7),'description':'Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches'}];export function validateExactId(_0x334086){const _0x5e082e=a128_0x2ae394,_0x5251bc=_0x334086['num']('id');if(!Number[_0x5e082e(0xea)](_0x5251bc)||_0x5251bc<=0x0)throw CliErrors['validation'](_0x5e082e(0xd4));return _0x5251bc;}export function validateSort(_0x2a5c6a,_0x54798b='sort'){const _0x34fc56=a128_0x2ae394;if(!hasFlag(_0x2a5c6a,_0x54798b))return undefined;const _0x5cebda=_0x2a5c6a[_0x34fc56(0xf0)](_0x54798b);if(!Number[_0x34fc56(0xea)](_0x5cebda)||_0x5cebda<0x0||_0x5cebda>MAX_MENU_SORT)throw menuError(_0x34fc56(0xdc),'--'+_0x54798b+_0x34fc56(0xbb)+MAX_MENU_SORT+'.',_0x34fc56(0xf6));return _0x5cebda;}export function nextSiblingSort(_0x3003a6,_0x411a7e,_0x4089e6){const _0x3990a7=a128_0x2ae394,_0x58cf28=getChildren(_0x3003a6,_0x411a7e)[_0x3990a7(0xc1)](_0x151f46=>_0x151f46['sort'])['filter'](_0x1969e4=>typeof _0x1969e4===_0x3990a7(0xb7));if(_0x58cf28[_0x3990a7(0xbf)]===0x0)return 0x0;const _0x120307=Math['max'](..._0x58cf28);if(_0x120307>=MAX_MENU_SORT)throw menuError(_0x3990a7(0x108),_0x3990a7(0x104)+_0x4089e6+_0x3990a7(0xe0)+_0x120307+'.','Reorder\x20sibling\x20menus\x20below\x20'+MAX_MENU_SORT+_0x3990a7(0xc8));return _0x120307+0x1;}export function requireExplicitYes(_0x4f7282){const _0x139a74=a128_0x2ae394;if(_0x4f7282[_0x139a74(0xaf)](_0x139a74(0xe3)))return;if(!_0x4f7282[_0x139a74(0xaf)](_0x139a74(0xe9)))throw menuError(_0x139a74(0x107),_0x139a74(0xce),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}export async function fetchMutationSnapshot(_0xe28d76,_0x330d30,_0x180630){const _0x16b141=a128_0x2ae394;try{return await fetchMenuSnapshot(_0xe28d76['appCode'],_0xe28d76[_0x16b141(0xd9)]);}catch(_0xe3ba0c){throw mapMenuApiError(_0xe3ba0c,'read\x20online\x20menu\x20facts\x20before\x20'+_0x330d30,_0x180630);}}export async function recheckMutationSnapshot(_0x1498ca,_0x15950,_0x2883ad,_0x561d9a){const _0x411aed=a128_0x2ae394;let _0x5aeb39;try{_0x5aeb39=await fetchMenuSnapshot(_0x1498ca[_0x411aed(0xbd)],_0x1498ca[_0x411aed(0xd9)]);}catch(_0x32b5d3){const _0x2253ed=mapMenuApiError(_0x32b5d3,_0x411aed(0xf8)+_0x2883ad,_0x561d9a);throw menuFailure(_0x2253ed,_0x15950,{'stage':_0x411aed(0xfc),'failed':_0x561d9a==null?{}:{'id':_0x561d9a}});}if(_0x5aeb39[_0x411aed(0xf1)]!==_0x15950['snapshotHash']){const _0x655623=menuError(_0x411aed(0xfe),_0x411aed(0xf9)+_0x2883ad+';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.',_0x411aed(0xe5));throw menuFailure(_0x655623,_0x15950,{'stage':_0x411aed(0xfc),'failed':{..._0x561d9a==null?{}:{'id':_0x561d9a},'expectedSnapshotHash':_0x15950['snapshotHash'],'currentSnapshotHash':_0x5aeb39[_0x411aed(0xf1)]}});}return _0x5aeb39;}function a128_0x5e70(){const _0x47ba64=['childrenCount','before','Exact\x20online\x20menu\x20id','get','parent-id','dryRun','The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','after','prototype','stringify','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','9561368HGKAwU','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.','bool','Menu\x20','trim','string','Permission\x20denied\x20while\x20attempting\x20to\x20','6871704OaTIOT','type','defineProperty','number','deleteOrder','rawFlags',',\x20current\x20','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','225945FsjWrh','appCode','operation','length','4241187gbpkGS','map','error','succeeded','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','selector','Online\x20menu\x20not\x20found:\x20','api_error',',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.','message','18jdgZkC','2869132CFRUGZ','menu_parent_not_folder','flagMissing','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','plannedActions','1688820jsMhlf','code','test','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','warnings','failed','Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','cookie','9kduyHi','stage','menu_sort_invalid','\x20menu\x20','required','menu_permission_denied','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','expect-parent-id','78QhbNgy','dry-run','\x20path\x20changed:\x20expected\x20','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','parentId','menu_verification_failed','18655kINyyS','yes','isSafeInteger','backend','str','menu_not_found','Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches','byId','num','hash','planFile','hasOwnProperty','menu_mutation_failed','path','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','folder','recheck\x20online\x20menu\x20facts\x20before\x20','Online\x20menu\x20state\x20changed\x20before\x20','snapshotHash','cascade','pre-write-recheck','root','menu_state_drift','toLowerCase','expected-children-count','verification','expect-path','validation','Cannot\x20append\x20a\x20','hint','Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node','menu_confirmation_required','menu_sort_overflow','\x20parent\x20changed:\x20expected\x20','targets'];a128_0x5e70=function(){return _0x47ba64;};return a128_0x5e70();}export function parseParentId(_0x29d3e2,_0x389ab5,_0x3bc649={}){const _0x5438ae=a128_0x2ae394;if(!hasFlag(_0x29d3e2,_0x389ab5)){if(_0x3bc649[_0x5438ae(0xde)])throw CliErrors[_0x5438ae(0xcd)](_0x389ab5);return undefined;}const _0x3f9e6b=_0x29d3e2[_0x5438ae(0xec)](_0x389ab5)[_0x5438ae(0xb1)]();if(_0x3f9e6b[_0x5438ae(0xff)]()===_0x5438ae(0xfd))return null;if(!/^\d+$/['test'](_0x3f9e6b))throw CliErrors['validation']('--'+_0x389ab5+'\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.');const _0x51128d=Number(_0x3f9e6b);if(!Number[_0x5438ae(0xea)](_0x51128d)||_0x51128d<=0x0)throw CliErrors[_0x5438ae(0x103)]('--'+_0x389ab5+_0x5438ae(0x116));return _0x51128d;}export function requireMenu(_0x518661,_0x268000){const _0x50be39=a128_0x2ae394,_0x1ef188=_0x518661[_0x50be39(0xef)][_0x50be39(0x10e)](_0x268000);if(!_0x1ef188)throw menuError(_0x50be39(0xed),_0x50be39(0xc6)+_0x268000,_0x50be39(0xae));return _0x1ef188;}export function requireFolder(_0x457b9c,_0x3fd674){const _0x485880=a128_0x2ae394,_0x516b23=requireMenu(_0x457b9c,_0x3fd674);if(_0x516b23[_0x485880(0xb5)]!==_0x485880(0xf7))throw menuError(_0x485880(0xcc),_0x485880(0xb0)+_0x3fd674+'\x20is\x20type\x20\x22'+(_0x516b23[_0x485880(0xb5)]||'unknown')+'\x22,\x20not\x20folder.','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.');return _0x516b23;}export function assertExpectedState(_0x5a7470,_0x47b4cc){const _0x2c321c=a128_0x2ae394;if(hasFlag(_0x5a7470,_0x2c321c(0xe1))){const _0x5156ca=parseParentId(_0x5a7470,_0x2c321c(0xe1),{'required':!![]});if(_0x47b4cc[_0x2c321c(0xe6)]!==_0x5156ca)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+_0x2c321c(0x109)+formatParent(_0x5156ca)+_0x2c321c(0xba)+formatParent(_0x47b4cc[_0x2c321c(0xe6)])+'.');}if(hasFlag(_0x5a7470,'expect-path')){const _0x3a20da=_0x5a7470[_0x2c321c(0xec)](_0x2c321c(0x102));if(_0x47b4cc[_0x2c321c(0xf5)]!==_0x3a20da)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+_0x2c321c(0xe4)+JSON[_0x2c321c(0x115)](_0x3a20da)+_0x2c321c(0xba)+JSON[_0x2c321c(0x115)](_0x47b4cc[_0x2c321c(0xf5)])+'.');}if(hasFlag(_0x5a7470,_0x2c321c(0x100))){const _0x3e05da=_0x5a7470[_0x2c321c(0xf0)](_0x2c321c(0x100));if(!Number[_0x2c321c(0xea)](_0x3e05da)||_0x3e05da<0x0)throw CliErrors[_0x2c321c(0x103)](_0x2c321c(0xc4));if(_0x47b4cc[_0x2c321c(0x10b)]!==_0x3e05da)throw stateDrift(_0x2c321c(0xb0)+_0x47b4cc['id']+'\x20child\x20count\x20changed:\x20expected\x20'+_0x3e05da+_0x2c321c(0xba)+_0x47b4cc[_0x2c321c(0x10b)]+'.');}}export function assertVerified(_0x4bfd30,_0x2082cb,_0x4d1b9f=a128_0x2ae394(0xd3)){if(!_0x4bfd30)throw menuError('menu_verification_failed',_0x2082cb,_0x4d1b9f);}export function mutationResult(_0x1b75f9){const _0x4625dc=a128_0x2ae394;return{'operation':_0x1b75f9[_0x4625dc(0xbe)],'selector':_0x1b75f9[_0x4625dc(0xc5)],'before':_0x1b75f9[_0x4625dc(0x10c)],'after':_0x1b75f9[_0x4625dc(0x113)],'dryRun':_0x1b75f9[_0x4625dc(0x110)],'backend':_0x1b75f9[_0x4625dc(0xeb)],..._0x1b75f9['plannedActions']?{'plannedActions':_0x1b75f9[_0x4625dc(0xcf)]}:{},..._0x1b75f9[_0x4625dc(0x10a)]?{'targets':_0x1b75f9[_0x4625dc(0x10a)]}:{},..._0x1b75f9[_0x4625dc(0xb8)]?{'deleteOrder':_0x1b75f9[_0x4625dc(0xb8)]}:{},'snapshotHash':_0x1b75f9[_0x4625dc(0xfa)],..._0x1b75f9[_0x4625dc(0xfb)]?{'cascade':_0x1b75f9[_0x4625dc(0xfb)]}:{},..._0x1b75f9['planFile']?{'planFile':_0x1b75f9[_0x4625dc(0xf2)]}:{},'succeeded':_0x1b75f9[_0x4625dc(0xc3)]??[],'failed':_0x1b75f9[_0x4625dc(0xd6)]??[],'warnings':_0x1b75f9[_0x4625dc(0xd5)]??[],'verification':_0x1b75f9['verification'],'error':_0x1b75f9[_0x4625dc(0xc2)]};}export function menuDryRunResult(_0x49a6af,_0x3865dc){return{..._0x49a6af,..._0x3865dc};}export function menuFailure(_0x93f2f,_0xf5ba00,_0x39c066){const _0x5b756e=a128_0x2ae394,_0x3e43ee=mutationResult({..._0xf5ba00,'after':_0x39c066[_0x5b756e(0x113)]===undefined?_0xf5ba00[_0x5b756e(0x113)]:_0x39c066[_0x5b756e(0x113)],'backend':_0x39c066['backend']??_0xf5ba00[_0x5b756e(0xeb)],'dryRun':![],'succeeded':_0x39c066['succeeded']??[],'failed':[{..._0x39c066['failed']??{},'stage':_0x39c066[_0x5b756e(0xdb)],'code':_0x93f2f[_0x5b756e(0xd1)],'message':_0x93f2f[_0x5b756e(0xc9)]}],'warnings':[..._0xf5ba00[_0x5b756e(0xd5)],..._0x39c066[_0x5b756e(0xd5)]??[]],'verification':_0x39c066[_0x5b756e(0x101)],'error':{'code':_0x93f2f['code'],'message':_0x93f2f[_0x5b756e(0xc9)],..._0x93f2f[_0x5b756e(0x105)]?{'hint':_0x93f2f[_0x5b756e(0x105)]}:{}}});return Object[_0x5b756e(0xb6)](_0x93f2f,'data',{'value':_0x3e43ee,'enumerable':!![],'configurable':!![]}),_0x93f2f;}export function asVerificationError(_0xbd4cb4,_0x41b96a){const _0x32fafb=a128_0x2ae394;if(_0xbd4cb4 instanceof CliError&&_0xbd4cb4[_0x32fafb(0xd1)]==='menu_verification_failed')return _0xbd4cb4;const _0x2508c2=_0xbd4cb4 instanceof Error?_0xbd4cb4[_0x32fafb(0xc9)]:String(_0xbd4cb4);return menuError(_0x32fafb(0xe7),''+_0x41b96a+(_0x2508c2?':\x20'+_0x2508c2:''),_0x32fafb(0x111));}export function describeMenuErrorCause(_0x58c844,_0x4b6e74,_0x1a0c5c){const _0x1b9dc7=a128_0x2ae394,_0x4956a7=mapMenuApiError(_0x58c844,_0x4b6e74,_0x1a0c5c);return{'causeCode':_0x4956a7[_0x1b9dc7(0xd1)],'causeMessage':_0x4956a7[_0x1b9dc7(0xc9)]};}export function hasFlag(_0x3761c1,_0x743c12){const _0x17b69f=a128_0x2ae394;return Object[_0x17b69f(0x114)][_0x17b69f(0xf3)]['call'](_0x3761c1['rawFlags'],_0x743c12)&&_0x3761c1[_0x17b69f(0xb9)][_0x743c12]!==undefined;}export function toApiParentId(_0x59e32d){return _0x59e32d??0x0;}export function formatParent(_0x28cd87){return _0x28cd87==null?'root':String(_0x28cd87);}export function menuError(_0x5bdc92,_0x115729,_0x5b21a){return new CliError(_0x5bdc92,0x1,_0x115729,_0x5b21a);}export function mapMenuApiError(_0x76d954,_0x34888a,_0x2baabe){const _0x17a0df=a128_0x2ae394;if(_0x76d954 instanceof CliError&&_0x76d954[_0x17a0df(0xd1)]!==_0x17a0df(0xc7))return _0x76d954;const _0x1ec9e5=_0x76d954 instanceof Error?_0x76d954[_0x17a0df(0xc9)]:String(_0x76d954);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i[_0x17a0df(0xd2)](_0x1ec9e5))return menuError(_0x17a0df(0xdf),_0x17a0df(0xb3)+_0x34888a+(_0x2baabe?'\x20menu\x20'+_0x2baabe:'')+'.','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.');return menuError(_0x17a0df(0xf4),'Failed\x20to\x20'+_0x34888a+(_0x2baabe?_0x17a0df(0xdd)+_0x2baabe:'')+':\x20'+_0x1ec9e5,_0x17a0df(0x112));}export function isMenuResponseLoss(_0x4ceeed){const _0x4fac6a=a128_0x2ae394,_0x1b8e49=_0x4ceeed instanceof Error?_0x4ceeed[_0x4fac6a(0xc9)]:String(_0x4ceeed);if(_0x4ceeed instanceof CliError)return _0x4ceeed['code']===_0x4fac6a(0xc7)&&/^Request (?:failed|timeout):/i[_0x4fac6a(0xd2)](_0x1b8e49);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x4fac6a(0xd2)](_0x1b8e49);}function stateDrift(_0x7504d9){const _0x1f2c49=a128_0x2ae394;return menuError('menu_state_drift',_0x7504d9,_0x1f2c49(0xd7));}
|
|
1
|
+
const a128_0x5244dd=a128_0x1977;(function(_0x59b908,_0x3bf207){const _0x2479a8=a128_0x1977,_0x1ed379=_0x59b908();while(!![]){try{const _0x28e4dd=parseInt(_0x2479a8(0xbc))/0x1*(-parseInt(_0x2479a8(0xa6))/0x2)+parseInt(_0x2479a8(0x9b))/0x3*(-parseInt(_0x2479a8(0xac))/0x4)+-parseInt(_0x2479a8(0xd6))/0x5*(parseInt(_0x2479a8(0x101))/0x6)+-parseInt(_0x2479a8(0xfc))/0x7+parseInt(_0x2479a8(0xdd))/0x8+-parseInt(_0x2479a8(0xaa))/0x9*(-parseInt(_0x2479a8(0xa0))/0xa)+-parseInt(_0x2479a8(0xb4))/0xb*(-parseInt(_0x2479a8(0xa5))/0xc);if(_0x28e4dd===_0x3bf207)break;else _0x1ed379['push'](_0x1ed379['shift']());}catch(_0x5d8f44){_0x1ed379['push'](_0x1ed379['shift']());}}}(a128_0xa3d6,0x24523));import{CliError,CliErrors}from'../../../errors.js';import{fetchMenuSnapshot,getChildren}from'../../../commands/menu/shared/facts.js';export const MAX_MENU_SORT=0x7fffffff;export const MENU_ID_FLAG={'name':'id','type':a128_0x5244dd(0xc5),'required':!![],'description':a128_0x5244dd(0xe5)};export const MENU_SORT_FLAG={'name':'sort','type':a128_0x5244dd(0xc5),'description':a128_0x5244dd(0xf7)};export const MENU_PARENT_ID_FLAG={'name':'parent-id','type':'string','description':'Parent\x20folder\x20id;\x20use\x20root\x20for\x20a\x20root-level\x20node'};export const MENU_EXPECT_PARENT_ID_FLAG={'name':a128_0x5244dd(0xab),'type':'string','description':a128_0x5244dd(0xb6)};export const MENU_EXPECT_FLAGS=[MENU_EXPECT_PARENT_ID_FLAG,{'name':a128_0x5244dd(0xcc),'type':a128_0x5244dd(0x9c),'description':'Abort\x20unless\x20the\x20current\x20menu\x20path\x20exactly\x20matches'},{'name':a128_0x5244dd(0xa4),'type':a128_0x5244dd(0xc5),'description':a128_0x5244dd(0x9d)}];export function validateExactId(_0x77fdf3){const _0x318ad2=a128_0x5244dd,_0x834601=_0x77fdf3[_0x318ad2(0xba)]('id');if(!Number['isSafeInteger'](_0x834601)||_0x834601<=0x0)throw CliErrors[_0x318ad2(0xb7)](_0x318ad2(0xed));return _0x834601;}export function validateSort(_0x270508,_0x141298=a128_0x5244dd(0xcd)){const _0x227588=a128_0x5244dd;if(!hasFlag(_0x270508,_0x141298))return undefined;const _0x2128c=_0x270508['num'](_0x141298);if(!Number[_0x227588(0xbb)](_0x2128c)||_0x2128c<0x0||_0x2128c>MAX_MENU_SORT)throw menuError('menu_sort_invalid','--'+_0x141298+_0x227588(0xf1)+MAX_MENU_SORT+'.',_0x227588(0xca));return _0x2128c;}function a128_0x1977(_0x343293,_0x220e6a){_0x343293=_0x343293-0x9b;const _0xa3d68f=a128_0xa3d6();let _0x1977fa=_0xa3d68f[_0x343293];return _0x1977fa;}export function nextSiblingSort(_0x532040,_0x3a15e1,_0x2e0f6c){const _0x46e35f=a128_0x5244dd,_0x48662c=getChildren(_0x532040,_0x3a15e1)[_0x46e35f(0xf6)](_0x15f2ad=>_0x15f2ad[_0x46e35f(0xcd)])[_0x46e35f(0xcf)](_0x9eb322=>typeof _0x9eb322===_0x46e35f(0xc5));if(_0x48662c[_0x46e35f(0xc6)]===0x0)return 0x0;const _0x27bf57=Math[_0x46e35f(0xa2)](..._0x48662c);if(_0x27bf57>=MAX_MENU_SORT)throw menuError(_0x46e35f(0xb1),'Cannot\x20append\x20a\x20'+_0x2e0f6c+_0x46e35f(0xd9)+_0x27bf57+'.',_0x46e35f(0xd4)+MAX_MENU_SORT+',\x20or\x20pass\x20an\x20explicit\x20--sort\x20value.');return _0x27bf57+0x1;}export function requireExplicitYes(_0x1a74b7){const _0x4cbbc3=a128_0x5244dd;if(_0x1a74b7[_0x4cbbc3(0xd0)](_0x4cbbc3(0xe6)))return;if(!_0x1a74b7[_0x4cbbc3(0xd0)](_0x4cbbc3(0xae)))throw menuError('menu_confirmation_required',_0x4cbbc3(0xb8),'Run\x20the\x20same\x20command\x20with\x20--dry-run\x20first,\x20then\x20add\x20--yes\x20after\x20reviewing\x20the\x20plan.');}export async function fetchMutationSnapshot(_0x42a673,_0x25f2e2,_0x55d8e0){const _0x5a8240=a128_0x5244dd;try{return await fetchMenuSnapshot(_0x42a673[_0x5a8240(0xe8)],_0x42a673[_0x5a8240(0xc1)]);}catch(_0x2cd488){throw mapMenuApiError(_0x2cd488,'read\x20online\x20menu\x20facts\x20before\x20'+_0x25f2e2,_0x55d8e0);}}export async function recheckMutationSnapshot(_0x441e80,_0x6473da,_0x39333f,_0x4478b4){const _0x2b5f71=a128_0x5244dd;let _0x1d4748;try{_0x1d4748=await fetchMenuSnapshot(_0x441e80['appCode'],_0x441e80['cookie']);}catch(_0x59fc1e){const _0x30bb39=mapMenuApiError(_0x59fc1e,'recheck\x20online\x20menu\x20facts\x20before\x20'+_0x39333f,_0x4478b4);throw menuFailure(_0x30bb39,_0x6473da,{'stage':_0x2b5f71(0x100),'failed':_0x4478b4==null?{}:{'id':_0x4478b4}});}if(_0x1d4748['hash']!==_0x6473da['snapshotHash']){const _0x55c431=menuError(_0x2b5f71(0xef),_0x2b5f71(0xe9)+_0x39333f+_0x2b5f71(0xd3),_0x2b5f71(0x9e));throw menuFailure(_0x55c431,_0x6473da,{'stage':_0x2b5f71(0x100),'failed':{..._0x4478b4==null?{}:{'id':_0x4478b4},'expectedSnapshotHash':_0x6473da[_0x2b5f71(0xf4)],'currentSnapshotHash':_0x1d4748[_0x2b5f71(0xf8)]}});}return _0x1d4748;}export function parseParentId(_0x37ac19,_0x5d1429,_0x268179={}){const _0x3c089d=a128_0x5244dd;if(!hasFlag(_0x37ac19,_0x5d1429)){if(_0x268179[_0x3c089d(0xc2)])throw CliErrors['flagMissing'](_0x5d1429);return undefined;}const _0x1e177e=_0x37ac19[_0x3c089d(0xbe)](_0x5d1429)[_0x3c089d(0xe4)]();if(_0x1e177e['toLowerCase']()===_0x3c089d(0xfb))return null;if(!/^\d+$/[_0x3c089d(0xaf)](_0x1e177e))throw CliErrors[_0x3c089d(0xb7)]('--'+_0x5d1429+_0x3c089d(0xc8));const _0xee81c4=Number(_0x1e177e);if(!Number[_0x3c089d(0xbb)](_0xee81c4)||_0xee81c4<=0x0)throw CliErrors[_0x3c089d(0xb7)]('--'+_0x5d1429+_0x3c089d(0xc8));return _0xee81c4;}export function requireMenu(_0x3f5f64,_0xe7b69e){const _0x3b87bd=a128_0x5244dd,_0x5d9f5f=_0x3f5f64['byId'][_0x3b87bd(0xfa)](_0xe7b69e);if(!_0x5d9f5f)throw menuError(_0x3b87bd(0xe3),'Online\x20menu\x20not\x20found:\x20'+_0xe7b69e,'Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20use\x20an\x20exact\x20id\x20from\x20the\x20current\x20app.');return _0x5d9f5f;}export function requireFolder(_0x40cab8,_0x2f9724){const _0x2d1580=a128_0x5244dd,_0x385b93=requireMenu(_0x40cab8,_0x2f9724);if(_0x385b93[_0x2d1580(0xdb)]!==_0x2d1580(0xd2))throw menuError(_0x2d1580(0xe1),_0x2d1580(0xdf)+_0x2f9724+'\x20is\x20type\x20\x22'+(_0x385b93['type']||_0x2d1580(0xcb))+_0x2d1580(0xd7),_0x2d1580(0xce));return _0x385b93;}export function assertExpectedState(_0x43419e,_0xf4f220){const _0x4c2d23=a128_0x5244dd;if(hasFlag(_0x43419e,_0x4c2d23(0xab))){const _0x1a5cc3=parseParentId(_0x43419e,_0x4c2d23(0xab),{'required':!![]});if(_0xf4f220[_0x4c2d23(0xf5)]!==_0x1a5cc3)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xc9)+formatParent(_0x1a5cc3)+_0x4c2d23(0xa1)+formatParent(_0xf4f220['parentId'])+'.');}if(hasFlag(_0x43419e,_0x4c2d23(0xcc))){const _0x8affb8=_0x43419e[_0x4c2d23(0xbe)](_0x4c2d23(0xcc));if(_0xf4f220[_0x4c2d23(0xa7)]!==_0x8affb8)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xb0)+JSON[_0x4c2d23(0xf9)](_0x8affb8)+_0x4c2d23(0xa1)+JSON[_0x4c2d23(0xf9)](_0xf4f220[_0x4c2d23(0xa7)])+'.');}if(hasFlag(_0x43419e,'expected-children-count')){const _0x102af7=_0x43419e[_0x4c2d23(0xba)](_0x4c2d23(0xa4));if(!Number[_0x4c2d23(0xbb)](_0x102af7)||_0x102af7<0x0)throw CliErrors['validation'](_0x4c2d23(0xea));if(_0xf4f220['childrenCount']!==_0x102af7)throw stateDrift(_0x4c2d23(0xdf)+_0xf4f220['id']+_0x4c2d23(0xb5)+_0x102af7+',\x20current\x20'+_0xf4f220[_0x4c2d23(0xc4)]+'.');}}export function assertVerified(_0x2d9bdc,_0xb4f45c,_0x39287c=a128_0x5244dd(0xd5)){if(!_0x2d9bdc)throw menuError('menu_verification_failed',_0xb4f45c,_0x39287c);}export function mutationResult(_0x524821){const _0x4b67da=a128_0x5244dd;return{'operation':_0x524821['operation'],'selector':_0x524821[_0x4b67da(0xbf)],'before':_0x524821[_0x4b67da(0xc3)],'after':_0x524821['after'],'dryRun':_0x524821[_0x4b67da(0xeb)],'backend':_0x524821['backend'],..._0x524821['plannedActions']?{'plannedActions':_0x524821[_0x4b67da(0x9f)]}:{},..._0x524821['targets']?{'targets':_0x524821[_0x4b67da(0xa9)]}:{},..._0x524821['deleteOrder']?{'deleteOrder':_0x524821[_0x4b67da(0xa3)]}:{},'snapshotHash':_0x524821[_0x4b67da(0xf4)],..._0x524821[_0x4b67da(0xf3)]?{'cascade':_0x524821[_0x4b67da(0xf3)]}:{},..._0x524821[_0x4b67da(0xfd)]?{'planFile':_0x524821[_0x4b67da(0xfd)]}:{},'succeeded':_0x524821[_0x4b67da(0xb3)]??[],'failed':_0x524821[_0x4b67da(0xda)]??[],'warnings':_0x524821['warnings']??[],'verification':_0x524821[_0x4b67da(0xdc)],'error':_0x524821[_0x4b67da(0xee)]};}export function menuDryRunResult(_0x447114,_0x416990){return{..._0x447114,..._0x416990};}export function menuFailure(_0x4522c9,_0x37c78a,_0x3df382){const _0x3c2785=a128_0x5244dd,_0x4cb687=mutationResult({..._0x37c78a,'after':_0x3df382[_0x3c2785(0xc7)]===undefined?_0x37c78a[_0x3c2785(0xc7)]:_0x3df382[_0x3c2785(0xc7)],'backend':_0x3df382[_0x3c2785(0xec)]??_0x37c78a[_0x3c2785(0xec)],'dryRun':![],'succeeded':_0x3df382['succeeded']??[],'failed':_0x3df382[_0x3c2785(0xde)]??[{..._0x3df382[_0x3c2785(0xda)]??{},'stage':_0x3df382['stage'],'code':_0x4522c9['code'],'message':_0x4522c9[_0x3c2785(0xbd)]}],'warnings':[..._0x37c78a['warnings'],..._0x3df382['warnings']??[]],'verification':_0x3df382['verification'],'error':{'code':_0x4522c9[_0x3c2785(0xc0)],'message':_0x4522c9[_0x3c2785(0xbd)],..._0x4522c9[_0x3c2785(0xe2)]?{'hint':_0x4522c9[_0x3c2785(0xe2)]}:{}}});return Object['defineProperty'](_0x4522c9,'data',{'value':_0x4cb687,'enumerable':!![],'configurable':!![]}),_0x4522c9;}export function asVerificationError(_0x352522,_0x10ff7e){const _0x3f3005=a128_0x5244dd;if(_0x352522 instanceof CliError&&_0x352522['code']===_0x3f3005(0xfe))return _0x352522;const _0x12942d=_0x352522 instanceof Error?_0x352522['message']:String(_0x352522);return menuError(_0x3f3005(0xfe),''+_0x10ff7e+(_0x12942d?':\x20'+_0x12942d:''),'The\x20write\x20may\x20already\x20have\x20taken\x20effect.\x20Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20and\x20inspect\x20the\x20returned\x20id\x20before\x20retrying.');}export function describeMenuErrorCause(_0x2e7bb2,_0x5f16a4,_0x4d0197){const _0xf65bf0=a128_0x5244dd,_0x43b86e=mapMenuApiError(_0x2e7bb2,_0x5f16a4,_0x4d0197);return{'causeCode':_0x43b86e[_0xf65bf0(0xc0)],'causeMessage':_0x43b86e['message']};}export function hasFlag(_0x1adc7b,_0x44b45b){const _0x4fbed2=a128_0x5244dd;return Object[_0x4fbed2(0xb2)][_0x4fbed2(0xf2)][_0x4fbed2(0xb9)](_0x1adc7b[_0x4fbed2(0xad)],_0x44b45b)&&_0x1adc7b['rawFlags'][_0x44b45b]!==undefined;}export function toApiParentId(_0x3cad53){return _0x3cad53??0x0;}export function formatParent(_0x7647f2){const _0x107f8c=a128_0x5244dd;return _0x7647f2==null?_0x107f8c(0xfb):String(_0x7647f2);}function a128_0xa3d6(){const _0x5953bf=['root','407050ipGseL','planFile','menu_verification_failed','Confirm\x20that\x20the\x20current\x20account\x20can\x20manage\x20menus\x20for\x20this\x20app.','pre-write-recheck','901542wxbdMl','3khtFRj','string','Abort\x20unless\x20the\x20current\x20direct\x20child\x20count\x20matches','Run\x20the\x20same\x20command\x20with\x20--dry-run\x20again\x20and\x20review\x20the\x20latest\x20snapshot\x20before\x20retrying.','plannedActions','1790AyFVJt',',\x20current\x20','max','deleteOrder','expected-children-count','12qndiXU','185126dQxaOQ','path','menu_mutation_failed','targets','12816wwDaYP','expect-parent-id','1178648GVAkXO','rawFlags','yes','test','\x20path\x20changed:\x20expected\x20','menu_sort_overflow','prototype','succeeded','7237494yvERVa','\x20child\x20count\x20changed:\x20expected\x20','Abort\x20unless\x20the\x20current\x20parent\x20id\x20matches;\x20use\x20root\x20for\x20root\x20level','validation','This\x20menu\x20mutation\x20requires\x20explicit\x20--yes.','call','num','isSafeInteger','3OTfklH','message','str','selector','code','cookie','required','before','childrenCount','number','length','after','\x20must\x20be\x20a\x20positive\x20menu\x20id\x20or\x20root.','\x20parent\x20changed:\x20expected\x20','Choose\x20a\x20sort\x20value\x20within\x20the\x20Java\x20Integer\x20range\x20used\x20by\x20the\x20menu\x20service.','unknown','expect-path','sort','Choose\x20a\x20menu\x20whose\x20type\x20is\x20folder,\x20or\x20use\x20root.','filter','bool','Permission\x20denied\x20while\x20attempting\x20to\x20','folder',';\x20the\x20planned\x20snapshot\x20is\x20no\x20longer\x20current.','Reorder\x20sibling\x20menus\x20below\x20','Run\x20`rabetbase\x20menu\x20list\x20--format\x20json`\x20to\x20inspect\x20the\x20latest\x20online\x20menu\x20state.','5EMsqex','\x22,\x20not\x20folder.','Re-run\x20menu\x20list\x20to\x20inspect\x20the\x20latest\x20online\x20state\x20before\x20retrying.','\x20because\x20the\x20current\x20maximum\x20sibling\x20sort\x20is\x20','failed','type','verification','133432RUokzi','failedRecords','Menu\x20','Failed\x20to\x20','menu_parent_not_folder','hint','menu_not_found','trim','Exact\x20online\x20menu\x20id','dry-run','menu_permission_denied','appCode','Online\x20menu\x20state\x20changed\x20before\x20','--expected-children-count\x20must\x20be\x20a\x20non-negative\x20integer.','dryRun','backend','--id\x20must\x20be\x20a\x20positive\x20integer\x20menu\x20id.','error','menu_state_drift','\x20menu\x20','\x20must\x20be\x20an\x20integer\x20between\x200\x20and\x20','hasOwnProperty','cascade','snapshotHash','parentId','map','Sibling\x20sort\x20value\x20(non-negative\x20integer)','hash','stringify','get'];a128_0xa3d6=function(){return _0x5953bf;};return a128_0xa3d6();}export function menuError(_0x27cef4,_0x473462,_0x560c70){return new CliError(_0x27cef4,0x1,_0x473462,_0x560c70);}export function mapMenuApiError(_0x24879e,_0x2a8009,_0x5af411){const _0x7e6222=a128_0x5244dd;if(_0x24879e instanceof CliError&&_0x24879e[_0x7e6222(0xc0)]!=='api_error')return _0x24879e;const _0x1a97dc=_0x24879e instanceof Error?_0x24879e[_0x7e6222(0xbd)]:String(_0x24879e);if(/HTTP 403|forbidden|permission|无权限|权限不足|没有权限/i['test'](_0x1a97dc))return menuError(_0x7e6222(0xe7),_0x7e6222(0xd1)+_0x2a8009+(_0x5af411?_0x7e6222(0xf0)+_0x5af411:'')+'.',_0x7e6222(0xff));return menuError(_0x7e6222(0xa8),_0x7e6222(0xe0)+_0x2a8009+(_0x5af411?_0x7e6222(0xf0)+_0x5af411:'')+':\x20'+_0x1a97dc,_0x7e6222(0xd8));}export function isMenuResponseLoss(_0x25085a){const _0x3de6e4=a128_0x5244dd,_0x44f5ac=_0x25085a instanceof Error?_0x25085a[_0x3de6e4(0xbd)]:String(_0x25085a);if(_0x25085a instanceof CliError)return _0x25085a[_0x3de6e4(0xc0)]==='api_error'&&/^Request (?:failed|timeout):/i[_0x3de6e4(0xaf)](_0x44f5ac);return/timeout|timed out|ECONNRESET|socket hang up|network|fetch failed|connection closed|aborted|terminated|unexpected end of JSON|premature close|body stream/i[_0x3de6e4(0xaf)](_0x44f5ac);}function stateDrift(_0x1c3bc1){const _0x5bae83=a128_0x5244dd;return menuError(_0x5bae83(0xef),_0x1c3bc1,'Re-run\x20the\x20command\x20with\x20--dry-run\x20and\x20update\x20the\x20expect\x20flags\x20before\x20retrying.');}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x149085,_0x51f4ab){const _0x11ba8c=a129_0x2ad8,_0x46f19a=_0x149085();while(!![]){try{const _0x4bbc74=-parseInt(_0x11ba8c(0xba))/0x1*(-parseInt(_0x11ba8c(0xa9))/0x2)+-parseInt(_0x11ba8c(0xc4))/0x3+-parseInt(_0x11ba8c(0xb5))/0x4*(-parseInt(_0x11ba8c(0xc3))/0x5)+parseInt(_0x11ba8c(0xb2))/0x6+-parseInt(_0x11ba8c(0xb7))/0x7+parseInt(_0x11ba8c(0xb6))/0x8+-parseInt(_0x11ba8c(0xa5))/0x9;if(_0x4bbc74===_0x51f4ab)break;else _0x46f19a['push'](_0x46f19a['shift']());}catch(_0x3cc608){_0x46f19a['push'](_0x46f19a['shift']());}}}(a129_0x4946,0x22b45));import{getEnv,isProduction}from'../../../constant/env.js';import{logger}from'../../../utils/logger.js';import{fetchMenuSnapshot,toProcessedMenuItem}from'../../../commands/menu/shared/facts.js';function a129_0x2ad8(_0x49d615,_0x5eb1ef){_0x49d615=_0x49d615-0x9e;const _0x494692=a129_0x4946();let _0x2ad831=_0x494692[_0x49d615];return _0x2ad831;}function a129_0x4946(){const _0x3c6b09=['stringify','update-menu-cdn-url','\x20menu\x20group(s)','15LGAxBQ','416925kWDgqV','Fetched\x20','Menu\x20assets\x20synced:\x20','Delete\x20','info','menus','loadScriptMode','menuGroups','create-menus','Menu\x20created\x20successfully:\x20','\x20online\x20menus\x20successfully','path','Fetching\x20daily\x20menu\x20list...\x20(appCode:\x20','2049705jMgnjg','map','Regroup\x20','create-menu','10cijhDI','Fetching\x20online\x20menu\x20list...\x20(appCode:\x20','extend','Start\x20batch\x20menu\x20creation,\x20total\x20','all','import','Update\x20menu\x20assets\x20\x22','Creating\x20menu:\x20','get-online-menu-list','1024314MSUnYc','length','Create\x20menu\x20\x22','130852BmVPWH','1206560DvjLZu','1257858MSOWiq','procode','resources','53777Ttympf','Batch\x20menu\x20creation\x20completed,\x20total\x20','\x20menu','total','label','Update\x20menu\x20'];a129_0x4946=function(){return _0x3c6b09;};return a129_0x4946();}import{batchDeleteMenuRecords,createMenuRecord,startMenuRegroup as a129_0x22956c,updateMenuRecord}from'../../../core/api-client.js';export async function getOnlineMenuList(_0x56a951,_0x121583){const _0x3facd6=a129_0x2ad8,_0x3a11c6=getEnv();logger[_0x3facd6(0xc8)](_0x3facd6(0xb1),isProduction(_0x3a11c6)?_0x3facd6(0xaa)+_0x56a951+')':_0x3facd6(0xa4)+_0x56a951+')');const _0x1c0c34=await fetchMenuSnapshot(_0x56a951,_0x121583,{'verbose':!![]});return logger['info'](_0x3facd6(0xb1),_0x3facd6(0xc5)+_0x1c0c34[_0x3facd6(0xbd)]+_0x3facd6(0xa2)),_0x1c0c34[_0x3facd6(0xc9)][_0x3facd6(0xa6)](toProcessedMenuItem);}export async function createMenu(_0x3b2903,_0x3c3a1e,_0x2a0c17){const _0x11ce5d=a129_0x2ad8;logger[_0x11ce5d(0xc8)]('create-menu',_0x11ce5d(0xb0)+_0x2a0c17[_0x11ce5d(0xbe)]+'\x20('+_0x2a0c17[_0x11ce5d(0xa3)]+')');const _0x4a785f={'appCode':_0x3b2903,'type':_0x11ce5d(0xb8),'sort':0x0,'extend':{'loadScriptMode':_0x11ce5d(0xae),'resources':_0x2a0c17[_0x11ce5d(0xb9)]?JSON[_0x11ce5d(0xc0)](_0x2a0c17[_0x11ce5d(0xb9)]):undefined},..._0x2a0c17},_0x565cf3=await createMenuRecord(_0x4a785f,_0x3c3a1e,_0x11ce5d(0xb4)+_0x2a0c17['label']+'\x22');return logger['info']('create-menu','Menu\x20created\x20successfully:\x20'+_0x2a0c17[_0x11ce5d(0xbe)]),_0x565cf3;}async function createSingleMenu(_0x414fe6,_0x523b88,_0x3a6907,_0x2a90fd){const _0x180037=a129_0x2ad8,_0x45678e={'appCode':_0x414fe6,'type':_0x180037(0xb8),'sort':0x0,'extend':{'loadScriptMode':_0x180037(0xae),'resources':_0x2a90fd?JSON['stringify'](_0x2a90fd):undefined},'label':_0x3a6907[_0x180037(0xbe)],'path':_0x3a6907[_0x180037(0xa3)]},_0x2d9abc=await createMenuRecord(_0x45678e,_0x523b88,_0x180037(0xb4)+_0x3a6907[_0x180037(0xbe)]+'\x22');return logger['info'](_0x180037(0xa8),_0x180037(0xa1)+_0x3a6907[_0x180037(0xbe)]),_0x2d9abc;}export async function createMenus(_0x282e01,_0x2fb955,_0x40ff8f,_0x5c9d95){const _0xa022b1=a129_0x2ad8;logger[_0xa022b1(0xc8)](_0xa022b1(0xa0),_0xa022b1(0xac)+_0x40ff8f[_0xa022b1(0xb3)]);const _0x2d05aa=await Promise[_0xa022b1(0xad)](_0x40ff8f['map'](_0x506ac8=>createSingleMenu(_0x282e01,_0x2fb955,_0x506ac8,_0x5c9d95)));return logger[_0xa022b1(0xc8)](_0xa022b1(0xa0),_0xa022b1(0xbb)+_0x40ff8f[_0xa022b1(0xb3)]),_0x2d05aa;}export async function updateMenuCdnUrl(_0x1b1d97,_0x2552fa,_0x2f27dc){const _0x4be7f1=a129_0x2ad8;logger[_0x4be7f1(0xc8)](_0x4be7f1(0xc1),'Updating\x20menu\x20asset\x20links:\x20'+_0x2f27dc[_0x4be7f1(0xbe)]+'\x20('+_0x2f27dc[_0x4be7f1(0xa3)]+')');const _0x48fc0d={'id':_0x2f27dc['id'],'appCode':_0x1b1d97,'extend':{..._0x2f27dc[_0x4be7f1(0xab)]??{},..._0x2f27dc[_0x4be7f1(0x9e)]?{'loadScriptMode':_0x2f27dc[_0x4be7f1(0x9e)]}:{},'resources':_0x2f27dc[_0x4be7f1(0xb9)]?JSON[_0x4be7f1(0xc0)](_0x2f27dc[_0x4be7f1(0xb9)]):undefined}},_0x4fc863=await updateMenuRecord(_0x48fc0d,_0x2552fa,_0x4be7f1(0xaf)+_0x2f27dc['label']+'\x22');return logger[_0x4be7f1(0xc8)](_0x4be7f1(0xc1),_0x4be7f1(0xc6)+_0x2f27dc['label'],undefined),_0x4fc863;}export async function createMenuEntity(_0x41d242,_0x74c517,_0xbe4da8){const _0x22f90d=a129_0x2ad8;return createMenuRecord({'appCode':_0x41d242,..._0xbe4da8},_0x74c517,_0x22f90d(0xb4)+_0xbe4da8[_0x22f90d(0xbe)]+'\x22');}export async function updateMenuEntity(_0x20256f,_0x259320,_0x4901df){const _0x4fd242=a129_0x2ad8;return updateMenuRecord({'appCode':_0x20256f,..._0x4901df},_0x259320,_0x4fd242(0xbf)+_0x4901df['id']);}export async function batchDeleteMenuEntities(_0x4dbe50,_0x2a14d3){const _0x431f42=a129_0x2ad8;return batchDeleteMenuRecords(_0x2a14d3,_0x4dbe50,_0x431f42(0xc7)+_0x2a14d3[_0x431f42(0xb3)]+_0x431f42(0xbc)+(_0x2a14d3['length']===0x1?'':'s'));}export async function startMenuRegroup(_0x131fe7,_0x361908){const _0x1a5f77=a129_0x2ad8;return a129_0x22956c(_0x361908,_0x131fe7,_0x1a5f77(0xa7)+_0x361908[_0x1a5f77(0x9f)]['length']+_0x1a5f77(0xc2));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a130_0x506a(){const _0x5164eb=['49ScguzB','--params.pages\x20is\x20no\x20longer\x20supported.\x20Use\x20--paths\x20with\x20exact\x20local\x20page\x20paths.','No\x20local\x20pages\x20matched\x20paths:\x20','Invalid\x20--params\x20fields:\x20','CSS\x20URL\x20must\x20be\x20a\x20valid\x20https://...css\x20URL','Local\x20page\x20paths\x20are\x20already\x20on\x20the\x20platform:\x20','dryRun','Menu\x20sync\x20completed','setLogPath','5777973TTrycZ','191560ZZKYIm','path','filter','2590662mJIFPw','jsUrl','menu-sync','513624bWdBtZ','keys','length','get','join','map','hasOwn','\x0a\x20\x20Available\x20local\x20paths:\x20','84143IgXIgv','push','info','cssUrl',':\x20expected\x20a\x20non-empty\x20string.','label','Invalid\x20--params\x20JSON.','isArray','1602954WlrxNJ','Invalid\x20--params:\x20','Start\x20non-interactive\x20menu\x20sync','trim','string','has','10vzxZjJ','Invalid\x20--params:\x20expected\x20a\x20JSON\x20object.','186926TBuGtY','object','5aITiyA','--params.','JS\x20URL\x20must\x20be\x20a\x20valid\x20https://...js\x20URL','parse','Invalid\x20--params.'];a130_0x506a=function(){return _0x5164eb;};return a130_0x506a();}const a130_0x278124=a130_0x4fc4;(function(_0x588656,_0xbd3f8e){const _0x1589b8=a130_0x4fc4,_0x4d3936=_0x588656();while(!![]){try{const _0x5a3c9d=parseInt(_0x1589b8(0xbc))/0x1+parseInt(_0x1589b8(0x9d))/0x2+parseInt(_0x1589b8(0xb1))/0x3+-parseInt(_0x1589b8(0xae))/0x4+-parseInt(_0x1589b8(0x9f))/0x5*(parseInt(_0x1589b8(0x95))/0x6)+parseInt(_0x1589b8(0xa4))/0x7*(parseInt(_0x1589b8(0xb4))/0x8)+-parseInt(_0x1589b8(0xad))/0x9*(parseInt(_0x1589b8(0x9b))/0xa);if(_0x5a3c9d===_0xbd3f8e)break;else _0x4d3936['push'](_0x4d3936['shift']());}catch(_0x4397ff){_0x4d3936['push'](_0x4d3936['shift']());}}}(a130_0x506a,0x8241f));import{getLocalPages}from'../../../commands/menu/shared/local-pages.js';import{getOnlineMenuList,createMenus}from'../../../commands/menu/shared/service.js';import{isUrlReachable,isValidCssHttpsUrl,isValidJsHttpsUrl}from'../../../commands/menu/shared/valid-url.js';import{logger}from'../../../utils/logger.js';function a130_0x4fc4(_0x526b19,_0x35bdf8){_0x526b19=_0x526b19-0x8e;const _0x506a0c=a130_0x506a();let _0x4fc475=_0x506a0c[_0x526b19];return _0x4fc475;}const MENU_SYNC_PARAM_KEYS=new Set([a130_0x278124(0xb2),a130_0x278124(0x90)]);function validateParams(_0x5ed4b9){const _0x516b82=a130_0x278124,_0x2292a8=[];return _0x5ed4b9[_0x516b82(0xb2)]&&!isValidJsHttpsUrl(_0x5ed4b9[_0x516b82(0xb2)])&&_0x2292a8[_0x516b82(0x8e)]({'field':_0x516b82(0xb2),'message':_0x516b82(0xa1)}),_0x5ed4b9['cssUrl']&&!isValidCssHttpsUrl(_0x5ed4b9[_0x516b82(0x90)])&&_0x2292a8[_0x516b82(0x8e)]({'field':'cssUrl','message':_0x516b82(0xa8)}),_0x2292a8;}export async function runMenuSyncCore(_0x38d8e5,_0x3206e9,_0x23909e=[],_0x48932f,_0x1f62e1={}){const _0x35d049=a130_0x278124,_0x229069=parseMenuSyncParams(_0x48932f),_0x47cd31=[...new Set(_0x23909e[_0x35d049(0xb9)](_0x2f732c=>_0x2f732c[_0x35d049(0x98)]())[_0x35d049(0xb0)](Boolean))],_0x35fd5e=_0x229069['jsUrl'],_0x246ec9=_0x229069[_0x35d049(0x90)],_0x1793fb=[];if(_0x35fd5e)_0x1793fb[_0x35d049(0x8e)](_0x35fd5e);if(_0x246ec9)_0x1793fb[_0x35d049(0x8e)](_0x246ec9);const _0x1d1331=validateParams(_0x229069);if(_0x1d1331[_0x35d049(0xb6)]>0x0){const _0x4eaa8c=_0x1d1331[_0x35d049(0xb9)](_0x2dbd57=>_0x35d049(0xa0)+_0x2dbd57['field']+':\x20'+_0x2dbd57['message'])['join'](';\x20');throw new Error(_0x35d049(0x96)+_0x4eaa8c);}logger[_0x35d049(0xac)](process['cwd']()),logger[_0x35d049(0x8f)](_0x35d049(0xb3),_0x35d049(0x97),{'appCode':_0x38d8e5,'selectedCount':_0x47cd31['length'],'jsUrl':_0x35fd5e,'cssUrl':_0x246ec9});if(_0x35fd5e){const _0x5836f6=await isUrlReachable(_0x35fd5e);if(!_0x5836f6)throw new Error('JS\x20URL\x20is\x20unreachable:\x20'+_0x35fd5e);}if(_0x246ec9){const _0x3217ac=await isUrlReachable(_0x246ec9);if(!_0x3217ac)throw new Error('CSS\x20URL\x20is\x20unreachable:\x20'+_0x246ec9);}const _0x319d6e=getLocalPages();if(_0x319d6e[_0x35d049(0xb6)]===0x0){if(_0x47cd31[_0x35d049(0xb6)]>0x0)throw new Error(_0x35d049(0xa6)+_0x47cd31[_0x35d049(0xb8)](',\x20'));return{'created':0x0,'skipped':!![],'dryRun':_0x1f62e1['dryRun']===!![],'targetPages':[],'plannedMenus':[]};}const _0x3a2eb0=await getOnlineMenuList(_0x38d8e5,_0x3206e9),_0x432b7d=new Set(_0x3a2eb0[_0x35d049(0xb9)](_0x3e020c=>_0x3e020c[_0x35d049(0xaf)]));let _0x1e7368;if(_0x47cd31[_0x35d049(0xb6)]>0x0){const _0x408a0d=new Map(_0x319d6e[_0x35d049(0xb9)](_0x4db925=>[_0x4db925['path'],_0x4db925])),_0x12ff52=_0x47cd31[_0x35d049(0xb0)](_0x3070bc=>!_0x408a0d[_0x35d049(0x9a)](_0x3070bc));if(_0x12ff52[_0x35d049(0xb6)]>0x0){const _0x4c7f64=_0x319d6e[_0x35d049(0xb9)](_0x312a73=>_0x312a73['path'])['join'](',\x20');throw new Error(_0x35d049(0xa6)+_0x12ff52['join'](',\x20')+_0x35d049(0xbb)+_0x4c7f64);}const _0x5e120b=_0x47cd31['filter'](_0x4fc964=>_0x432b7d[_0x35d049(0x9a)](_0x4fc964));if(_0x5e120b[_0x35d049(0xb6)]>0x0)throw new Error(_0x35d049(0xa9)+_0x5e120b[_0x35d049(0xb8)](',\x20'));_0x1e7368=_0x47cd31[_0x35d049(0xb9)](_0x59db6f=>_0x408a0d[_0x35d049(0xb7)](_0x59db6f));}else _0x1e7368=_0x319d6e[_0x35d049(0xb0)](_0x2499f0=>!_0x432b7d['has'](_0x2499f0[_0x35d049(0xaf)]));if(_0x1e7368[_0x35d049(0xb6)]===0x0)return{'created':0x0,'skipped':!![],'dryRun':_0x1f62e1['dryRun']===!![],'targetPages':[],'plannedMenus':[]};const _0x26235e=_0x1e7368[_0x35d049(0xb9)](_0x41f4bb=>({'type':'procode','path':_0x41f4bb[_0x35d049(0xaf)],'label':_0x41f4bb[_0x35d049(0x92)],'loadScriptMode':'import','resources':[..._0x1793fb]}));if(_0x1f62e1[_0x35d049(0xaa)])return{'created':0x0,'skipped':![],'dryRun':!![],'targetPages':_0x1e7368,'plannedMenus':_0x26235e};const _0xfb3394=await createMenus(_0x38d8e5,_0x3206e9,_0x1e7368,_0x1793fb[_0x35d049(0xb6)]>0x0?_0x1793fb:undefined);return logger['info'](_0x35d049(0xb3),_0x35d049(0xab),{'count':_0x1e7368[_0x35d049(0xb6)],'resources':_0x1793fb}),{'created':_0xfb3394['length'],'skipped':![],'dryRun':![],'targetPages':_0x1e7368,'plannedMenus':_0x26235e,'menus':_0xfb3394};}export function parseMenuSyncParams(_0x3d4635){const _0x1b7af4=a130_0x278124;if(!_0x3d4635||typeof _0x3d4635!==_0x1b7af4(0x99))return{};let _0x435066;try{_0x435066=JSON[_0x1b7af4(0xa2)](_0x3d4635);}catch{throw new Error(_0x1b7af4(0x93));}if(typeof _0x435066!==_0x1b7af4(0x9e)||_0x435066===null||Array[_0x1b7af4(0x94)](_0x435066))throw new Error(_0x1b7af4(0x9c));const _0x1bcc3e=_0x435066;if(Object[_0x1b7af4(0xba)](_0x1bcc3e,'pages'))throw new Error(_0x1b7af4(0xa5));const _0x281e2a=Object[_0x1b7af4(0xb5)](_0x1bcc3e)[_0x1b7af4(0xb0)](_0x304c89=>!MENU_SYNC_PARAM_KEYS['has'](_0x304c89));if(_0x281e2a['length']>0x0)throw new Error(_0x1b7af4(0xa7)+_0x281e2a[_0x1b7af4(0xb8)](',\x20')+'.');for(const _0x587872 of MENU_SYNC_PARAM_KEYS){const _0x13b437=_0x1bcc3e[_0x587872];if(_0x13b437!==undefined&&(typeof _0x13b437!==_0x1b7af4(0x99)||_0x13b437[_0x1b7af4(0x98)]()===''))throw new Error(_0x1b7af4(0xa3)+_0x587872+_0x1b7af4(0x91));}return{'jsUrl':typeof _0x1bcc3e[_0x1b7af4(0xb2)]===_0x1b7af4(0x99)?_0x1bcc3e[_0x1b7af4(0xb2)][_0x1b7af4(0x98)]():undefined,'cssUrl':typeof _0x1bcc3e[_0x1b7af4(0x90)]==='string'?_0x1bcc3e[_0x1b7af4(0x90)][_0x1b7af4(0x98)]():undefined};}
|
|
@@ -61,7 +61,7 @@ export interface MenuMutationError {
|
|
|
61
61
|
message: string;
|
|
62
62
|
hint?: string;
|
|
63
63
|
}
|
|
64
|
-
export interface MenuMutationResult {
|
|
64
|
+
export interface MenuMutationResult<TTarget = MenuFact> {
|
|
65
65
|
operation: string;
|
|
66
66
|
selector: Record<string, unknown>;
|
|
67
67
|
before: MenuFact | Record<string, unknown> | null;
|
|
@@ -78,7 +78,7 @@ export interface MenuMutationResult {
|
|
|
78
78
|
body: Record<string, unknown>;
|
|
79
79
|
condition?: string;
|
|
80
80
|
}>;
|
|
81
|
-
targets?:
|
|
81
|
+
targets?: TTarget[];
|
|
82
82
|
deleteOrder?: number[];
|
|
83
83
|
snapshotHash: string;
|
|
84
84
|
cascade?: {
|
|
@@ -126,6 +126,21 @@ export interface MenuUpdateDiff {
|
|
|
126
126
|
};
|
|
127
127
|
warnings: string[];
|
|
128
128
|
}
|
|
129
|
+
export interface MenuVisibilityDiff {
|
|
130
|
+
id: number;
|
|
131
|
+
label: string;
|
|
132
|
+
path: string;
|
|
133
|
+
before: {
|
|
134
|
+
visible: boolean | null;
|
|
135
|
+
};
|
|
136
|
+
after: {
|
|
137
|
+
visible: boolean;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
export type MenuVisibilityUpdateResult = MenuMutationResult<MenuVisibilityDiff> & {
|
|
141
|
+
requestedVisible: boolean;
|
|
142
|
+
targets: MenuVisibilityDiff[];
|
|
143
|
+
};
|
|
129
144
|
export interface MenuSyncResult {
|
|
130
145
|
created: number;
|
|
131
146
|
failed: number;
|