@lovrabet/rabetbase-cli 2.3.16-beta.6 → 2.4.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -10
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.d.ts +2 -0
- package/lib/commands/page/react/create.js +1 -0
- package/lib/commands/page/react/detail.d.ts +2 -0
- package/lib/commands/page/react/detail.js +1 -0
- package/lib/commands/page/react/list.d.ts +2 -0
- package/lib/commands/page/react/list.js +1 -0
- package/lib/commands/page/react/publish.d.ts +2 -0
- package/lib/commands/page/react/publish.js +1 -0
- package/lib/commands/page/react/shared.d.ts +78 -0
- package/lib/commands/page/react/shared.js +1 -0
- package/lib/commands/page/react/syntax.d.ts +18 -0
- package/lib/commands/page/react/syntax.js +1 -0
- package/lib/commands/page/react/template.d.ts +8 -0
- package/lib/commands/page/react/template.js +1 -0
- package/lib/commands/page/react/update.d.ts +2 -0
- package/lib/commands/page/react/update.js +1 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
- package/lib/commands/user-account/index.d.ts +2 -0
- package/lib/commands/user-account/index.js +1 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.d.ts +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +117 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.d.ts +3 -0
- package/lib/postinstall.js +1 -0
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.d.ts +37 -0
- package/lib/skills/builtin-skill.js +1 -0
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +4 -2
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -3
- package/scripts/postinstall.mjs +24 -0
- package/skills/rabetbase/SKILL.md +493 -0
- package/skills/rabetbase/guides/backend-function.md +835 -0
- package/skills/rabetbase/guides/best-practices.md +137 -0
- package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
- package/skills/rabetbase/guides/conflict-detection.md +119 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
- package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
- package/skills/rabetbase/guides/frontend-development.md +179 -0
- package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
- package/skills/rabetbase/guides/page-development-workflow.md +187 -0
- package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
- package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
- package/skills/rabetbase/guides/sql-mybatis.md +126 -0
- package/skills/rabetbase/guides/troubleshooting.md +67 -0
- package/skills/rabetbase/guides/typescript-sdk.md +227 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
- package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
- package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
- package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
- package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
- package/skills/rabetbase/knowledge/react-page/components.md +225 -0
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
- package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
- package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
- package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
- package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
- package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
- package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
- package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
- package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
- package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
- package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
- package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
- package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
- package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
- package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
- package/skills/rabetbase/references/rabetbase-config.md +296 -0
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
- package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
- package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
- package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
- package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
- package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
- package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
- package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
- package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
- package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
- package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
- package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
- package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
- package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
- package/skills/rabetbase/references/rabetbase-file.md +35 -0
- package/skills/rabetbase/references/rabetbase-init.md +70 -0
- package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
- package/skills/rabetbase/references/rabetbase-kb.md +62 -0
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
- package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
- package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
- package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
- package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
- package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
- package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
- package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
- package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
- package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
- package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
- package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
- package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
- package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
- package/skills/rabetbase/references/rabetbase-run.md +53 -0
- package/skills/rabetbase/references/rabetbase-schema.md +22 -0
- package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
- package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
- package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
- package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
- package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
- package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
- package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
- package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
- package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
- package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
- package/skills/rabetbase/references/rabetbase-update.md +56 -0
- package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
- package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
- package/skills/rabetbase.manifest.json +137 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a135_0x271492=a135_0x5e32;function a135_0x3b39(){const _0x10de11=['8457790OqjXJL','Actually\x20execute\x20the\x20generation.\x20Without\x20this\x20flag,\x20only\x20a\x20dry-run\x20preview\x20is\x20shown.','currentStep','已提交生成任务','2fQpOBz','PARTIAL_SUCCESS','page','message','write','manualResolutionRequired','operationId','/smartapi/lovrabet/dataset/','352173MbQAxQ','reused','POST','alias','1505tZyepW','5036718grRylX','standardPageStatus','status','source','progressRate','name','4AHVqjZ','fieldCount','nextAction','precheck','appCode','3965148lUHnbu','35783sqmDmc','dataset','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','Start\x20async\x20Smart\x20List\x20Page\x20generation\x20from\x20a\x20dataset','clientOperationId','62169SzPjAr','related-pages-fallback','code','allowGenerate','boolean','63448rqcuFC','bool','Dry-run\x20preview\x20(pass\x20--apply\x20to\x20execute\x20the\x20generation)','apply','11560YKULph','taskId','SUCCESS'];a135_0x3b39=function(){return _0x10de11;};return a135_0x3b39();}function a135_0x5e32(_0x2f97c6,_0x2509f2){_0x2f97c6=_0x2f97c6-0x164;const _0x3b3900=a135_0x3b39();let _0x5e3231=_0x3b3900[_0x2f97c6];return _0x5e3231;}(function(_0x4de03e,_0x5bd89f){const _0x11f08f=a135_0x5e32,_0x2b611f=_0x4de03e();while(!![]){try{const _0xdaa9be=parseInt(_0x11f08f(0x18e))/0x1+parseInt(_0x11f08f(0x170))/0x2*(-parseInt(_0x11f08f(0x178))/0x3)+-parseInt(_0x11f08f(0x183))/0x4*(-parseInt(_0x11f08f(0x16c))/0x5)+parseInt(_0x11f08f(0x17d))/0x6+-parseInt(_0x11f08f(0x17c))/0x7*(-parseInt(_0x11f08f(0x165))/0x8)+parseInt(_0x11f08f(0x188))/0x9+-parseInt(_0x11f08f(0x169))/0xa*(parseInt(_0x11f08f(0x189))/0xb);if(_0xdaa9be===_0x5bd89f)break;else _0x2b611f['push'](_0x2b611f['shift']());}catch(_0x3bbbda){_0x2b611f['push'](_0x2b611f['shift']());}}}(a135_0x3b39,0xd2382));import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,assessStandardPageState,buildPageGenerateOperationStatusQueryCommand,buildStandardPageStatusQueryCommand,createPageGenerateClientOperationId,getUndeletedRelatedPages,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector}from'../../commands/page/shared.js';import{startGenerateStandardPages}from'../../core/api-client.js';export const pageGenerateStart={'service':a135_0x271492(0x172),'command':'generate-start','description':a135_0x271492(0x18c),'risk':a135_0x271492(0x174),'defaultOutputFormat':'compress','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a135_0x271492(0x17b),'type':'string','description':a135_0x271492(0x18b)},{'name':a135_0x271492(0x168),'type':a135_0x271492(0x164),'description':a135_0x271492(0x16d)}],async 'validate'(_0x4628fe){validateDatasetSelector(_0x4628fe);},async 'dryRun'(_0x343ac4){const _0x43f678=a135_0x271492,_0x3fe337=await prepare(_0x343ac4);return{'method':_0x43f678(0x17a),'url':_0x43f678(0x177)+_0x3fe337[_0x43f678(0x18a)][_0x43f678(0x190)]+'/generate-standard-pages/start','body':{'appCode':_0x343ac4['appCode'],'clientOperationId':_0x3fe337[_0x43f678(0x18d)]},'description':serializeDryRunDescription({'dataset':{'id':_0x3fe337[_0x43f678(0x18a)]['id'],'code':_0x3fe337[_0x43f678(0x18a)][_0x43f678(0x190)],'name':_0x3fe337[_0x43f678(0x18a)][_0x43f678(0x182)],'fieldCount':_0x3fe337['dataset'][_0x43f678(0x184)]},'precheckSource':_0x3fe337[_0x43f678(0x17e)]?.[_0x43f678(0x180)]??'related-pages-fallback','action':'generate-start','clientOperationId':_0x3fe337['clientOperationId'],'plannedStatus':_0x3fe337[_0x43f678(0x186)]['status'],'reason':_0x3fe337[_0x43f678(0x186)][_0x43f678(0x173)]})};},async 'execute'(_0x10ca03){const _0x26db2f=a135_0x271492;if(!_0x10ca03[_0x26db2f(0x166)]('apply')){const _0x37a287=await pageGenerateStart['dryRun'](_0x10ca03);return{'ok':!![],'message':_0x26db2f(0x167),'data':_0x37a287};}const _0x506a24=await prepare(_0x10ca03);if(!_0x506a24['precheck'][_0x26db2f(0x191)])return{'ok':![],'message':_0x506a24['precheck'][_0x26db2f(0x173)],'data':{'datasetCode':_0x506a24[_0x26db2f(0x18a)][_0x26db2f(0x190)],'clientOperationId':_0x506a24[_0x26db2f(0x18d)],'precheckSource':_0x506a24[_0x26db2f(0x17e)]?.[_0x26db2f(0x180)]??_0x26db2f(0x18f),'status':_0x506a24[_0x26db2f(0x186)]['status'],'manualResolutionRequired':_0x506a24['precheck'][_0x26db2f(0x175)],'nextAction':_0x506a24['precheck']['nextAction'],'query':{'command':buildStandardPageStatusQueryCommand(_0x506a24[_0x26db2f(0x18a)]['code'],_0x10ca03[_0x26db2f(0x187)])},'standardPageStatus':_0x506a24[_0x26db2f(0x17e)]}};const _0x176f40=await startGenerateStandardPages(_0x10ca03[_0x26db2f(0x187)],_0x506a24[_0x26db2f(0x18a)][_0x26db2f(0x190)],{'clientOperationId':_0x506a24[_0x26db2f(0x18d)]}),_0x3376a9=_0x176f40[_0x26db2f(0x17f)]===_0x26db2f(0x16b)||_0x176f40[_0x26db2f(0x17f)]===_0x26db2f(0x171)?await loadStandardPageStatusForGenerate(_0x10ca03,_0x506a24['dataset'][_0x26db2f(0x190)]):null,_0x5e0944=assessGenerateOperationState(_0x506a24['dataset']['code'],_0x176f40[_0x26db2f(0x17f)],_0x3376a9);return{'ok':!![],'message':_0x176f40[_0x26db2f(0x179)]?'复用已有生成任务':_0x26db2f(0x16f),'data':{'datasetCode':_0x506a24[_0x26db2f(0x18a)]['code'],'appCode':_0x10ca03[_0x26db2f(0x187)],'taskId':_0x176f40[_0x26db2f(0x16a)]??null,'operationId':_0x176f40[_0x26db2f(0x176)]??null,'clientOperationId':_0x506a24[_0x26db2f(0x18d)],'jobStatus':_0x176f40['status']??null,'progressRate':typeof _0x176f40[_0x26db2f(0x181)]==='number'?_0x176f40[_0x26db2f(0x181)]:null,'currentStep':_0x176f40[_0x26db2f(0x16e)]??null,'reused':_0x176f40[_0x26db2f(0x179)]===!![],'status':_0x5e0944[_0x26db2f(0x17f)],'manualResolutionRequired':_0x5e0944['manualResolutionRequired'],'nextAction':_0x5e0944[_0x26db2f(0x185)],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x506a24[_0x26db2f(0x18a)][_0x26db2f(0x190)],{'appCode':_0x10ca03['appCode'],'taskId':_0x176f40[_0x26db2f(0x16a)],'operationId':_0x176f40['operationId'],'clientOperationId':_0x506a24[_0x26db2f(0x18d)]})},'standardPageStatus':_0x3376a9}};}};async function prepare(_0x4cd965){const _0x1b8764=a135_0x271492,_0x532612=await loadDatasetDetailForPage(_0x4cd965),_0x527d32=await loadStandardPageStatusForGenerate(_0x4cd965,_0x532612[_0x1b8764(0x190)]),_0x2c1a78=getUndeletedRelatedPages(_0x532612);return{'dataset':_0x532612,'standardPageStatus':_0x527d32,'clientOperationId':createPageGenerateClientOperationId(),'precheck':assessStandardPageState(_0x532612['code'],_0x527d32,{'fallbackUndeletedPages':_0x2c1a78})};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a136_0x17b0ce=a136_0x53f9;(function(_0x325e92,_0x5f107d){const _0x5ecf27=a136_0x53f9,_0x2a7138=_0x325e92();while(!![]){try{const _0x4cf19d=parseInt(_0x5ecf27(0xbc))/0x1*(parseInt(_0x5ecf27(0xe0))/0x2)+-parseInt(_0x5ecf27(0xd1))/0x3*(parseInt(_0x5ecf27(0xbb))/0x4)+parseInt(_0x5ecf27(0xcb))/0x5+parseInt(_0x5ecf27(0xbf))/0x6*(parseInt(_0x5ecf27(0xd5))/0x7)+parseInt(_0x5ecf27(0xc0))/0x8+-parseInt(_0x5ecf27(0xcc))/0x9*(-parseInt(_0x5ecf27(0xbd))/0xa)+-parseInt(_0x5ecf27(0xc1))/0xb;if(_0x4cf19d===_0x5f107d)break;else _0x2a7138['push'](_0x2a7138['shift']());}catch(_0x7e2abb){_0x2a7138['push'](_0x2a7138['shift']());}}}(a136_0x5d7a,0x299ba));function a136_0x5d7a(){const _0x34dbe4=['7gEfWDO','Async\x20operation\x20id\x20returned\x20by\x20page\x20generate-start','code','currentStep','str','client-operation-id','status','number','nextAction','task-id','query-generate-operation-status','6oCsrAo','toString','set','Client\x20recovery/idempotency\x20id\x20when\x20operationId\x20is\x20unavailable\x20or\x20lost','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','operationId','appCode','SUCCESS','clientOperationId','16VAeWNP','106585NJefSi','10GJHFjC','/smartapi/lovrabet/dataset/','98778kQVxXj','1849600cUSVFg','7156259WfiZsh','page','result','operation-id','string','name','generate-status','alias','manualResolutionRequired','progressRate','1274400zOkRWJ','186525psiqUa','taskId','PARTIAL_SUCCESS','/generate-standard-pages/status?','operation_failed','16521bsXbRf','GET','errorMsg','Generic\x20task\x20id\x20returned\x20by\x20page\x20generate-start'];a136_0x5d7a=function(){return _0x34dbe4;};return a136_0x5d7a();}import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{assessGenerateOperationState,buildPageGenerateOperationStatusQueryCommand,loadDatasetDetailForPage,loadStandardPageStatusForGenerate,serializeDryRunDescription,validateDatasetSelector,validateGenerateOperationSelector}from'../../commands/page/shared.js';function a136_0x53f9(_0x44d92a,_0x51be9e){_0x44d92a=_0x44d92a-0xb9;const _0x5d7ab8=a136_0x5d7a();let _0x53f9ee=_0x5d7ab8[_0x44d92a];return _0x53f9ee;}import{getGenerateStandardPagesStatus}from'../../core/api-client.js';export const pageGenerateStatus={'service':a136_0x17b0ce(0xc2),'command':a136_0x17b0ce(0xc7),'description':'Query\x20Smart\x20List\x20Page\x20generate\x20operation\x20status','risk':'read','defaultOutputFormat':'compress','flags':[APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL,{'name':a136_0x17b0ce(0xc8),'type':a136_0x17b0ce(0xc5),'description':a136_0x17b0ce(0xe4)},{'name':a136_0x17b0ce(0xde),'type':a136_0x17b0ce(0xc5),'description':a136_0x17b0ce(0xd4)},{'name':a136_0x17b0ce(0xc4),'type':'string','description':a136_0x17b0ce(0xd6)},{'name':a136_0x17b0ce(0xda),'type':a136_0x17b0ce(0xc5),'description':a136_0x17b0ce(0xe3)}],async 'validate'(_0x21c5d8){validateDatasetSelector(_0x21c5d8),validateGenerateOperationSelector(_0x21c5d8);},async 'dryRun'(_0x2e3ad8){const _0x199c95=a136_0x17b0ce,_0x51a683=await loadDatasetDetailForPage(_0x2e3ad8),_0x1277d4=_0x2e3ad8[_0x199c95(0xd9)](_0x199c95(0xde)),_0xa74171=_0x2e3ad8['str'](_0x199c95(0xc4)),_0x2230ea=_0x2e3ad8[_0x199c95(0xd9)](_0x199c95(0xda)),_0x17f3c2=new URLSearchParams({'appCode':_0x2e3ad8[_0x199c95(0xe6)]});return _0x1277d4&&_0x17f3c2[_0x199c95(0xe2)](_0x199c95(0xcd),_0x1277d4),_0xa74171&&_0x17f3c2[_0x199c95(0xe2)](_0x199c95(0xe5),_0xa74171),_0x2230ea&&_0x17f3c2[_0x199c95(0xe2)](_0x199c95(0xba),_0x2230ea),{'method':_0x199c95(0xd2),'url':_0x199c95(0xbe)+_0x51a683['code']+_0x199c95(0xcf)+_0x17f3c2[_0x199c95(0xe1)](),'description':serializeDryRunDescription({'dataset':{'id':_0x51a683['id'],'code':_0x51a683['code'],'name':_0x51a683[_0x199c95(0xc6)]},'action':_0x199c95(0xdf),'taskId':_0x1277d4||undefined,'operationId':_0xa74171||undefined,'clientOperationId':_0x2230ea||undefined})};},async 'execute'(_0x4889cf){const _0x36d93e=a136_0x17b0ce,_0x42405b=await loadDatasetDetailForPage(_0x4889cf),_0x40aaa1=_0x4889cf[_0x36d93e(0xd9)]('task-id'),_0x568f3a=_0x4889cf[_0x36d93e(0xd9)](_0x36d93e(0xc4)),_0x379013=_0x4889cf['str'](_0x36d93e(0xda)),_0x38295f=await getGenerateStandardPagesStatus(_0x4889cf[_0x36d93e(0xe6)],_0x42405b[_0x36d93e(0xd7)],{'taskId':_0x40aaa1||undefined,'operationId':_0x568f3a||undefined,'clientOperationId':_0x379013||undefined}),_0x3e2769=_0x38295f['status']===_0x36d93e(0xb9)||_0x38295f[_0x36d93e(0xdb)]===_0x36d93e(0xce),_0x2c4df2=_0x3e2769?await loadStandardPageStatusForGenerate(_0x4889cf,_0x42405b[_0x36d93e(0xd7)]):null,_0x731cc4=assessGenerateOperationState(_0x42405b[_0x36d93e(0xd7)],_0x38295f[_0x36d93e(0xdb)],_0x2c4df2),_0x1732b6=_0x38295f['taskId']??_0x40aaa1??undefined,_0x11baaf=_0x38295f[_0x36d93e(0xe5)]??_0x568f3a??undefined,_0xe155e1=_0x38295f['clientOperationId']??_0x379013??undefined;return{'ok':!![],'message':_0x731cc4[_0x36d93e(0xdb)]===_0x36d93e(0xd0)?_0x38295f[_0x36d93e(0xd3)]||_0x731cc4['message']:_0x731cc4['message'],'data':{'datasetCode':_0x42405b[_0x36d93e(0xd7)],'appCode':_0x4889cf[_0x36d93e(0xe6)],'taskId':_0x1732b6,'operationId':_0x11baaf,'clientOperationId':_0xe155e1,'jobStatus':_0x38295f[_0x36d93e(0xdb)]??null,'progressRate':typeof _0x38295f[_0x36d93e(0xca)]===_0x36d93e(0xdc)?_0x38295f[_0x36d93e(0xca)]:null,'currentStep':_0x38295f[_0x36d93e(0xd8)]??null,'errorMsg':_0x38295f['errorMsg']??null,'status':_0x731cc4['status'],'manualResolutionRequired':_0x731cc4[_0x36d93e(0xc9)],'nextAction':_0x731cc4[_0x36d93e(0xdd)],'query':{'command':buildPageGenerateOperationStatusQueryCommand(_0x42405b[_0x36d93e(0xd7)],{'appCode':_0x4889cf[_0x36d93e(0xe6)],'taskId':_0x1732b6,'operationId':_0x11baaf,'clientOperationId':_0xe155e1})},'standardPageStatus':_0x2c4df2,'result':_0x38295f[_0x36d93e(0xc3)]??null}};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x544f20,_0x5a2399){const _0x29a2c1=a137_0x3dfa,_0x176bd0=_0x544f20();while(!![]){try{const _0xaa6e0=parseInt(_0x29a2c1(0x1d3))/0x1*(-parseInt(_0x29a2c1(0x1d7))/0x2)+parseInt(_0x29a2c1(0x1dc))/0x3*(-parseInt(_0x29a2c1(0x1da))/0x4)+parseInt(_0x29a2c1(0x1d4))/0x5*(-parseInt(_0x29a2c1(0x1d5))/0x6)+parseInt(_0x29a2c1(0x1d6))/0x7+-parseInt(_0x29a2c1(0x1d9))/0x8*(parseInt(_0x29a2c1(0x1dd))/0x9)+-parseInt(_0x29a2c1(0x1db))/0xa+parseInt(_0x29a2c1(0x1d8))/0xb;if(_0xaa6e0===_0x5a2399)break;else _0x176bd0['push'](_0x176bd0['shift']());}catch(_0x5d50d7){_0x176bd0['push'](_0x176bd0['shift']());}}}(a137_0x1cea,0x74586));import{pageGenerateStart}from'../../commands/page/generate-start.js';import{pageGenerateStatus}from'../../commands/page/generate-status.js';import{pageStandardPageStatus}from'../../commands/page/standard-page-status.js';import{pageSync}from'../../commands/page/sync.js';function a137_0x3dfa(_0x596847,_0x115510){_0x596847=_0x596847-0x1d3;const _0x1cea3d=a137_0x1cea();let _0x3dfa13=_0x1cea3d[_0x596847];return _0x3dfa13;}import{pagePull}from'../../commands/page/pull.js';import{pagePush}from'../../commands/page/push.js';import{pageRelationAudit}from'../../commands/page/relation-audit.js';import{pageRestore}from'../../commands/page/restore.js';import{pageReactCreate}from'../../commands/page/react/create.js';function a137_0x1cea(){const _0x1312ee=['20331201WYZQUd','7282376QzSKRR','168AZdeQs','3737640yaQQLY','26967DAsWKN','9JEPTwW','13yDXiix','10DdzqGP','347064vRHmFn','5566820vNgzcf','59956ucIxME'];a137_0x1cea=function(){return _0x1312ee;};return a137_0x1cea();}import{pageReactDetail}from'../../commands/page/react/detail.js';import{pageReactList}from'../../commands/page/react/list.js';import{pageReactPublish}from'../../commands/page/react/publish.js';import{pageReactUpdate}from'../../commands/page/react/update.js';export const pageDefinitions=[pageGenerateStart,pageGenerateStatus,pageStandardPageStatus,pageRelationAudit,pageSync,pagePull,pagePush,pageRestore,pageReactCreate,pageReactList,pageReactDetail,pageReactPublish,pageReactUpdate];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a138_0x1d5b1e=a138_0x3e68;(function(_0x5027c0,_0x5be032){const _0x519088=a138_0x3e68,_0x1f258e=_0x5027c0();while(!![]){try{const _0x4d8f3d=parseInt(_0x519088(0x198))/0x1+-parseInt(_0x519088(0x191))/0x2+parseInt(_0x519088(0x180))/0x3*(-parseInt(_0x519088(0x186))/0x4)+parseInt(_0x519088(0x190))/0x5+-parseInt(_0x519088(0x1a3))/0x6*(-parseInt(_0x519088(0x18d))/0x7)+parseInt(_0x519088(0x1ac))/0x8*(-parseInt(_0x519088(0x184))/0x9)+parseInt(_0x519088(0x19b))/0xa*(parseInt(_0x519088(0x1aa))/0xb);if(_0x4d8f3d===_0x5be032)break;else _0x1f258e['push'](_0x1f258e['shift']());}catch(_0x11192c){_0x1f258e['push'](_0x1f258e['shift']());}}}(a138_0x1d7c,0x9bdd9));import{writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{computePageContentHash,computePageFileHash,serializePageSchemaForFile}from'../../core/page/hash.js';function a138_0x3e68(_0xcb840e,_0x101823){_0xcb840e=_0xcb840e-0x179;const _0x1d7cd3=a138_0x1d7c();let _0x3e687b=_0x1d7cd3[_0xcb840e];return _0x3e687b;}import{ensureParentDirectory,fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePull={'service':a138_0x1d5b1e(0x1a1),'command':a138_0x1d5b1e(0x17e),'description':a138_0x1d5b1e(0x192),'risk':a138_0x1d5b1e(0x1ae),'defaultOutputFormat':a138_0x1d5b1e(0x18e),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':a138_0x1d5b1e(0x187),'description':a138_0x1d5b1e(0x17f)},DATASETCODE_FLAG_OPTIONAL,{'name':'alias','type':a138_0x1d5b1e(0x1b5),'description':'Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)'},{'name':a138_0x1d5b1e(0x199),'type':'string','description':a138_0x1d5b1e(0x1b0)},{'name':'force','type':a138_0x1d5b1e(0x189),'description':'Overwrite\x20local\x20files\x20even\x20when\x20unsynced\x20local\x20changes\x20exist'}],async 'validate'(_0x1aa7b1){validatePageTargetSelector(_0x1aa7b1);},async 'dryRun'(_0x243fc7){const _0xb3643d=a138_0x1d5b1e,_0x59e157=await buildPullPlan(_0x243fc7);return{'method':_0xb3643d(0x194),'url':_0x59e157[_0xb3643d(0x1a0)]===_0xb3643d(0x18c)?_0xb3643d(0x1a8)+(_0x59e157['items'][0x0]?.[_0xb3643d(0x197)][_0xb3643d(0x1a7)]??''):_0xb3643d(0x182),'body':{'appCode':_0x243fc7[_0xb3643d(0x19c)],'mode':_0x59e157[_0xb3643d(0x1a0)],'targetDatasetCode':_0x59e157['datasetCode']??null,'pages':_0x59e157[_0xb3643d(0x1b4)][_0xb3643d(0x1af)](toPreviewItem)},'description':serializeDryRunDescription({'mode':_0x59e157[_0xb3643d(0x1a0)],'datasetCode':_0x59e157['datasetCode']??null,'totalCandidates':_0x59e157[_0xb3643d(0x1b4)][_0xb3643d(0x195)],'totalWouldPull':_0x59e157['items'][_0xb3643d(0x1a6)](_0x210197=>_0x210197[_0xb3643d(0x179)]===_0xb3643d(0x185))[_0xb3643d(0x195)],'totalConflicts':_0x59e157[_0xb3643d(0x1b4)][_0xb3643d(0x1a6)](_0x3df49f=>_0x3df49f[_0xb3643d(0x179)]===_0xb3643d(0x1a4))[_0xb3643d(0x195)]})};},async 'execute'(_0x3134f0){const _0x1a5d09=a138_0x1d5b1e,_0x170cad=loadPageProjectConfig(_0x3134f0[_0x1a5d09(0x19c)]),_0x29e695=await readPageLockFile(_0x170cad[_0x1a5d09(0x193)]),{lockData:_0x99d651,appLock:_0x39e851}=ensurePageLockScope(_0x29e695??createEmptyPageLock(),_0x3134f0[_0x1a5d09(0x19c)]),_0xf03d98=await buildPullPlan(_0x3134f0),_0x5557b0=_0x3134f0['bool'](_0x1a5d09(0x18a));if(_0xf03d98[_0x1a5d09(0x1a0)]===_0x1a5d09(0x18c)&&_0xf03d98['items'][0x0]?.[_0x1a5d09(0x179)]===_0x1a5d09(0x1a4)&&!_0x5557b0)throw CliErrors[_0x1a5d09(0x17b)]('Local\x20page\x20file\x20has\x20unsynced\x20changes:\x20'+_0xf03d98[_0x1a5d09(0x1b4)][0x0][_0x1a5d09(0x1a2)],_0x1a5d09(0x1b6));const _0x1a36de=[],_0x1bdd6a=[];for(const _0x58e0c8 of _0xf03d98['items']){if(_0x58e0c8[_0x1a5d09(0x179)]===_0x1a5d09(0x1a4)&&!_0x5557b0){_0x1bdd6a[_0x1a5d09(0x1a5)]({'pageId':_0x58e0c8['detail'][_0x1a5d09(0x1a7)],'type':_0x58e0c8[_0x1a5d09(0x197)]['type'],'title':_0x58e0c8['detail']['name'],'localPath':_0x58e0c8[_0x1a5d09(0x1a2)],'reason':_0x58e0c8[_0x1a5d09(0x19e)]??_0x1a5d09(0x19a)});continue;}await ensureParentDirectory(_0x58e0c8['localPath']);const _0xb695f=serializePageSchemaForFile(_0x58e0c8[_0x1a5d09(0x197)]['code']);await writeFile(_0x58e0c8[_0x1a5d09(0x1a2)],_0xb695f,_0x1a5d09(0x196)),_0x39e851['pages'][String(_0x58e0c8[_0x1a5d09(0x197)]['pageId'])]=buildLockEntry(_0x58e0c8['detail'],_0xb695f),_0x1a36de[_0x1a5d09(0x1a5)]({'pageId':_0x58e0c8[_0x1a5d09(0x197)][_0x1a5d09(0x1a7)],'type':_0x58e0c8[_0x1a5d09(0x197)]['type'],'title':_0x58e0c8[_0x1a5d09(0x197)][_0x1a5d09(0x18b)],'localPath':_0x58e0c8['localPath']});}return _0x39e851[_0x1a5d09(0x19d)]=new Date()['toISOString'](),await writePageLockFile(_0x170cad[_0x1a5d09(0x193)],_0x99d651),{'ok':!![],'message':_0x1a5d09(0x19f)+_0x1a36de[_0x1a5d09(0x195)]+'\x20pulled,\x20'+_0x1bdd6a[_0x1a5d09(0x195)]+_0x1a5d09(0x183),'data':{'appCode':_0x3134f0[_0x1a5d09(0x19c)],'pulledPages':_0x1a36de,'skippedPages':_0x1bdd6a,'totalPulled':_0x1a36de[_0x1a5d09(0x195)],'totalSkipped':_0x1bdd6a[_0x1a5d09(0x195)]}};}};async function buildPullPlan(_0x5ca3ff){const _0x33b341=a138_0x1d5b1e,_0x2bfd5c=loadPageProjectConfig(_0x5ca3ff[_0x33b341(0x19c)]),_0x3f54ef=await readPageLockFile(_0x2bfd5c[_0x33b341(0x193)]),{appLock:_0x1f0268}=ensurePageLockScope(_0x3f54ef??createEmptyPageLock(),_0x5ca3ff[_0x33b341(0x19c)]),_0x300e9f=getPageIdFlag(_0x5ca3ff);if(_0x300e9f!==undefined){const _0xf20b6f=await loadPageDetailForPage(_0x5ca3ff,_0x300e9f);return{'mode':_0x33b341(0x18c),'items':[await inspectPullTarget(_0x2bfd5c,_0x1f0268['pages'][String(_0xf20b6f[_0x33b341(0x1a7)])],_0xf20b6f)]};}const _0xb244d0=await loadDatasetDetailForPage(_0x5ca3ff),_0x1752ed=_0xb244d0[_0x33b341(0x17d)][_0x33b341(0x1a6)](_0x33c982=>!_0x33c982[_0x33b341(0x17a)]);if(_0x1752ed['length']===0x0)throw CliErrors[_0x33b341(0x17b)]('Dataset\x20\x22'+_0xb244d0['code']+_0x33b341(0x181));const _0x1f1f84=await Promise[_0x33b341(0x1ad)](_0x1752ed[_0x33b341(0x1af)](_0x17ec77=>loadPageDetailForPage(_0x5ca3ff,_0x17ec77['id']))),_0x2d4e6e=selectVersionTagGroup(_0x1f1f84,_0xf8efff=>_0xf8efff[_0x33b341(0x1ab)],_0x5ca3ff[_0x33b341(0x188)]('version-tag'));return{'mode':'batch','datasetCode':_0xb244d0['code'],'items':await Promise[_0x33b341(0x1ad)](_0x2d4e6e[_0x33b341(0x1b4)][_0x33b341(0x1af)](_0x48c781=>inspectPullTarget(_0x2bfd5c,_0x1f0268[_0x33b341(0x1b3)][String(_0x48c781[_0x33b341(0x1a7)])],_0x48c781)))};}async function inspectPullTarget(_0x3f0b75,_0x56287e,_0x20e651){const _0x2b9159=a138_0x1d5b1e,_0x4cd13c=resolvePageFilePath(_0x3f0b75,_0x20e651['pageId'],_0x20e651['type']),_0x174da8=await fileExists(_0x4cd13c);if(!_0x174da8){const _0xb1522a=serializePageSchemaForFile(_0x20e651[_0x2b9159(0x18f)]);return{'detail':_0x20e651,'localPath':_0x4cd13c,'localHash':computePageContentHash(_0xb1522a),'status':_0x2b9159(0x185)};}const _0x1701e7=await computePageFileHash(_0x4cd13c);if(!_0x56287e||_0x1701e7!==_0x56287e[_0x2b9159(0x17c)])return{'detail':_0x20e651,'localPath':_0x4cd13c,'localHash':_0x1701e7,'status':_0x2b9159(0x1a4),'reason':_0x2b9159(0x19a)};return{'detail':_0x20e651,'localPath':_0x4cd13c,'localHash':_0x1701e7,'status':_0x2b9159(0x185)};}function a138_0x1d7c(){const _0x177962=['1074fvvLUX','conflict','push','filter','pageId','/smartapi/lovrabet/detail?pageId=','datasetIds','407NbYrig','versionTag','24312oIabGP','all','read','map','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','type','pageVersion','pages','items','string','Use\x20--force\x20to\x20overwrite\x20local\x20changes.','status','deleted','validation','hash','relatedPages','pull','Page\x20ID','21kiPYQF','\x22\x20has\x20no\x20undeleted\x20related\x20pages.','/smartapi/lovrabet/detail\x20(per\x20selected\x20page)','\x20skipped','2844aAwSrK','would_pull','15940PCzKYn','number','str','boolean','force','name','single','1253gUTlgF','compress','code','1048330ODznnB','648690XCZnRW','Pull\x20page\x20schema\x20to\x20local\x20files','lockFilePath','GET','length','utf8','detail','513849WUrWPj','version-tag','local\x20unsynced\x20changes','323090cCjrIR','appCode','lastSync','reason','拉取完成:\x20','mode','page','localPath'];a138_0x1d7c=function(){return _0x177962;};return a138_0x1d7c();}function buildLockEntry(_0x494d2e,_0x5e48b8){const _0x313bda=a138_0x1d5b1e;return{'hash':computePageContentHash(_0x5e48b8),'pageId':_0x494d2e[_0x313bda(0x1a7)],'pageVersion':_0x494d2e[_0x313bda(0x1b2)],'type':_0x494d2e[_0x313bda(0x1b1)],'title':_0x494d2e['name'],'datasetIds':_0x494d2e[_0x313bda(0x1a9)],'versionTag':_0x494d2e['versionTag']};}function toPreviewItem(_0x4b77b5){const _0x2b608=a138_0x1d5b1e;return{'pageId':_0x4b77b5[_0x2b608(0x197)][_0x2b608(0x1a7)],'type':_0x4b77b5[_0x2b608(0x197)][_0x2b608(0x1b1)],'title':_0x4b77b5[_0x2b608(0x197)][_0x2b608(0x18b)],'localPath':_0x4b77b5[_0x2b608(0x1a2)],'status':_0x4b77b5[_0x2b608(0x179)],..._0x4b77b5[_0x2b608(0x19e)]?{'reason':_0x4b77b5[_0x2b608(0x19e)]}:{}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a139_0x14c924=a139_0x4dc5;function a139_0x4dc5(_0x539ed9,_0x423293){_0x539ed9=_0x539ed9-0x89;const _0x76aef9=a139_0x76ae();let _0x4dc5fd=_0x76aef9[_0x539ed9];return _0x4dc5fd;}function a139_0x76ae(){const _0x53c79b=['\x20page\x20pull\x20--datasetcode\x20','2427804Tviszl','localContent','remoteDetail','推送成功,服务端已规范化\x20schema','Local\x20file\x20not\x20found:\x20','nextLockEntry','parse','UNKNOWN','single','str','batch','推送成功','\x20page\x20pull\x20--id\x20','push','mode','toISOString','utf8','pageId','lockFilePath','values','pageVersion','No\x20local\x20pages\x20found\x20for\x20dataset\x20\x22','996496qvRrHR','145tUoVec','`\x20first','pages','relatedPages','hash','normalized','\x20has\x20changed\x20since\x20last\x20pull.','3286703WCtiFe','11448NRqqrd','13227220WJOcZS','Run\x20`','Push\x20local\x20page\x20schema\x20back\x20to\x20remote','page','无变更需要推送','Remote\x20page\x20','includes','candidates','type','470427PBpNqd','status','reason','compress','message','9dRFPqA','datasetId','\x20no\x20longer\x20belongs\x20to\x20the\x20selected\x20dataset.','blocked','`\x20first.','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','localPath','unchanged','number','page-','name','title','versionTag','datasetIds','Page\x20','no\x20changes','items','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','conflict','202UbOmVf','alias','string','local\x20JSON\x20is\x20invalid','validation','datasetCode','推送失败','lastSync','would_push','map','code','length','version-tag','remote\x20schema\x20changed','/smartapi/lovrabet/update-page','all','86820jMMuMi','Page\x20ID','No\x20lock\x20record\x20found\x20for\x20page\x20','filter','appCode'];a139_0x76ae=function(){return _0x53c79b;};return a139_0x76ae();}(function(_0x277c67,_0x521c14){const _0x423bc6=a139_0x4dc5,_0x382b64=_0x277c67();while(!![]){try{const _0x269b21=parseInt(_0x423bc6(0x95))/0x1+parseInt(_0x423bc6(0xad))/0x2*(-parseInt(_0x423bc6(0x8b))/0x3)+parseInt(_0x423bc6(0xbd))/0x4*(parseInt(_0x423bc6(0xda))/0x5)+parseInt(_0x423bc6(0xc3))/0x6+parseInt(_0x423bc6(0x8a))/0x7+parseInt(_0x423bc6(0xd9))/0x8+parseInt(_0x423bc6(0x9a))/0x9*(-parseInt(_0x423bc6(0x8c))/0xa);if(_0x269b21===_0x521c14)break;else _0x382b64['push'](_0x382b64['shift']());}catch(_0xb07f44){_0x382b64['push'](_0x382b64['shift']());}}}(a139_0x76ae,0x5f53b));import{readFile,writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{updatePage}from'../../core/api-client.js';import{computePageContentHash,computePageFileHash,computeSerializedSchemaHash,serializePageSchemaForFile}from'../../core/page/hash.js';import{fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePush={'service':a139_0x14c924(0x8f),'command':a139_0x14c924(0xd0),'description':a139_0x14c924(0x8e),'risk':'write','defaultOutputFormat':a139_0x14c924(0x98),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':a139_0x14c924(0xa2),'description':a139_0x14c924(0xbe)},DATASETCODE_FLAG_OPTIONAL,{'name':a139_0x14c924(0xae),'type':'string','description':a139_0x14c924(0xab)},{'name':a139_0x14c924(0xb9),'type':a139_0x14c924(0xaf),'description':a139_0x14c924(0x9f)}],async 'validate'(_0x2821d8){validatePageTargetSelector(_0x2821d8);},async 'dryRun'(_0x325752){const _0x4e38f7=a139_0x14c924,_0x279792=await buildPushPreview(_0x325752);return{'method':'POST','url':_0x4e38f7(0xbb),'body':{'appCode':_0x325752[_0x4e38f7(0xc1)],'mode':_0x279792[_0x4e38f7(0xd1)],'datasetCode':_0x279792[_0x4e38f7(0xb2)]??null,'pages':_0x279792[_0x4e38f7(0xaa)]},'description':serializeDryRunDescription({'mode':_0x279792['mode'],'datasetCode':_0x279792[_0x4e38f7(0xb2)]??null,'totalWouldPush':_0x279792['items'][_0x4e38f7(0xc0)](_0x5f34f6=>_0x5f34f6[_0x4e38f7(0x96)]===_0x4e38f7(0xb5))[_0x4e38f7(0xb8)],'totalUnchanged':_0x279792[_0x4e38f7(0xaa)][_0x4e38f7(0xc0)](_0x566f96=>_0x566f96[_0x4e38f7(0x96)]===_0x4e38f7(0xa1))['length'],'totalConflicts':_0x279792['items']['filter'](_0x57b413=>_0x57b413[_0x4e38f7(0x96)]==='conflict'||_0x57b413[_0x4e38f7(0x96)]===_0x4e38f7(0x9d))[_0x4e38f7(0xb8)]})};},async 'execute'(_0x7836e1){const _0x3e953a=a139_0x14c924,_0x7a0dff=loadPageProjectConfig(_0x7836e1[_0x3e953a(0xc1)]),_0x4dfc3a=await readPageLockFile(_0x7a0dff[_0x3e953a(0xd5)]),{lockData:_0x2bb959,appLock:_0x5bcf32}=ensurePageLockScope(_0x4dfc3a??createEmptyPageLock(),_0x7836e1['appCode']),_0x2b082a=getPageIdFlag(_0x7836e1);if(_0x2b082a!==undefined){const _0x47bf15=await prepareSinglePush(_0x7836e1,_0x7a0dff,_0x5bcf32[_0x3e953a(0xdc)][String(_0x2b082a)],_0x2b082a),_0x580602=await pushPreparedPage(_0x7836e1,_0x47bf15);return _0x5bcf32[_0x3e953a(0xdc)][String(_0x580602['pageId'])]=_0x580602[_0x3e953a(0xc8)],_0x5bcf32[_0x3e953a(0xb4)]=new Date()['toISOString'](),await writePageLockFile(_0x7a0dff['lockFilePath'],_0x2bb959),{'ok':!![],'message':_0x580602[_0x3e953a(0xdf)]?_0x3e953a(0xc6):_0x3e953a(0xce),'data':{'appCode':_0x7836e1[_0x3e953a(0xc1)],'pushedPages':[{'pageId':_0x580602[_0x3e953a(0xd4)],'type':_0x580602[_0x3e953a(0x94)],'title':_0x580602[_0x3e953a(0xa5)],'normalized':_0x580602[_0x3e953a(0xdf)]}],'skippedPages':[],'failedPages':[],'totalPushed':0x1,'totalSkipped':0x0,'totalFailed':0x0}};}const _0x47914f=await buildBatchPushPlan(_0x7836e1,_0x5bcf32[_0x3e953a(0xdc)]),_0x5d6026=[],_0x538ae3=[],_0x5cfbff=[];for(const _0x5345a9 of _0x47914f['unchanged']){_0x538ae3['push'](_0x5345a9);}for(const _0x31bf23 of _0x47914f[_0x3e953a(0x93)]){try{const _0x583e2d=await prepareSinglePush(_0x7836e1,_0x7a0dff,_0x5bcf32[_0x3e953a(0xdc)][String(_0x31bf23[_0x3e953a(0xd4)])],_0x31bf23['pageId'],_0x47914f[_0x3e953a(0x9b)]),_0x5ce989=await pushPreparedPage(_0x7836e1,_0x583e2d);_0x5bcf32[_0x3e953a(0xdc)][String(_0x5ce989[_0x3e953a(0xd4)])]=_0x5ce989['nextLockEntry'],_0x5d6026['push']({'pageId':_0x5ce989[_0x3e953a(0xd4)],'type':_0x5ce989['type'],'title':_0x5ce989[_0x3e953a(0xa5)],'normalized':_0x5ce989['normalized']});}catch(_0x4bc45d){_0x5cfbff[_0x3e953a(0xd0)]({'pageId':_0x31bf23['pageId'],'type':_0x31bf23['type'],'title':_0x31bf23[_0x3e953a(0xa5)],'reason':_0x4bc45d instanceof Error?_0x4bc45d[_0x3e953a(0x99)]:String(_0x4bc45d)});}}return _0x5bcf32[_0x3e953a(0xb4)]=new Date()[_0x3e953a(0xd2)](),await writePageLockFile(_0x7a0dff[_0x3e953a(0xd5)],_0x2bb959),{'ok':_0x5cfbff['length']===0x0||_0x5d6026[_0x3e953a(0xb8)]>0x0||_0x538ae3['length']>0x0,'message':_0x5cfbff[_0x3e953a(0xb8)]>0x0&&_0x5d6026[_0x3e953a(0xb8)]>0x0?'部分页面推送失败':_0x5d6026[_0x3e953a(0xb8)]>0x0?_0x3e953a(0xce):_0x538ae3[_0x3e953a(0xb8)]>0x0&&_0x5cfbff[_0x3e953a(0xb8)]===0x0?_0x3e953a(0x90):_0x5cfbff[0x0]?.[_0x3e953a(0x97)]||_0x3e953a(0xb3),'data':{'appCode':_0x7836e1[_0x3e953a(0xc1)],'pushedPages':_0x5d6026,'skippedPages':_0x538ae3,'failedPages':_0x5cfbff,'totalPushed':_0x5d6026['length'],'totalSkipped':_0x538ae3['length'],'totalFailed':_0x5cfbff['length']}};}};async function buildPushPreview(_0x29127e){const _0x13342=a139_0x14c924,_0x420082=loadPageProjectConfig(_0x29127e[_0x13342(0xc1)]),_0x132727=await readPageLockFile(_0x420082[_0x13342(0xd5)]),{appLock:_0x74f890}=ensurePageLockScope(_0x132727??createEmptyPageLock(),_0x29127e[_0x13342(0xc1)]),_0xf78850=getPageIdFlag(_0x29127e);if(_0xf78850!==undefined)return{'mode':_0x13342(0xcb),'items':[await inspectPushPage(_0x29127e,_0x420082,_0x74f890['pages'][String(_0xf78850)],_0xf78850)]};const _0xcb0ee0=await buildBatchPushPlan(_0x29127e,_0x74f890['pages']);return{'mode':_0x13342(0xcd),'datasetCode':_0xcb0ee0[_0x13342(0xb2)],'items':[..._0xcb0ee0[_0x13342(0xa1)][_0x13342(0xb6)](_0x5bc9b5=>({'pageId':_0x5bc9b5[_0x13342(0xd4)],'type':_0x5bc9b5[_0x13342(0x94)],'title':_0x5bc9b5['title'],'localPath':_0x5bc9b5[_0x13342(0xa0)],'status':_0x13342(0xa1),'reason':_0x5bc9b5[_0x13342(0x97)]})),...await Promise[_0x13342(0xbc)](_0xcb0ee0[_0x13342(0x93)][_0x13342(0xb6)](_0x3b8afc=>inspectPushPage(_0x29127e,_0x420082,_0x74f890[_0x13342(0xdc)][String(_0x3b8afc['pageId'])],_0x3b8afc[_0x13342(0xd4)],_0xcb0ee0[_0x13342(0x9b)])))]};}async function buildBatchPushPlan(_0x5b149a,_0x49ff16){const _0x36b991=a139_0x14c924,_0x214d06=loadPageProjectConfig(_0x5b149a[_0x36b991(0xc1)]),_0x4fb8b6=await loadDatasetDetailForPage(_0x5b149a),_0x47f8cb=_0x4fb8b6['id'],_0x4a0af1=new Set(_0x4fb8b6[_0x36b991(0xdd)][_0x36b991(0xc0)](_0x15de2b=>!_0x15de2b['deleted'])[_0x36b991(0xb6)](_0x2e1530=>_0x2e1530['id'])),_0x3173e2=Object[_0x36b991(0xd6)](_0x49ff16)[_0x36b991(0xc0)](_0x13f71c=>_0x13f71c['datasetIds']['includes'](_0x47f8cb)&&_0x4a0af1['has'](_0x13f71c[_0x36b991(0xd4)]));if(_0x3173e2['length']===0x0)throw CliErrors[_0x36b991(0xb1)](_0x36b991(0xd8)+_0x4fb8b6[_0x36b991(0xb7)]+'\x22.',_0x36b991(0x8d)+CLI_BIN_NAME+_0x36b991(0xc2)+_0x4fb8b6[_0x36b991(0xb7)]+_0x36b991(0x9e));const _0x223b57=selectVersionTagGroup(_0x3173e2,_0x2da697=>_0x2da697[_0x36b991(0xa6)]??null,_0x5b149a[_0x36b991(0xcc)](_0x36b991(0xb9))),_0x2e3bf2=[],_0x213a9c=[];for(const _0x2e5b8a of _0x223b57[_0x36b991(0xaa)]){const _0x30549b=resolvePageFilePath(_0x214d06,_0x2e5b8a[_0x36b991(0xd4)],_0x2e5b8a[_0x36b991(0x94)]);if(!await fileExists(_0x30549b)){_0x2e3bf2[_0x36b991(0xd0)]({'pageId':_0x2e5b8a[_0x36b991(0xd4)],'type':_0x2e5b8a[_0x36b991(0x94)],'title':_0x2e5b8a['title']});continue;}const _0x3c7d0a=await computePageFileHash(_0x30549b);if(_0x3c7d0a===_0x2e5b8a['hash']){_0x213a9c[_0x36b991(0xd0)]({'pageId':_0x2e5b8a[_0x36b991(0xd4)],'type':_0x2e5b8a[_0x36b991(0x94)],'title':_0x2e5b8a[_0x36b991(0xa5)],'localPath':_0x30549b,'reason':'no\x20changes'});continue;}_0x2e3bf2[_0x36b991(0xd0)]({'pageId':_0x2e5b8a[_0x36b991(0xd4)],'type':_0x2e5b8a['type'],'title':_0x2e5b8a[_0x36b991(0xa5)]});}return{'datasetCode':_0x4fb8b6[_0x36b991(0xb7)],'datasetId':_0x47f8cb,'candidates':_0x2e3bf2,'unchanged':_0x213a9c};}async function inspectPushPage(_0x3711d1,_0x3381bc,_0x27388f,_0x9b26bc,_0x3a9555){const _0x43304c=a139_0x14c924;if(!_0x27388f)return{'pageId':_0x9b26bc,'type':_0x43304c(0xca),'title':_0x43304c(0xa3)+_0x9b26bc,'localPath':resolvePageFilePath(_0x3381bc,_0x9b26bc,_0x43304c(0xca)),'status':'blocked','reason':_0x43304c(0x8d)+CLI_BIN_NAME+'\x20page\x20pull\x20--id\x20'+_0x9b26bc+_0x43304c(0xdb)};const _0x381065=resolvePageFilePath(_0x3381bc,_0x9b26bc,_0x27388f['type']);if(!await fileExists(_0x381065))return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0x9d),'reason':_0x43304c(0xc7)+_0x381065};const _0x3132ea=await readFile(_0x381065,_0x43304c(0xd3));try{JSON['parse'](_0x3132ea);}catch{return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0x9d),'reason':_0x43304c(0xb0)};}const _0x1e23dc=computePageContentHash(_0x3132ea);if(_0x1e23dc===_0x27388f['hash'])return{'pageId':_0x9b26bc,'type':_0x27388f['type'],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0xa1),'reason':_0x43304c(0xa9)};try{const _0x52e19b=await loadPageDetailForPage(_0x3711d1,_0x9b26bc);if(_0x3a9555!=null&&!_0x52e19b[_0x43304c(0xa7)][_0x43304c(0x92)](_0x3a9555))return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0xac),'reason':'Page\x20'+_0x9b26bc+'\x20no\x20longer\x20belongs\x20to\x20the\x20target\x20dataset'};const _0x2a7532=_0x27388f[_0x43304c(0xd7)]!=null&&_0x52e19b['pageVersion']!=null;if(_0x2a7532&&_0x27388f[_0x43304c(0xd7)]!==_0x52e19b['pageVersion'])return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0xac),'reason':'remote\x20pageVersion\x20changed'};if(!_0x2a7532&&computeSerializedSchemaHash(_0x52e19b[_0x43304c(0xb7)])!==_0x27388f[_0x43304c(0xde)])return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0xac),'reason':_0x43304c(0xba)};}catch(_0x1bce55){return{'pageId':_0x9b26bc,'type':_0x27388f[_0x43304c(0x94)],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':'blocked','reason':_0x1bce55 instanceof Error?_0x1bce55[_0x43304c(0x99)]:String(_0x1bce55)};}return{'pageId':_0x9b26bc,'type':_0x27388f['type'],'title':_0x27388f[_0x43304c(0xa5)],'localPath':_0x381065,'status':_0x43304c(0xb5)};}async function prepareSinglePush(_0x2623b6,_0x335306,_0x423a97,_0x234ef0,_0x40653f){const _0x62398=a139_0x14c924;if(!_0x423a97)throw CliErrors[_0x62398(0xb1)](_0x62398(0xbf)+_0x234ef0+'.',_0x62398(0x8d)+CLI_BIN_NAME+_0x62398(0xcf)+_0x234ef0+'`\x20first.');const _0x3c3b43=resolvePageFilePath(_0x335306,_0x234ef0,_0x423a97[_0x62398(0x94)]);if(!await fileExists(_0x3c3b43))throw CliErrors[_0x62398(0xb1)](_0x62398(0xc7)+_0x3c3b43,'Run\x20`'+CLI_BIN_NAME+'\x20page\x20pull\x20--id\x20'+_0x234ef0+_0x62398(0x9e));const _0x47aa81=await readFile(_0x3c3b43,_0x62398(0xd3));try{JSON[_0x62398(0xc9)](_0x47aa81);}catch{throw CliErrors[_0x62398(0xb1)]('Invalid\x20JSON\x20in\x20local\x20page\x20file:\x20'+_0x3c3b43);}const _0x2f3d06=await loadPageDetailForPage(_0x2623b6,_0x234ef0);if(_0x40653f!=null&&!_0x2f3d06[_0x62398(0xa7)][_0x62398(0x92)](_0x40653f))throw CliErrors[_0x62398(0xb1)](_0x62398(0xa8)+_0x234ef0+_0x62398(0x9c));const _0x17037f=_0x423a97[_0x62398(0xd7)]!=null&&_0x2f3d06[_0x62398(0xd7)]!=null;if(_0x17037f){if(_0x423a97[_0x62398(0xd7)]!==_0x2f3d06['pageVersion'])throw CliErrors['validation'](_0x62398(0x91)+_0x234ef0+_0x62398(0x89),_0x62398(0x8d)+CLI_BIN_NAME+_0x62398(0xcf)+_0x234ef0+'`\x20first.');}else{const _0x2a5ddc=computeSerializedSchemaHash(_0x2f3d06[_0x62398(0xb7)]);if(_0x2a5ddc!==_0x423a97[_0x62398(0xde)])throw CliErrors['validation']('Remote\x20page\x20'+_0x234ef0+'\x20has\x20changed\x20since\x20last\x20pull.','Run\x20`'+CLI_BIN_NAME+_0x62398(0xcf)+_0x234ef0+_0x62398(0x9e));}return{'lockEntry':_0x423a97,'localPath':_0x3c3b43,'localContent':_0x47aa81,'localHash':computePageContentHash(_0x47aa81),'remoteDetail':_0x2f3d06};}async function pushPreparedPage(_0x117f8e,_0x1fc557){const _0x375f7a=a139_0x14c924,_0x2c533d=await updatePage(_0x117f8e['appCode'],_0x1fc557['remoteDetail'][_0x375f7a(0xd4)],_0x1fc557[_0x375f7a(0xc4)],_0x1fc557[_0x375f7a(0xc5)]['datasetIds']);if(!_0x2c533d)throw CliErrors['apiError']('Page\x20update\x20failed:\x20'+_0x1fc557[_0x375f7a(0xc5)][_0x375f7a(0xd4)]);const _0x417b05=await loadPageDetailForPage(_0x117f8e,_0x1fc557[_0x375f7a(0xc5)][_0x375f7a(0xd4)]),_0x4ea05d=serializePageSchemaForFile(_0x417b05[_0x375f7a(0xb7)]);return await writeFile(_0x1fc557[_0x375f7a(0xa0)],_0x4ea05d,_0x375f7a(0xd3)),{'pageId':_0x417b05[_0x375f7a(0xd4)],'type':_0x417b05[_0x375f7a(0x94)],'title':_0x417b05[_0x375f7a(0xa4)],'normalized':_0x4ea05d!==serializePageSchemaForFile(_0x1fc557['localContent']),'nextLockEntry':{'hash':computePageContentHash(_0x4ea05d),'pageId':_0x417b05[_0x375f7a(0xd4)],'pageVersion':_0x417b05[_0x375f7a(0xd7)],'type':_0x417b05[_0x375f7a(0x94)],'title':_0x417b05[_0x375f7a(0xa4)],'datasetIds':_0x417b05[_0x375f7a(0xa7)],'versionTag':_0x417b05[_0x375f7a(0xa6)]}};}
|
|
1
|
+
function a139_0x3233(){const _0x50b174=['11NuGZRk','candidates','filter','1049107GIuXom','no\x20changes','unchanged','No\x20lock\x20record\x20found\x20for\x20page\x20','length','推送成功','Dataset\x20alias\x20from\x20api.ts\x20(resolves\x20to\x20dataset\x20code\x20automatically)','7480062ItDluJ','lockFilePath','\x20page\x20pull\x20--id\x20','8yyCaGx','Push\x20local\x20page\x20schema\x20back\x20to\x20remote','部分页面推送失败','versionTag','type','\x20no\x20longer\x20belongs\x20to\x20the\x20selected\x20dataset.','title','推送失败','/smartapi/lovrabet/update-page','conflict','toISOString','includes','pageId','code','number','page-','batch','version-tag','No\x20local\x20pages\x20found\x20for\x20dataset\x20\x22','relatedPages','name','validation','nextLockEntry','12VPyxaA','4418952RgeaJC','datasetId','deleted','would_push','localContent','pages','remote\x20pageVersion\x20changed','has','alias','lastSync','page','推送成功,服务端已规范化\x20schema','无变更需要推送','\x20page\x20pull\x20--datasetcode\x20','remoteDetail','datasetIds','`\x20first.','parse','blocked','all','Page\x20ID','message','mode','str','\x20no\x20longer\x20belongs\x20to\x20the\x20target\x20dataset','6614839FpYluo','map','push','compress','status','Remote\x20page\x20','string','reason','datasetCode','utf8','items','6xMzsCj','hash','Run\x20`','Page\x20group\x20version\x20tag\x20(batch\x20mode\x20only)','Page\x20','appCode','local\x20JSON\x20is\x20invalid','2356390bwvdKC','Page\x20update\x20failed:\x20','24982510MFiMYP','Invalid\x20JSON\x20in\x20local\x20page\x20file:\x20','pageVersion','localPath','873669IgQGrJ'];a139_0x3233=function(){return _0x50b174;};return a139_0x3233();}function a139_0x281e(_0x17864b,_0x3aba4e){_0x17864b=_0x17864b-0x124;const _0x323373=a139_0x3233();let _0x281e0d=_0x323373[_0x17864b];return _0x281e0d;}const a139_0x2bbd57=a139_0x281e;(function(_0x56f374,_0x130a1d){const _0x5a7fb3=a139_0x281e,_0x3043a3=_0x56f374();while(!![]){try{const _0x20d89a=-parseInt(_0x5a7fb3(0x15d))/0x1+parseInt(_0x5a7fb3(0x14c))/0x2*(parseInt(_0x5a7fb3(0x159))/0x3)+parseInt(_0x5a7fb3(0x128))/0x4+parseInt(_0x5a7fb3(0x153))/0x5*(-parseInt(_0x5a7fb3(0x127))/0x6)+-parseInt(_0x5a7fb3(0x141))/0x7+parseInt(_0x5a7fb3(0x167))/0x8*(-parseInt(_0x5a7fb3(0x164))/0x9)+parseInt(_0x5a7fb3(0x155))/0xa*(parseInt(_0x5a7fb3(0x15a))/0xb);if(_0x20d89a===_0x130a1d)break;else _0x3043a3['push'](_0x3043a3['shift']());}catch(_0x3399b6){_0x3043a3['push'](_0x3043a3['shift']());}}}(a139_0x3233,0xad124));import{readFile,writeFile}from'node:fs/promises';import{APPCODE_FLAG_OPTIONAL,DATASETCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{getPageIdFlag,loadDatasetDetailForPage,loadPageDetailForPage,selectVersionTagGroup,serializeDryRunDescription,validatePageTargetSelector}from'../../commands/page/shared.js';import{updatePage}from'../../core/api-client.js';import{computePageContentHash,computePageFileHash,computeSerializedSchemaHash,serializePageSchemaForFile}from'../../core/page/hash.js';import{fileExists,loadPageProjectConfig,resolvePageFilePath}from'../../core/page/file-system.js';import{createEmptyPageLock,ensurePageLockScope,readPageLockFile,writePageLockFile}from'../../core/page/lock.js';import{CliErrors}from'../../errors.js';export const pagePush={'service':a139_0x2bbd57(0x132),'command':'push','description':a139_0x2bbd57(0x168),'risk':'write','defaultOutputFormat':a139_0x2bbd57(0x144),'flags':[APPCODE_FLAG_OPTIONAL,{'name':'id','type':a139_0x2bbd57(0x175),'description':a139_0x2bbd57(0x13c)},DATASETCODE_FLAG_OPTIONAL,{'name':a139_0x2bbd57(0x130),'type':a139_0x2bbd57(0x147),'description':a139_0x2bbd57(0x163)},{'name':'version-tag','type':a139_0x2bbd57(0x147),'description':a139_0x2bbd57(0x14f)}],async 'validate'(_0x4b6d46){validatePageTargetSelector(_0x4b6d46);},async 'dryRun'(_0x3ae123){const _0x2d67a7=a139_0x2bbd57,_0x4e0ba3=await buildPushPreview(_0x3ae123);return{'method':'POST','url':_0x2d67a7(0x16f),'body':{'appCode':_0x3ae123['appCode'],'mode':_0x4e0ba3[_0x2d67a7(0x13e)],'datasetCode':_0x4e0ba3['datasetCode']??null,'pages':_0x4e0ba3[_0x2d67a7(0x14b)]},'description':serializeDryRunDescription({'mode':_0x4e0ba3[_0x2d67a7(0x13e)],'datasetCode':_0x4e0ba3['datasetCode']??null,'totalWouldPush':_0x4e0ba3[_0x2d67a7(0x14b)][_0x2d67a7(0x15c)](_0x3402fe=>_0x3402fe[_0x2d67a7(0x145)]==='would_push')[_0x2d67a7(0x161)],'totalUnchanged':_0x4e0ba3[_0x2d67a7(0x14b)][_0x2d67a7(0x15c)](_0x225702=>_0x225702[_0x2d67a7(0x145)]===_0x2d67a7(0x15f))[_0x2d67a7(0x161)],'totalConflicts':_0x4e0ba3[_0x2d67a7(0x14b)][_0x2d67a7(0x15c)](_0x4f201e=>_0x4f201e[_0x2d67a7(0x145)]===_0x2d67a7(0x170)||_0x4f201e[_0x2d67a7(0x145)]==='blocked')[_0x2d67a7(0x161)]})};},async 'execute'(_0x3b66ad){const _0x63e1f8=a139_0x2bbd57,_0x395b5f=loadPageProjectConfig(_0x3b66ad['appCode']),_0x3fd0ec=await readPageLockFile(_0x395b5f[_0x63e1f8(0x165)]),{lockData:_0x1d7653,appLock:_0x581afa}=ensurePageLockScope(_0x3fd0ec??createEmptyPageLock(),_0x3b66ad[_0x63e1f8(0x151)]),_0x3eb966=getPageIdFlag(_0x3b66ad);if(_0x3eb966!==undefined){const _0x3cc463=await prepareSinglePush(_0x3b66ad,_0x395b5f,_0x581afa[_0x63e1f8(0x12d)][String(_0x3eb966)],_0x3eb966),_0x186959=await pushPreparedPage(_0x3b66ad,_0x3cc463);return _0x581afa[_0x63e1f8(0x12d)][String(_0x186959[_0x63e1f8(0x173)])]=_0x186959[_0x63e1f8(0x126)],_0x581afa[_0x63e1f8(0x131)]=new Date()['toISOString'](),await writePageLockFile(_0x395b5f['lockFilePath'],_0x1d7653),{'ok':!![],'message':_0x186959['normalized']?_0x63e1f8(0x133):'推送成功','data':{'appCode':_0x3b66ad['appCode'],'pushedPages':[{'pageId':_0x186959[_0x63e1f8(0x173)],'type':_0x186959[_0x63e1f8(0x16b)],'title':_0x186959[_0x63e1f8(0x16d)],'normalized':_0x186959['normalized']}],'skippedPages':[],'failedPages':[],'totalPushed':0x1,'totalSkipped':0x0,'totalFailed':0x0}};}const _0x5e0efe=await buildBatchPushPlan(_0x3b66ad,_0x581afa[_0x63e1f8(0x12d)]),_0x8595c1=[],_0x55b152=[],_0x3f08d8=[];for(const _0x42dde4 of _0x5e0efe[_0x63e1f8(0x15f)]){_0x55b152['push'](_0x42dde4);}for(const _0x1f5263 of _0x5e0efe[_0x63e1f8(0x15b)]){try{const _0x3d9482=await prepareSinglePush(_0x3b66ad,_0x395b5f,_0x581afa[_0x63e1f8(0x12d)][String(_0x1f5263[_0x63e1f8(0x173)])],_0x1f5263[_0x63e1f8(0x173)],_0x5e0efe[_0x63e1f8(0x129)]),_0xe4cc7c=await pushPreparedPage(_0x3b66ad,_0x3d9482);_0x581afa[_0x63e1f8(0x12d)][String(_0xe4cc7c[_0x63e1f8(0x173)])]=_0xe4cc7c[_0x63e1f8(0x126)],_0x8595c1[_0x63e1f8(0x143)]({'pageId':_0xe4cc7c[_0x63e1f8(0x173)],'type':_0xe4cc7c[_0x63e1f8(0x16b)],'title':_0xe4cc7c['title'],'normalized':_0xe4cc7c['normalized']});}catch(_0x1f3d9d){_0x3f08d8[_0x63e1f8(0x143)]({'pageId':_0x1f5263[_0x63e1f8(0x173)],'type':_0x1f5263['type'],'title':_0x1f5263[_0x63e1f8(0x16d)],'reason':_0x1f3d9d instanceof Error?_0x1f3d9d[_0x63e1f8(0x13d)]:String(_0x1f3d9d)});}}return _0x581afa[_0x63e1f8(0x131)]=new Date()[_0x63e1f8(0x171)](),await writePageLockFile(_0x395b5f[_0x63e1f8(0x165)],_0x1d7653),{'ok':_0x3f08d8[_0x63e1f8(0x161)]===0x0||_0x8595c1[_0x63e1f8(0x161)]>0x0||_0x55b152[_0x63e1f8(0x161)]>0x0,'message':_0x3f08d8['length']>0x0&&_0x8595c1[_0x63e1f8(0x161)]>0x0?_0x63e1f8(0x169):_0x8595c1['length']>0x0?_0x63e1f8(0x162):_0x55b152[_0x63e1f8(0x161)]>0x0&&_0x3f08d8[_0x63e1f8(0x161)]===0x0?_0x63e1f8(0x134):_0x3f08d8[0x0]?.['reason']||_0x63e1f8(0x16e),'data':{'appCode':_0x3b66ad['appCode'],'pushedPages':_0x8595c1,'skippedPages':_0x55b152,'failedPages':_0x3f08d8,'totalPushed':_0x8595c1['length'],'totalSkipped':_0x55b152['length'],'totalFailed':_0x3f08d8[_0x63e1f8(0x161)]}};}};async function buildPushPreview(_0x2d9f05){const _0x102819=a139_0x2bbd57,_0x58757e=loadPageProjectConfig(_0x2d9f05[_0x102819(0x151)]),_0x1ab1b7=await readPageLockFile(_0x58757e['lockFilePath']),{appLock:_0x2506d9}=ensurePageLockScope(_0x1ab1b7??createEmptyPageLock(),_0x2d9f05[_0x102819(0x151)]),_0x46d7a2=getPageIdFlag(_0x2d9f05);if(_0x46d7a2!==undefined)return{'mode':'single','items':[await inspectPushPage(_0x2d9f05,_0x58757e,_0x2506d9['pages'][String(_0x46d7a2)],_0x46d7a2)]};const _0x24e3d5=await buildBatchPushPlan(_0x2d9f05,_0x2506d9['pages']);return{'mode':_0x102819(0x177),'datasetCode':_0x24e3d5[_0x102819(0x149)],'items':[..._0x24e3d5[_0x102819(0x15f)]['map'](_0x549878=>({'pageId':_0x549878[_0x102819(0x173)],'type':_0x549878['type'],'title':_0x549878['title'],'localPath':_0x549878[_0x102819(0x158)],'status':_0x102819(0x15f),'reason':_0x549878[_0x102819(0x148)]})),...await Promise[_0x102819(0x13b)](_0x24e3d5[_0x102819(0x15b)][_0x102819(0x142)](_0x12d06d=>inspectPushPage(_0x2d9f05,_0x58757e,_0x2506d9[_0x102819(0x12d)][String(_0x12d06d[_0x102819(0x173)])],_0x12d06d[_0x102819(0x173)],_0x24e3d5['datasetId'])))]};}async function buildBatchPushPlan(_0x5c4ace,_0x205b64){const _0x277d28=a139_0x2bbd57,_0x3b0417=loadPageProjectConfig(_0x5c4ace[_0x277d28(0x151)]),_0x21dda6=await loadDatasetDetailForPage(_0x5c4ace),_0x28b281=_0x21dda6['id'],_0x3000d0=new Set(_0x21dda6[_0x277d28(0x17a)][_0x277d28(0x15c)](_0x36a231=>!_0x36a231[_0x277d28(0x12a)])[_0x277d28(0x142)](_0x375d99=>_0x375d99['id'])),_0x13d77c=Object['values'](_0x205b64)[_0x277d28(0x15c)](_0x2f5092=>_0x2f5092['datasetIds'][_0x277d28(0x172)](_0x28b281)&&_0x3000d0[_0x277d28(0x12f)](_0x2f5092[_0x277d28(0x173)]));if(_0x13d77c[_0x277d28(0x161)]===0x0)throw CliErrors[_0x277d28(0x125)](_0x277d28(0x179)+_0x21dda6[_0x277d28(0x174)]+'\x22.',_0x277d28(0x14e)+CLI_BIN_NAME+_0x277d28(0x135)+_0x21dda6[_0x277d28(0x174)]+'`\x20first.');const _0x45f0a2=selectVersionTagGroup(_0x13d77c,_0x484485=>_0x484485[_0x277d28(0x16a)]??null,_0x5c4ace[_0x277d28(0x13f)](_0x277d28(0x178))),_0x664c8f=[],_0x452971=[];for(const _0x2bb19d of _0x45f0a2[_0x277d28(0x14b)]){const _0x2e47b7=resolvePageFilePath(_0x3b0417,_0x2bb19d['pageId'],_0x2bb19d[_0x277d28(0x16b)]);if(!await fileExists(_0x2e47b7)){_0x664c8f['push']({'pageId':_0x2bb19d[_0x277d28(0x173)],'type':_0x2bb19d[_0x277d28(0x16b)],'title':_0x2bb19d[_0x277d28(0x16d)]});continue;}const _0x1cf064=await computePageFileHash(_0x2e47b7);if(_0x1cf064===_0x2bb19d[_0x277d28(0x14d)]){_0x452971[_0x277d28(0x143)]({'pageId':_0x2bb19d[_0x277d28(0x173)],'type':_0x2bb19d['type'],'title':_0x2bb19d[_0x277d28(0x16d)],'localPath':_0x2e47b7,'reason':'no\x20changes'});continue;}_0x664c8f[_0x277d28(0x143)]({'pageId':_0x2bb19d['pageId'],'type':_0x2bb19d[_0x277d28(0x16b)],'title':_0x2bb19d['title']});}return{'datasetCode':_0x21dda6[_0x277d28(0x174)],'datasetId':_0x28b281,'candidates':_0x664c8f,'unchanged':_0x452971};}async function inspectPushPage(_0x368e43,_0x181602,_0x5d1fc4,_0x1fc719,_0x2ddd39){const _0x5f5b64=a139_0x2bbd57;if(!_0x5d1fc4)return{'pageId':_0x1fc719,'type':'UNKNOWN','title':_0x5f5b64(0x176)+_0x1fc719,'localPath':resolvePageFilePath(_0x181602,_0x1fc719,'UNKNOWN'),'status':_0x5f5b64(0x13a),'reason':'Run\x20`'+CLI_BIN_NAME+_0x5f5b64(0x166)+_0x1fc719+'`\x20first'};const _0x216ba6=resolvePageFilePath(_0x181602,_0x1fc719,_0x5d1fc4[_0x5f5b64(0x16b)]);if(!await fileExists(_0x216ba6))return{'pageId':_0x1fc719,'type':_0x5d1fc4['type'],'title':_0x5d1fc4['title'],'localPath':_0x216ba6,'status':'blocked','reason':'Local\x20file\x20not\x20found:\x20'+_0x216ba6};const _0x18ca9d=await readFile(_0x216ba6,_0x5f5b64(0x14a));try{JSON[_0x5f5b64(0x139)](_0x18ca9d);}catch{return{'pageId':_0x1fc719,'type':_0x5d1fc4[_0x5f5b64(0x16b)],'title':_0x5d1fc4[_0x5f5b64(0x16d)],'localPath':_0x216ba6,'status':'blocked','reason':_0x5f5b64(0x152)};}const _0x3bad3c=computePageContentHash(_0x18ca9d);if(_0x3bad3c===_0x5d1fc4[_0x5f5b64(0x14d)])return{'pageId':_0x1fc719,'type':_0x5d1fc4[_0x5f5b64(0x16b)],'title':_0x5d1fc4['title'],'localPath':_0x216ba6,'status':'unchanged','reason':_0x5f5b64(0x15e)};try{const _0x2c1280=await loadPageDetailForPage(_0x368e43,_0x1fc719);if(_0x2ddd39!=null&&!_0x2c1280[_0x5f5b64(0x137)][_0x5f5b64(0x172)](_0x2ddd39))return{'pageId':_0x1fc719,'type':_0x5d1fc4[_0x5f5b64(0x16b)],'title':_0x5d1fc4[_0x5f5b64(0x16d)],'localPath':_0x216ba6,'status':_0x5f5b64(0x170),'reason':_0x5f5b64(0x150)+_0x1fc719+_0x5f5b64(0x140)};const _0x57a52f=_0x5d1fc4[_0x5f5b64(0x157)]!=null&&_0x2c1280[_0x5f5b64(0x157)]!=null;if(_0x57a52f&&_0x5d1fc4[_0x5f5b64(0x157)]!==_0x2c1280[_0x5f5b64(0x157)])return{'pageId':_0x1fc719,'type':_0x5d1fc4[_0x5f5b64(0x16b)],'title':_0x5d1fc4['title'],'localPath':_0x216ba6,'status':_0x5f5b64(0x170),'reason':_0x5f5b64(0x12e)};if(!_0x57a52f&&computeSerializedSchemaHash(_0x2c1280[_0x5f5b64(0x174)])!==_0x5d1fc4['hash'])return{'pageId':_0x1fc719,'type':_0x5d1fc4['type'],'title':_0x5d1fc4['title'],'localPath':_0x216ba6,'status':'conflict','reason':'remote\x20schema\x20changed'};}catch(_0x1ce561){return{'pageId':_0x1fc719,'type':_0x5d1fc4['type'],'title':_0x5d1fc4['title'],'localPath':_0x216ba6,'status':_0x5f5b64(0x13a),'reason':_0x1ce561 instanceof Error?_0x1ce561[_0x5f5b64(0x13d)]:String(_0x1ce561)};}return{'pageId':_0x1fc719,'type':_0x5d1fc4['type'],'title':_0x5d1fc4[_0x5f5b64(0x16d)],'localPath':_0x216ba6,'status':_0x5f5b64(0x12b)};}async function prepareSinglePush(_0x5c35c1,_0x4e32c5,_0x2ba0b3,_0x46028b,_0x24868a){const _0x2b0fde=a139_0x2bbd57;if(!_0x2ba0b3)throw CliErrors['validation'](_0x2b0fde(0x160)+_0x46028b+'.',_0x2b0fde(0x14e)+CLI_BIN_NAME+_0x2b0fde(0x166)+_0x46028b+'`\x20first.');const _0x3ccb2e=resolvePageFilePath(_0x4e32c5,_0x46028b,_0x2ba0b3[_0x2b0fde(0x16b)]);if(!await fileExists(_0x3ccb2e))throw CliErrors[_0x2b0fde(0x125)]('Local\x20file\x20not\x20found:\x20'+_0x3ccb2e,_0x2b0fde(0x14e)+CLI_BIN_NAME+_0x2b0fde(0x166)+_0x46028b+'`\x20first.');const _0x2dcd08=await readFile(_0x3ccb2e,_0x2b0fde(0x14a));try{JSON[_0x2b0fde(0x139)](_0x2dcd08);}catch{throw CliErrors[_0x2b0fde(0x125)](_0x2b0fde(0x156)+_0x3ccb2e);}const _0x4f5408=await loadPageDetailForPage(_0x5c35c1,_0x46028b);if(_0x24868a!=null&&!_0x4f5408[_0x2b0fde(0x137)][_0x2b0fde(0x172)](_0x24868a))throw CliErrors['validation'](_0x2b0fde(0x150)+_0x46028b+_0x2b0fde(0x16c));const _0x4b72a3=_0x2ba0b3['pageVersion']!=null&&_0x4f5408[_0x2b0fde(0x157)]!=null;if(_0x4b72a3){if(_0x2ba0b3[_0x2b0fde(0x157)]!==_0x4f5408[_0x2b0fde(0x157)])throw CliErrors[_0x2b0fde(0x125)](_0x2b0fde(0x146)+_0x46028b+'\x20has\x20changed\x20since\x20last\x20pull.',_0x2b0fde(0x14e)+CLI_BIN_NAME+_0x2b0fde(0x166)+_0x46028b+_0x2b0fde(0x138));}else{const _0x29c3f8=computeSerializedSchemaHash(_0x4f5408[_0x2b0fde(0x174)]);if(_0x29c3f8!==_0x2ba0b3[_0x2b0fde(0x14d)])throw CliErrors['validation']('Remote\x20page\x20'+_0x46028b+'\x20has\x20changed\x20since\x20last\x20pull.',_0x2b0fde(0x14e)+CLI_BIN_NAME+_0x2b0fde(0x166)+_0x46028b+_0x2b0fde(0x138));}return{'lockEntry':_0x2ba0b3,'localPath':_0x3ccb2e,'localContent':_0x2dcd08,'localHash':computePageContentHash(_0x2dcd08),'remoteDetail':_0x4f5408};}async function pushPreparedPage(_0x38ce51,_0x3eac10){const _0x1f1c44=a139_0x2bbd57,_0x3ccf87=await updatePage(_0x38ce51[_0x1f1c44(0x151)],_0x3eac10[_0x1f1c44(0x136)][_0x1f1c44(0x173)],_0x3eac10[_0x1f1c44(0x12c)],_0x3eac10['remoteDetail'][_0x1f1c44(0x137)]);if(!_0x3ccf87)throw CliErrors['apiError'](_0x1f1c44(0x154)+_0x3eac10[_0x1f1c44(0x136)][_0x1f1c44(0x173)]);const _0x419c96=await loadPageDetailForPage(_0x38ce51,_0x3eac10[_0x1f1c44(0x136)][_0x1f1c44(0x173)]),_0x20dd2f=serializePageSchemaForFile(_0x419c96[_0x1f1c44(0x174)]);return await writeFile(_0x3eac10['localPath'],_0x20dd2f,_0x1f1c44(0x14a)),{'pageId':_0x419c96['pageId'],'type':_0x419c96['type'],'title':_0x419c96[_0x1f1c44(0x124)],'normalized':_0x20dd2f!==serializePageSchemaForFile(_0x3eac10[_0x1f1c44(0x12c)]),'nextLockEntry':{'hash':computePageContentHash(_0x20dd2f),'pageId':_0x419c96[_0x1f1c44(0x173)],'pageVersion':_0x419c96[_0x1f1c44(0x157)],'type':_0x419c96['type'],'title':_0x419c96[_0x1f1c44(0x124)],'datasetIds':_0x419c96[_0x1f1c44(0x137)],'versionTag':_0x419c96[_0x1f1c44(0x16a)]}};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a140_0x1c0660=a140_0x1914;function a140_0x1914(_0x1c2176,_0x872b47){_0x1c2176=_0x1c2176-0x112;const _0x2349d2=a140_0x2349();let _0x1914b8=_0x2349d2[_0x1c2176];return _0x1914b8;}(function(_0x1c4bde,_0x218d77){const _0xfe45d6=a140_0x1914,_0x4d072d=_0x1c4bde();while(!![]){try{const _0x394ad7=parseInt(_0xfe45d6(0x12c))/0x1+-parseInt(_0xfe45d6(0x114))/0x2*(-parseInt(_0xfe45d6(0x11b))/0x3)+-parseInt(_0xfe45d6(0x13e))/0x4*(-parseInt(_0xfe45d6(0x128))/0x5)+-parseInt(_0xfe45d6(0x125))/0x6+parseInt(_0xfe45d6(0x144))/0x7+-parseInt(_0xfe45d6(0x135))/0x8+parseInt(_0xfe45d6(0x11e))/0x9;if(_0x394ad7===_0x218d77)break;else _0x4d072d['push'](_0x4d072d['shift']());}catch(_0x4b1399){_0x4d072d['push'](_0x4d072d['shift']());}}}(a140_0x2349,0x82078));function a140_0x2349(){const _0x4de374=['isInteger','parentMenuId','en-US','React\x20custom\x20page\x20was\x20created,\x20but\x20a\x20link\x20to\x20its\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','Would\x20create\x20React\x20custom\x20page\x20','menuPath','/smartapi/webcode/page/create','appCode','40372fCgNsV','langs','apiError','write','now','自定义页面_','909923mvnorE','menuId','page-content','718782NoJZrq','pageId','files','keys','validation','Optional\x20complete\x20page\x20files\x20as\x20JSON','parent-menu-id','3thdfAh','input','pageName','6804594shIXSC','react-create','\x20and\x20its\x20menu\x20entry.','--parent-menu-id\x20must\x20be\x20a\x20positive\x20integer.','number','name','num','5429310IPqOhu','compress','isNaN','45rGotwP','Optional\x20React\x20custom\x20page\x20name\x20(1-100\x20characters)','version','page.react-create','839253NqUNCj','POST','warnings','page','createMenu','trim','str','Optional\x20parent\x20menu\x20id\x20when\x20creating\x20a\x20menu\x20entry','zh-CN','5904408pvkkvd'];a140_0x2349=function(){return _0x4de374;};return a140_0x2349();}import{APPCODE_FLAG}from'../../../commands/common/flags.js';import{buildInitialFiles}from'../../../commands/page/react/template.js';import{createReactPage,getI18nInfo}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{buildReactPageDevelopmentUrl,buildReactPageEditUrl,parseReactPageContent,validateReactPageContent}from'./shared.js';const DEFAULT_REACT_PAGE_LANGUAGES=[a140_0x1c0660(0x134),a140_0x1c0660(0x138)];export const pageReactCreate={'service':a140_0x1c0660(0x12f),'command':a140_0x1c0660(0x11f),'description':'Create\x20a\x20React\x20custom\x20page\x20with\x20starter\x20files','risk':a140_0x1c0660(0x141),'defaultOutputFormat':a140_0x1c0660(0x126),'structuredErrors':!![],'flags':[{'name':a140_0x1c0660(0x123),'type':'string','description':a140_0x1c0660(0x129)},{'name':'parent-menu-id','type':a140_0x1c0660(0x122),'description':a140_0x1c0660(0x133)},{'name':a140_0x1c0660(0x113),'type':'string','description':a140_0x1c0660(0x119)},APPCODE_FLAG],async 'validate'(_0xe8164d){const _0x270a61=a140_0x1c0660;await validateReactPageContent(readInput(_0xe8164d)[_0x270a61(0x116)]);},async 'dryRun'(_0x7d1ce9){const _0x486efc=a140_0x1c0660,{input:_0x562b21}=await prepare(_0x7d1ce9);return{'method':_0x486efc(0x12d),'url':_0x486efc(0x13c),'body':{'appCode':_0x562b21['appCode'],'pageName':_0x562b21['pageName'],..._0x562b21[_0x486efc(0x137)]!=null?{'parentMenuId':_0x562b21[_0x486efc(0x137)]}:{},'createMenu':_0x562b21[_0x486efc(0x130)],'codeContent':_0x562b21[_0x486efc(0x116)]},'description':_0x486efc(0x13a)+JSON['stringify'](_0x562b21[_0x486efc(0x11d)])+_0x486efc(0x120)};},async 'execute'(_0x2ca118){const _0x415197=a140_0x1c0660,_0x181c3e=await prepare(_0x2ca118),_0x25b064=await createReactPage(_0x181c3e[_0x415197(0x11c)]);if(!Number[_0x415197(0x136)](_0x25b064[_0x415197(0x115)])||_0x25b064[_0x415197(0x115)]<=0x0)throw CliErrors[_0x415197(0x140)]('React\x20custom\x20page\x20creation\x20did\x20not\x20return\x20a\x20valid\x20pageId.');return{'ok':!![],'data':buildMutationData(_0x181c3e,_0x25b064),'message':'Created\x20React\x20custom\x20page\x20'+_0x25b064[_0x415197(0x115)]+'.'};}};async function prepare(_0x136ede){const _0x308c8a=a140_0x1c0660;if(_0x136ede[_0x308c8a(0x132)]('page-content')[_0x308c8a(0x131)]())return{'input':readInput(_0x136ede),'warnings':[]};let _0x13556a=DEFAULT_REACT_PAGE_LANGUAGES,_0x342037=[];try{const _0x213656=await getI18nInfo(_0x136ede[_0x308c8a(0x13d)]);_0x213656['enableI18n']&&_0x213656['langs']?.['length']&&(_0x13556a=_0x213656[_0x308c8a(0x13f)]);}catch{_0x342037=['Application\x20language\x20settings\x20could\x20not\x20be\x20read;\x20default\x20Chinese\x20and\x20English\x20language\x20files\x20were\x20generated.'];}return{'input':readInput(_0x136ede,_0x13556a),'warnings':_0x342037};}function readInput(_0x4f1a5a,_0x152d26=DEFAULT_REACT_PAGE_LANGUAGES){const _0x53d218=a140_0x1c0660,_0x24e8e2=_0x4f1a5a['str'](_0x53d218(0x123))[_0x53d218(0x131)]()||_0x53d218(0x143)+Date[_0x53d218(0x142)]();if(_0x24e8e2['length']>0x64)throw CliErrors['validation']('pageName\x20cannot\x20exceed\x20100\x20characters.');const _0x216610=_0x4f1a5a[_0x53d218(0x124)](_0x53d218(0x11a),NaN),_0x58783c=!Number[_0x53d218(0x127)](_0x216610);if(_0x58783c&&(!Number['isInteger'](_0x216610)||_0x216610<=0x0))throw CliErrors[_0x53d218(0x118)](_0x53d218(0x121));const _0x32a5fa=_0x4f1a5a['str'](_0x53d218(0x113));return{'appCode':_0x4f1a5a[_0x53d218(0x13d)],'pageName':_0x24e8e2,..._0x58783c?{'parentMenuId':_0x216610}:{},'createMenu':!![],'files':_0x32a5fa['trim']()?parseReactPageContent(_0x32a5fa):buildInitialFiles(_0x24e8e2,_0x152d26)};}function buildMutationData(_0xec0f9a,_0x177a02){const _0x2e7d65=a140_0x1c0660,{input:_0x3014ab}=_0xec0f9a,_0x4c4907=_0x177a02&&buildReactPageDevelopmentUrl(_0x3014ab[_0x2e7d65(0x13d)],_0x177a02[_0x2e7d65(0x13b)]),_0x4bce9e=_0x177a02&&buildReactPageEditUrl(_0x3014ab['appCode'],_0x177a02['pageId']);return{'operation':_0x2e7d65(0x12b),'selector':{'appCode':_0x3014ab[_0x2e7d65(0x13d)],'pageName':_0x3014ab[_0x2e7d65(0x11d)]},'before':null,'after':{'pageId':_0x177a02?.['pageId']??null,'pageName':_0x177a02?.[_0x2e7d65(0x11d)]??_0x3014ab[_0x2e7d65(0x11d)],'appCode':_0x177a02?.[_0x2e7d65(0x13d)]??_0x3014ab[_0x2e7d65(0x13d)],'version':_0x177a02?.[_0x2e7d65(0x12a)]??null,'menuId':_0x177a02?.[_0x2e7d65(0x112)]??null,'menuPath':_0x177a02?.[_0x2e7d65(0x13b)]??null,'files':_0x177a02?.[_0x2e7d65(0x116)]??Object[_0x2e7d65(0x117)](_0x3014ab[_0x2e7d65(0x116)])},'dryRun':_0x177a02===undefined,'request':_0x3014ab,..._0x4c4907?{'pageUrl':_0x4c4907}:{},..._0x4bce9e?{'editPageUrl':_0x4bce9e}:{},'warnings':[..._0xec0f9a[_0x2e7d65(0x12e)],..._0x177a02&&!_0x4c4907?[_0x2e7d65(0x139)]:[]]};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a141_0xa82a88=a141_0x3871;function a141_0x3871(_0x567edc,_0x1eb851){_0x567edc=_0x567edc-0x1af;const _0x5b5a54=a141_0x5b5a();let _0x3871c5=_0x5b5a54[_0x567edc];return _0x3871c5;}(function(_0x3cf28b,_0x33781d){const _0xaa2004=a141_0x3871,_0x4194c6=_0x3cf28b();while(!![]){try{const _0x326336=-parseInt(_0xaa2004(0x1c7))/0x1*(-parseInt(_0xaa2004(0x1c0))/0x2)+-parseInt(_0xaa2004(0x1b0))/0x3*(parseInt(_0xaa2004(0x1c2))/0x4)+parseInt(_0xaa2004(0x1b9))/0x5+-parseInt(_0xaa2004(0x1ca))/0x6*(-parseInt(_0xaa2004(0x1cb))/0x7)+parseInt(_0xaa2004(0x1c5))/0x8*(parseInt(_0xaa2004(0x1c1))/0x9)+parseInt(_0xaa2004(0x1bc))/0xa*(parseInt(_0xaa2004(0x1cd))/0xb)+parseInt(_0xaa2004(0x1c6))/0xc*(-parseInt(_0xaa2004(0x1cc))/0xd);if(_0x326336===_0x33781d)break;else _0x4194c6['push'](_0x4194c6['shift']());}catch(_0x22e402){_0x4194c6['push'](_0x4194c6['shift']());}}}(a141_0x5b5a,0xa2b55));import{getReactPageSource}from'../../../core/api-client.js';import{buildReactPageEditUrl,buildReactPageRuntimeUrl,readReactPageId,REACT_PAGE_APPCODE_FLAG_OPTIONAL,resolveReactPageDevelopmentUrl}from'./shared.js';function a141_0x5b5a(){const _0x227def=['2800910uunHyr','number','getSeconds','1420sxbmkc','isNaN','react-detail','appCode','306934XYSNBX','601281aTYOnY','530452ZKwhag','padStart','getMinutes','88XEffvx','922008gbLpLp','2Wqrpsl','read','React\x20custom\x20page\x20ID','6jihlCK','6021533ajRQYc','377dLmVCj','43769shRvwf','join','3slqmoB','trim','getFullYear','appcode','Show\x20a\x20React\x20custom\x20page\x20and\x20all\x20of\x20its\x20files','getHours','compress','cookie','str'];a141_0x5b5a=function(){return _0x227def;};return a141_0x5b5a();}export const pageReactDetail={'service':'page','command':a141_0xa82a88(0x1be),'description':a141_0xa82a88(0x1b4),'risk':a141_0xa82a88(0x1c8),'defaultOutputFormat':a141_0xa82a88(0x1b6),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':a141_0xa82a88(0x1ba),'required':!![],'description':a141_0xa82a88(0x1c9)},REACT_PAGE_APPCODE_FLAG_OPTIONAL],async 'validate'(_0x252eee){readReactPageId(_0x252eee);},async 'execute'(_0x30cc8a){const _0x2bd292=a141_0xa82a88,_0x893e77=readReactPageId(_0x30cc8a),_0x3fe949=await getReactPageSource(_0x893e77),{bundle:_0x143f10,createTime:_0x247f97,updateTime:_0x28fe47,..._0x343da8}=_0x3fe949,_0x468c26=_0x3fe949['id']??_0x893e77,_0x40b7e3=_0x3fe949[_0x2bd292(0x1bf)]?.['trim']()||_0x30cc8a[_0x2bd292(0x1b8)](_0x2bd292(0x1b3))[_0x2bd292(0x1b1)](),_0x2fffd3=buildReactPageRuntimeUrl(_0x40b7e3,_0x3fe949['pageCode']),_0xb2bfcb=buildReactPageEditUrl(_0x40b7e3,_0x468c26),_0x26e655=await resolveReactPageDevelopmentUrl(_0x40b7e3,_0x468c26,_0x30cc8a[_0x2bd292(0x1b7)]);return{'ok':!![],'data':{..._0x343da8,..._0x2fffd3?{'runtimePageUrl':_0x2fffd3}:{},..._0x26e655?{'pageUrl':_0x26e655}:{},..._0xb2bfcb?{'editPageUrl':_0xb2bfcb}:{},..._0x247f97==null?{}:{'createTime':formatTime(_0x247f97)},..._0x28fe47==null?{}:{'updateTime':formatTime(_0x28fe47)}},'message':'Retrieved\x20React\x20custom\x20page\x20'+_0x893e77+'.'};}};function formatTime(_0x207de2){const _0x366d81=a141_0xa82a88,_0x23ef0e=new Date(_0x207de2);if(Number[_0x366d81(0x1bd)](_0x23ef0e['getTime']()))return String(_0x207de2);const _0x2e3498=[_0x23ef0e[_0x366d81(0x1b2)](),String(_0x23ef0e['getMonth']()+0x1)[_0x366d81(0x1c3)](0x2,'0'),String(_0x23ef0e['getDate']())[_0x366d81(0x1c3)](0x2,'0')]['join']('-'),_0x1117b0=[String(_0x23ef0e[_0x366d81(0x1b5)]())[_0x366d81(0x1c3)](0x2,'0'),String(_0x23ef0e[_0x366d81(0x1c4)]())[_0x366d81(0x1c3)](0x2,'0'),String(_0x23ef0e[_0x366d81(0x1bb)]())['padStart'](0x2,'0')][_0x366d81(0x1af)](':');return _0x2e3498+'\x20'+_0x1117b0;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a142_0x35d4ea=a142_0x6e2f;(function(_0x810925,_0xffa9a9){const _0x4a4068=a142_0x6e2f,_0x5c9b93=_0x810925();while(!![]){try{const _0x2a8f42=-parseInt(_0x4a4068(0xc2))/0x1*(-parseInt(_0x4a4068(0xc1))/0x2)+parseInt(_0x4a4068(0xc4))/0x3+parseInt(_0x4a4068(0xbf))/0x4+-parseInt(_0x4a4068(0xbe))/0x5*(-parseInt(_0x4a4068(0xb1))/0x6)+-parseInt(_0x4a4068(0xae))/0x7*(-parseInt(_0x4a4068(0xb3))/0x8)+parseInt(_0x4a4068(0xb2))/0x9*(parseInt(_0x4a4068(0xb7))/0xa)+-parseInt(_0x4a4068(0xc3))/0xb;if(_0x2a8f42===_0xffa9a9)break;else _0x5c9b93['push'](_0x5c9b93['shift']());}catch(_0x33c9b5){_0x5c9b93['push'](_0x5c9b93['shift']());}}}(a142_0x5044,0xa0da5));import{APPCODE_FLAG}from'../../../commands/common/flags.js';function a142_0x5044(){const _0x5bcc80=['cookie','flatMap','react','react-list','pageId','label','1729090ShqOaN','457880GUsiVq','compress','470386BYNDCe','2mZCPqg','26127486HYAkNo','103728CgqyXy','menus','49pAxkmP','Found\x20','length','18VcCTWr','9zTQVPX','454824swVIrg','page','appCode','\x20React\x20custom\x20page(s).','9792220nPQJQn'];a142_0x5044=function(){return _0x5bcc80;};return a142_0x5044();}import{fetchMenuSnapshot}from'../../../commands/menu/shared/facts.js';function a142_0x6e2f(_0x64f5ed,_0x53fd23){_0x64f5ed=_0x64f5ed-0xae;const _0x5044c5=a142_0x5044();let _0x6e2f03=_0x5044c5[_0x64f5ed];return _0x6e2f03;}import{buildReactPageDevelopmentUrl,buildReactPageEditUrl}from'./shared.js';export const pageReactList={'service':a142_0x35d4ea(0xb4),'command':a142_0x35d4ea(0xbb),'description':'List\x20React\x20custom\x20pages\x20in\x20the\x20current\x20app','risk':'read','defaultOutputFormat':a142_0x35d4ea(0xc0),'structuredErrors':!![],'flags':[APPCODE_FLAG],async 'execute'(_0x1a53d8){const _0x3aac22=a142_0x35d4ea,_0x479cf1=(await fetchMenuSnapshot(_0x1a53d8[_0x3aac22(0xb5)],_0x1a53d8[_0x3aac22(0xb8)]))[_0x3aac22(0xc5)][_0x3aac22(0xb9)](_0x3f7e9e=>{const _0x53fa58=_0x3aac22;if(_0x3f7e9e['type']!==_0x53fa58(0xba)||_0x3f7e9e[_0x53fa58(0xbc)]==null)return[];const _0x5482d7=buildReactPageDevelopmentUrl(_0x1a53d8[_0x53fa58(0xb5)],_0x3f7e9e['path']),_0x42542d=buildReactPageEditUrl(_0x1a53d8[_0x53fa58(0xb5)],_0x3f7e9e['pageId']);return[{'pageId':_0x3f7e9e['pageId'],'label':_0x3f7e9e[_0x53fa58(0xbd)],..._0x5482d7?{'pageUrl':_0x5482d7}:{},..._0x42542d?{'editPageUrl':_0x42542d}:{}}];});return{'ok':!![],'data':{'pages':_0x479cf1},'message':_0x479cf1[_0x3aac22(0xb0)]===0x0?'No\x20React\x20custom\x20pages\x20found.':_0x3aac22(0xaf)+_0x479cf1['length']+_0x3aac22(0xb6)};}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a143_0x22cfa3=a143_0x374a;(function(_0xeb345d,_0x16a04c){const _0x5914d5=a143_0x374a,_0x19dfcf=_0xeb345d();while(!![]){try{const _0x403589=parseInt(_0x5914d5(0x137))/0x1*(-parseInt(_0x5914d5(0x150))/0x2)+parseInt(_0x5914d5(0x12e))/0x3+-parseInt(_0x5914d5(0x147))/0x4*(parseInt(_0x5914d5(0x130))/0x5)+-parseInt(_0x5914d5(0x145))/0x6*(parseInt(_0x5914d5(0x13e))/0x7)+-parseInt(_0x5914d5(0x138))/0x8*(-parseInt(_0x5914d5(0x14e))/0x9)+parseInt(_0x5914d5(0x135))/0xa+parseInt(_0x5914d5(0x146))/0xb*(parseInt(_0x5914d5(0x13b))/0xc);if(_0x403589===_0x16a04c)break;else _0x19dfcf['push'](_0x19dfcf['shift']());}catch(_0x59ed43){_0x19dfcf['push'](_0x19dfcf['shift']());}}}(a143_0x3831,0xa835f));import{getReactPageSource,publishReactPage}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';function a143_0x3831(){const _0x4d0872=['512tateZV','Published\x20React\x20custom\x20page\x20','page.react-publish','972CHAHcp','pageCode','high-risk-write','2662667OAHrWc','React\x20custom\x20page\x20ID','trim','Published\x20successfully,\x20but\x20a\x20link\x20to\x20the\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','unknown','React\x20custom\x20page\x20publish\x20did\x20not\x20reach\x20published\x20status:\x20','appCode','6sGMxfg','14047LUWwvC','2876laxhAm','runtimePageUrl','apiError','/smartapi/webcode/file/publish','status','push','Would\x20publish\x20React\x20custom\x20page\x20','40482GSfMPF','Published\x20successfully,\x20but\x20a\x20link\x20to\x20the\x20published\x20page\x20could\x20not\x20be\x20generated.','216610ZscspC','POST','compress','warnings','FORMAL','str','1420644MeFxnw','remark','80zfHbpG','pageId','isInteger','React\x20custom\x20page\x20publish\x20did\x20not\x20return\x20the\x20expected\x20page\x20ID.','cookie','3243240FtbcbM','page','1koQHws'];a143_0x3831=function(){return _0x4d0872;};return a143_0x3831();}import{buildReactPageEditUrl,buildReactPageRuntimeUrl,readReactPageId,resolveReactPageDevelopmentUrl}from'./shared.js';export const pageReactPublish={'service':a143_0x22cfa3(0x136),'command':'react-publish','description':'Publish\x20the\x20latest\x20saved\x20content\x20of\x20a\x20React\x20custom\x20page','risk':a143_0x22cfa3(0x13d),'defaultOutputFormat':a143_0x22cfa3(0x12a),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':'number','required':!![],'description':a143_0x22cfa3(0x13f)},{'name':a143_0x22cfa3(0x12f),'type':'string','description':'Optional\x20publish\x20remark'}],async 'validate'(_0x4c742f){readReactPageId(_0x4c742f);},async 'dryRun'(_0x4060f0){const _0x80742=a143_0x22cfa3,_0x1dd60b=readInput(_0x4060f0);return{'method':_0x80742(0x129),'url':_0x80742(0x14a),'body':{'id':_0x1dd60b[_0x80742(0x131)],..._0x1dd60b[_0x80742(0x12f)]?{'remark':_0x1dd60b[_0x80742(0x12f)]}:{}},'description':_0x80742(0x14d)+_0x1dd60b[_0x80742(0x131)]+'.'};},async 'execute'(_0x43ca81){const _0x289039=a143_0x22cfa3,_0x50aea7=readInput(_0x43ca81);await getReactPageSource(_0x50aea7['pageId']);const _0x1071ff=await publishReactPage(_0x50aea7);if(!Number[_0x289039(0x132)](_0x1071ff)||_0x1071ff!==_0x50aea7['pageId'])throw CliErrors[_0x289039(0x149)](_0x289039(0x133));const _0x382fd3=await getReactPageSource(_0x50aea7[_0x289039(0x131)]);if(_0x382fd3[_0x289039(0x14b)]!=='FORMAL')throw CliErrors[_0x289039(0x149)](_0x289039(0x143)+(_0x382fd3[_0x289039(0x14b)]??_0x289039(0x142))+'.');const _0x3b071e=_0x382fd3['appCode']?.[_0x289039(0x140)](),_0x35480a=buildReactPageEditUrl(_0x3b071e,_0x50aea7[_0x289039(0x131)]),_0xe7da98=await resolveReactPageDevelopmentUrl(_0x3b071e,_0x50aea7[_0x289039(0x131)],_0x43ca81[_0x289039(0x134)]),_0x3001ef=buildMutationData(_0x50aea7,!![],_0xe7da98,_0x35480a);_0x3b071e&&!_0xe7da98&&_0x3001ef[_0x289039(0x12b)][_0x289039(0x14c)](_0x289039(0x141));const _0x490df9=buildReactPageRuntimeUrl(_0x382fd3[_0x289039(0x144)],_0x382fd3[_0x289039(0x13c)]);return _0x490df9?_0x3001ef[_0x289039(0x148)]=_0x490df9:_0x3001ef['warnings'][_0x289039(0x14c)](_0x289039(0x14f)),{'ok':!![],'data':_0x3001ef,'message':_0x289039(0x139)+_0x50aea7['pageId']+'.'};}};function a143_0x374a(_0x1dfd76,_0x22cf4e){_0x1dfd76=_0x1dfd76-0x129;const _0x38316b=a143_0x3831();let _0x374af6=_0x38316b[_0x1dfd76];return _0x374af6;}function readInput(_0x7d5516){const _0x49be57=a143_0x22cfa3,_0x3428b4=readReactPageId(_0x7d5516),_0x3bd450=_0x7d5516[_0x49be57(0x12d)](_0x49be57(0x12f))['trim']();return{'pageId':_0x3428b4,..._0x3bd450?{'remark':_0x3bd450}:{}};}function buildMutationData(_0x5b06b3,_0x44d615=![],_0x1ae135,_0x59501f){const _0x117cce=a143_0x22cfa3;return{'operation':_0x117cce(0x13a),'selector':{'pageId':_0x5b06b3[_0x117cce(0x131)]},'before':null,'after':{'pageId':_0x5b06b3['pageId'],'status':_0x117cce(0x12c)},'dryRun':!_0x44d615,'request':_0x5b06b3,..._0x1ae135?{'pageUrl':_0x1ae135}:{},..._0x59501f?{'editPageUrl':_0x59501f}:{},'warnings':[]};}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { CommandDefinition } from "../../../framework/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* React 页面命令的上下文类型
|
|
4
|
+
*/
|
|
5
|
+
export type ReactPageCommandContext = Parameters<NonNullable<CommandDefinition["execute"]>>[0];
|
|
6
|
+
/**
|
|
7
|
+
* 生成页相关命令时可复用的 appCode 可选参数
|
|
8
|
+
*/
|
|
9
|
+
export declare const REACT_PAGE_APPCODE_FLAG_OPTIONAL: {
|
|
10
|
+
description: string;
|
|
11
|
+
name: string;
|
|
12
|
+
type: "string" | "boolean" | "number";
|
|
13
|
+
required?: boolean;
|
|
14
|
+
default?: string | boolean | number;
|
|
15
|
+
enum?: string[];
|
|
16
|
+
pattern?: {
|
|
17
|
+
regex: RegExp;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
alias?: string;
|
|
21
|
+
hidden?: boolean;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* 构建已发布页面访问地址
|
|
25
|
+
*
|
|
26
|
+
* @param appCode 应用 code
|
|
27
|
+
* @param pageCode 页面 code
|
|
28
|
+
* @returns 当前环境下已发布页面地址,任一为空返回 undefined
|
|
29
|
+
*/
|
|
30
|
+
export declare function buildReactPageRuntimeUrl(appCode: string | undefined, pageCode: string | undefined): string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* 构建最新保存内容查看地址
|
|
33
|
+
*
|
|
34
|
+
* @param appCode 应用 code
|
|
35
|
+
* @param menuPath 页面菜单路径
|
|
36
|
+
* @returns 当前环境最新保存内容查看地址,任一为空返回 undefined
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildReactPageDevelopmentUrl(appCode: string | undefined, menuPath: string | undefined | null): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* 从菜单事实解析 React 页面最新保存内容查看地址
|
|
41
|
+
*
|
|
42
|
+
* @param appCode 应用 code
|
|
43
|
+
* @param pageId 页面 ID
|
|
44
|
+
* @param cookie 当前认证 cookie
|
|
45
|
+
* @returns 找到对应 React 菜单时返回最新保存内容查看地址,否则返回 undefined
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveReactPageDevelopmentUrl(appCode: string | undefined, pageId: number, cookie: string): Promise<string | undefined>;
|
|
48
|
+
/**
|
|
49
|
+
* 构建页面编辑地址
|
|
50
|
+
*
|
|
51
|
+
* @param appCode 应用 code
|
|
52
|
+
* @param pageId 页面 ID
|
|
53
|
+
* @returns 当前环境页面编辑地址,任一为空返回 undefined
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildReactPageEditUrl(appCode: string | undefined, pageId: number | string | undefined): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* 解析并校验 page-content 入参
|
|
58
|
+
*
|
|
59
|
+
* @param value 命令参数 `--page-content` 的原始字符串
|
|
60
|
+
* @returns 路径到内容字符串的映射
|
|
61
|
+
* @throws 当缺失、非 JSON 或值不是字符串时抛出校验错误
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseReactPageContent(value: string): Record<string, string>;
|
|
64
|
+
/**
|
|
65
|
+
* 校验完整 React 页面文件映射中的源码
|
|
66
|
+
*
|
|
67
|
+
* @param pageContent 路径到文件内容的完整映射
|
|
68
|
+
* @throws 未包含 React 源码或存在基础语法错误时抛出校验错误
|
|
69
|
+
*/
|
|
70
|
+
export declare function validateReactPageContent(pageContent: Record<string, string>): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* 读取并校验 React 页面 ID
|
|
73
|
+
*
|
|
74
|
+
* @param ctx 命令执行上下文
|
|
75
|
+
* @returns 正整数 pageId
|
|
76
|
+
* @throws 当 ID 非正整数时抛出校验错误
|
|
77
|
+
*/
|
|
78
|
+
export declare function readReactPageId(ctx: ReactPageCommandContext): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a144_0x4b4a8a=a144_0x40e2;(function(_0x315d35,_0x389fb3){const _0x2cc6ef=a144_0x40e2,_0x1ce0ec=_0x315d35();while(!![]){try{const _0x5d5c35=parseInt(_0x2cc6ef(0xf8))/0x1+-parseInt(_0x2cc6ef(0x113))/0x2+parseInt(_0x2cc6ef(0x100))/0x3*(parseInt(_0x2cc6ef(0x10f))/0x4)+-parseInt(_0x2cc6ef(0xed))/0x5*(-parseInt(_0x2cc6ef(0x110))/0x6)+-parseInt(_0x2cc6ef(0xfc))/0x7+parseInt(_0x2cc6ef(0x107))/0x8*(-parseInt(_0x2cc6ef(0xfe))/0x9)+parseInt(_0x2cc6ef(0x10c))/0xa*(parseInt(_0x2cc6ef(0x114))/0xb);if(_0x5d5c35===_0x389fb3)break;else _0x1ce0ec['push'](_0x1ce0ec['shift']());}catch(_0x52b98b){_0x1ce0ec['push'](_0x1ce0ec['shift']());}}}(a144_0x17d8,0xd9fe8));import{APPCODE_FLAG_OPTIONAL}from'../../../commands/common/flags.js';import{fetchMenuSnapshot}from'../../../commands/menu/shared/facts.js';import{getEnv,isProduction}from'../../../constant/env.js';import{getAppBaseUrl}from'../../../constant/domain.js';function a144_0x40e2(_0x3a921c,_0x4413f7){_0x3a921c=_0x3a921c-0xeb;const _0x17d83a=a144_0x17d8();let _0x40e2b2=_0x17d83a[_0x3a921c];return _0x40e2b2;}import{CliErrors}from'../../../errors.js';import{validateReactPageSourceFiles}from'./syntax.js';export const REACT_PAGE_APPCODE_FLAG_OPTIONAL={...APPCODE_FLAG_OPTIONAL,'description':a144_0x4b4a8a(0x111)};function trimOptional(_0x4bd896){return _0x4bd896?.['trim']()||undefined;}export function buildReactPageRuntimeUrl(_0xe684c1,_0xe40790){const _0x395971=a144_0x4b4a8a,_0x2bde62=trimOptional(_0xe684c1),_0x4a8f2e=trimOptional(_0xe40790);if(!_0x2bde62||!_0x4a8f2e)return undefined;const _0x538da6=isProduction(getEnv())?_0x2bde62+_0x395971(0x108):_0x2bde62+_0x395971(0xf6);return _0x395971(0xeb)+_0x538da6+'/'+encodeURIComponent(_0x4a8f2e);}export function buildReactPageDevelopmentUrl(_0x148a5d,_0x4d3423){const _0x38e96f=a144_0x4b4a8a,_0x549aee=trimOptional(_0x148a5d),_0x1e0731=trimOptional(_0x4d3423);if(!_0x549aee||!_0x1e0731)return undefined;return getAppBaseUrl(_0x549aee)+_0x38e96f(0xec)+encodeURIComponent(_0x1e0731);}export async function resolveReactPageDevelopmentUrl(_0x43a889,_0xb3edf7,_0x300b3f){const _0x22270e=a144_0x4b4a8a,_0x3ae154=trimOptional(_0x43a889);if(!_0x3ae154)return undefined;try{const _0x2bd47e=(await fetchMenuSnapshot(_0x3ae154,_0x300b3f))[_0x22270e(0xfb)][_0x22270e(0x10d)](_0x33f42c=>_0x33f42c[_0x22270e(0xf1)]===_0x22270e(0x10b)&&_0x33f42c[_0x22270e(0xf4)]===_0xb3edf7);return buildReactPageDevelopmentUrl(_0x3ae154,_0x2bd47e?.[_0x22270e(0xee)]);}catch{return undefined;}}export function buildReactPageEditUrl(_0xa12684,_0x1cec68){const _0x1063a8=a144_0x4b4a8a,_0x2cda65=trimOptional(_0xa12684);if(!_0x2cda65)return;const _0x70cfc6=trimOptional(_0x1cec68==null?undefined:String(_0x1cec68));if(!_0x70cfc6)return;const _0x2e892c=isProduction(getEnv())?_0x1063a8(0x104):_0x1063a8(0x10a);return _0x2e892c+_0x1063a8(0x101)+encodeURIComponent(_0x2cda65)+_0x1063a8(0xf7)+encodeURIComponent(_0x70cfc6);}export function parseReactPageContent(_0x17f718){const _0x5b1f38=a144_0x4b4a8a;if(!_0x17f718[_0x5b1f38(0x106)]())throw CliErrors[_0x5b1f38(0x103)](_0x5b1f38(0xfd));let _0x398322;try{_0x398322=JSON[_0x5b1f38(0x105)](_0x17f718);}catch{throw CliErrors[_0x5b1f38(0xfa)](_0x5b1f38(0xf3));}if(typeof _0x398322!=='object'||_0x398322===null||Array['isArray'](_0x398322)||Object[_0x5b1f38(0xf2)](_0x398322)['some'](_0x2bf69f=>typeof _0x2bf69f!==_0x5b1f38(0xf0)))throw CliErrors[_0x5b1f38(0xfa)](_0x5b1f38(0x102));return _0x398322;}function a144_0x17d8(){const _0x3cf293=['11jdAfgM','file','https://','/pages/','101425GNSUqT','path','map','string','type','values','--page-content\x20must\x20be\x20valid\x20JSON.','pageId','message','.daily.lovrabet.com','/ide/','1022326ldXuak','isInteger','validation','menus','9474892YEniPq','page-content','18153VmfBBB','--id\x20must\x20be\x20a\x20positive\x20integer.','15lkBngW','/web-app/app/','--page-content\x20must\x20be\x20a\x20JSON\x20object\x20whose\x20values\x20are\x20file\x20content\x20strings.','flagMissing','https://app.lovrabet.com','parse','trim','4904qmFFfr','.lovrabet.com','Invalid\x20React\x20page\x20content:\x20','https://daily.lovrabet.com','react','20887870sTQjRt','find','length','866068dcFxSy','42wDusog','Optional\x20app\x20code\x20resolved\x20from\x20page\x20ID\x20when\x20omitted','join','1705624pagSZs'];a144_0x17d8=function(){return _0x3cf293;};return a144_0x17d8();}export async function validateReactPageContent(_0x31cf6c){const _0x275893=a144_0x4b4a8a,_0x448904=await validateReactPageSourceFiles(_0x31cf6c);if(_0x448904[_0x275893(0x10e)]>0x0)throw CliErrors['validation'](_0x275893(0x109)+_0x448904[_0x275893(0xef)](_0xf3d707=>_0xf3d707[_0x275893(0x115)]+':\x20'+_0xf3d707[_0x275893(0xf5)])[_0x275893(0x112)](';\x20'));}export function readReactPageId(_0x182b84){const _0x59d74a=a144_0x4b4a8a,_0x51c233=_0x182b84['num']('id');if(!Number[_0x59d74a(0xf9)](_0x51c233)||_0x51c233<=0x0)throw CliErrors['validation'](_0x59d74a(0xff));return _0x51c233;}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 页面源码校验返回的标准问题结构
|
|
3
|
+
*/
|
|
4
|
+
type ReactPageSourceValidationIssue = {
|
|
5
|
+
file: string;
|
|
6
|
+
message: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 校验完整页面文件中的基础源码语法
|
|
10
|
+
*
|
|
11
|
+
* 只验证 JavaScript 和 TypeScript 文件能否解析
|
|
12
|
+
* 引用、类型和运行时行为由页面生成规范中的自检要求负责确认
|
|
13
|
+
*
|
|
14
|
+
* @param pageContent 页面文件路径到内容的映射
|
|
15
|
+
* @returns 按文件聚合的语法问题列表
|
|
16
|
+
*/
|
|
17
|
+
export declare function validateReactPageSourceFiles(pageContent: Record<string, string>): Promise<ReactPageSourceValidationIssue[]>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function a145_0x14b0(){const _0x4fe0ef=['entries','12eHonsZ','some','typescript','filter','trim','673865DBLXvk','306yzgrUY','11aOYVbN','8JqRGWi','all','message','Missing\x20React\x20source\x20file\x20with\x20extension\x20.jsx\x20or\x20.tsx','4490739WOBPMn','19312SSIKbf','22068660LkMbni','endsWith','page-content','158lKoeud','3542350WyxNEB','find','899EwojtT','map','babel','toLowerCase','3993160Ovuzjo','.tsx'];a145_0x14b0=function(){return _0x4fe0ef;};return a145_0x14b0();}function a145_0x1781(_0xf399b9,_0x114250){_0xf399b9=_0xf399b9-0x8f;const _0x14b0dd=a145_0x14b0();let _0x178102=_0x14b0dd[_0xf399b9];return _0x178102;}const a145_0x222f26=a145_0x1781;(function(_0x414dfd,_0x16f575){const _0x4c5fd3=a145_0x1781,_0x241966=_0x414dfd();while(!![]){try{const _0x317ac5=-parseInt(_0x4c5fd3(0x98))/0x1*(parseInt(_0x4c5fd3(0x95))/0x2)+-parseInt(_0x4c5fd3(0xa5))/0x3*(-parseInt(_0x4c5fd3(0x91))/0x4)+parseInt(_0x4c5fd3(0xa4))/0x5*(parseInt(_0x4c5fd3(0x9f))/0x6)+parseInt(_0x4c5fd3(0x96))/0x7*(parseInt(_0x4c5fd3(0xa7))/0x8)+parseInt(_0x4c5fd3(0x90))/0x9+parseInt(_0x4c5fd3(0x9c))/0xa*(parseInt(_0x4c5fd3(0xa6))/0xb)+-parseInt(_0x4c5fd3(0x92))/0xc;if(_0x317ac5===_0x16f575)break;else _0x241966['push'](_0x241966['shift']());}catch(_0x535035){_0x241966['push'](_0x241966['shift']());}}}(a145_0x14b0,0x3e907));import{format}from'prettier';const SOURCE_PARSERS={'.js':a145_0x222f26(0x9a),'.jsx':a145_0x222f26(0x9a),'.ts':'typescript','.tsx':a145_0x222f26(0xa1)},REACT_PAGE_EXTENSIONS=['.jsx',a145_0x222f26(0x9d)];export async function validateReactPageSourceFiles(_0x143d07){const _0x157ee8=a145_0x222f26,_0x4205f8=Object[_0x157ee8(0x9e)](_0x143d07)[_0x157ee8(0xa2)](([_0x196077])=>getParser(_0x196077));if(!_0x4205f8[_0x157ee8(0xa0)](([_0x4b370f])=>isReactSourceFile(_0x4b370f)))return[{'file':_0x157ee8(0x94),'message':_0x157ee8(0x8f)}];const _0x28e761=await Promise[_0x157ee8(0xa8)](_0x4205f8[_0x157ee8(0x99)](async([_0x20cea0,_0xb1fc13])=>{const _0x2feb6d=_0x157ee8;try{return await format(_0xb1fc13,{'parser':getParser(_0x20cea0)}),undefined;}catch(_0x12ee8b){return{'file':_0x20cea0,'message':_0x12ee8b instanceof Error?_0x12ee8b[_0x2feb6d(0xa9)]:String(_0x12ee8b)};}}));return _0x28e761['filter'](_0x2879f6=>_0x2879f6!==undefined);}function getParser(_0x1dea68){const _0x4e8a16=a145_0x222f26,_0x48e163=_0x1dea68[_0x4e8a16(0xa3)]()[_0x4e8a16(0x9b)]();return Object[_0x4e8a16(0x9e)](SOURCE_PARSERS)[_0x4e8a16(0x97)](([_0x56e73a])=>_0x48e163['endsWith'](_0x56e73a))?.[0x1];}function isReactSourceFile(_0x339d67){const _0x128b21=a145_0x222f26,_0x7bc9f9=_0x339d67[_0x128b21(0xa3)]()[_0x128b21(0x9b)]();return REACT_PAGE_EXTENSIONS[_0x128b21(0xa0)](_0x36450e=>_0x7bc9f9[_0x128b21(0x93)](_0x36450e));}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x11b4ea,_0x4deff1){const _0x2600c0=a146_0x29ad,_0x3d1dae=_0x11b4ea();while(!![]){try{const _0x113139=-parseInt(_0x2600c0(0x1ea))/0x1+-parseInt(_0x2600c0(0x1eb))/0x2+parseInt(_0x2600c0(0x1e9))/0x3*(parseInt(_0x2600c0(0x1e6))/0x4)+parseInt(_0x2600c0(0x1f5))/0x5*(parseInt(_0x2600c0(0x1df))/0x6)+-parseInt(_0x2600c0(0x1ef))/0x7*(-parseInt(_0x2600c0(0x1ee))/0x8)+-parseInt(_0x2600c0(0x1de))/0x9*(parseInt(_0x2600c0(0x1e3))/0xa)+parseInt(_0x2600c0(0x1f6))/0xb*(parseInt(_0x2600c0(0x1ed))/0xc);if(_0x113139===_0x4deff1)break;else _0x3d1dae['push'](_0x3d1dae['shift']());}catch(_0x5a5057){_0x3d1dae['push'](_0x3d1dae['shift']());}}}(a146_0x56c8,0x4a05d));function a146_0x56c8(){const _0x11daa0=['44whEieJ','これは基本ページテンプレートです。あなたは、これに基づいて開発できます。','This\x20is\x20a\x20basic\x20page\x20template,\x20you\x20can\x20develop\x20based\x20on\x20it.','Ini\x20adalah\x20sebuah\x20halaman\x20dasar.\x20Anda\x20dapat\x20mengembangkan\x20ini.','3042738yJtSHy','18jJKuMH','map','这是一个基础页面模板,你可以在此基础上进行开发。','zh-CN','10GknAnj','export\x20const\x20locales\x20=\x20{\x0a',',\x0a\x20\x20}','1084dJvOrA',':\x20{\x0a\x20\x20\x20\x20','en-US','4428cZopHH','286952NqMTNd','467336SCVVoW','Bu\x20bir\x20temel\x20sayfa\x20şablonudur.\x20Bu\x20temaplana\x20dayanarak\x20geliştirilebilir.','837048zdvwgJ','16ewTldz','1276583rtstSd','ja-JP','pageDescription','tr-TR','stringify','\x0a};\x0a','196915JjOBbG'];a146_0x56c8=function(){return _0x11daa0;};return a146_0x56c8();}function a146_0x29ad(_0x152caa,_0x103acb){_0x152caa=_0x152caa-0x1de;const _0x56c832=a146_0x56c8();let _0x29adfd=_0x56c832[_0x152caa];return _0x29adfd;}function buildIndexFile(_0x5330d3){const _0x57eada=a146_0x29ad;return'import\x20React\x20from\x20\x27react\x27;\x0aimport\x20{\x20Card,\x20Typography\x20}\x20from\x20\x27antd\x27;\x0aimport\x20{\x20useSdkClient,\x20useI18n,\x20useNavigate,\x20useLocation\x20}\x20from\x20\x22@/context/app-context\x22;\x0aimport\x20{\x20locales\x20}\x20from\x20\x27../locales\x27;\x0aimport\x20\x27./index.css\x27;\x0a\x0aconst\x20App\x20=\x20()\x20=>\x20{\x0a\x20\x20const\x20client\x20=\x20useSdkClient();\x20//\x20client\x20可以用于获取其他数据集的数据\x0a\x20\x20const\x20$i18n\x20=\x20useI18n();\x20//\x20国际化多语言\x20i18n\x20实例\x0a\x20\x20const\x20navigate\x20=\x20useNavigate();\x20//\x20react-router\x20navigate\x20导航实例\x0a\x20\x20const\x20location\x20=\x20useLocation();\x20//\x20浏览器\x20location\x20实例\x0a\x0a\x20\x20$i18n.addLocale(locales);\x20//\x20添加多语言词包\x0a\x0a\x20\x20return\x20(\x0a\x20\x20\x20\x20<div\x20className=\x22page-container\x22>\x0a\x20\x20\x20\x20\x20\x20<Card>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<Typography>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Typography.Title\x20level={2}>{'+JSON[_0x57eada(0x1f3)](_0x5330d3)+'}</Typography.Title>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Typography.Paragraph>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{$i18n.t(\x27pageDescription\x27,\x20\x27这是一个基础页面模板,你可以在此基础上进行开发。\x27)}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</Typography.Paragraph>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</Typography>\x0a\x20\x20\x20\x20\x20\x20</Card>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20);\x0a};\x0a\x0aexport\x20default\x20App;\x0a';}function buildStyleFile(){return'.page-container\x20{\x0a\x20\x20padding:\x2024px;\x0a\x20\x20background:\x20#f0f2f5;\x0a\x20\x20min-height:\x20100vh;\x0a}\x0a';}function buildLocalesFile(_0xf49374){const _0x1f251a=a146_0x29ad,_0xad1dd2=_0xf49374[_0x1f251a(0x1e0)](_0x2219ff=>{const _0x128d6d=_0x1f251a;let _0x333082='';switch(_0x2219ff){case _0x128d6d(0x1e2):_0x333082=_0x128d6d(0x1e1);break;case _0x128d6d(0x1e8):_0x333082=_0x128d6d(0x1f8);break;case _0x128d6d(0x1f0):_0x333082=_0x128d6d(0x1f7);break;case _0x128d6d(0x1f2):_0x333082=_0x128d6d(0x1ec);break;case'id-ID':_0x333082=_0x128d6d(0x1f9);break;default:_0x333082='This\x20is\x20a\x20basic\x20page\x20template,\x20you\x20can\x20develop\x20based\x20on\x20it.';}return'\x20\x20'+JSON[_0x128d6d(0x1f3)](_0x2219ff)+_0x128d6d(0x1e7)+JSON[_0x128d6d(0x1f3)](_0x128d6d(0x1f1))+':\x20'+JSON[_0x128d6d(0x1f3)](_0x333082)+_0x128d6d(0x1e5);})['join'](',\x0a');return _0x1f251a(0x1e4)+_0xad1dd2+_0x1f251a(0x1f4);}export function buildInitialFiles(_0x27c7ba,_0x1050e7){return{'src/app/index.jsx':buildIndexFile(_0x27c7ba),'src/app/index.css':buildStyleFile(),'src/locales/index.js':buildLocalesFile(_0x1050e7)};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a147_0x5e5c66=a147_0xdf17;(function(_0x49e47d,_0x38675a){const _0x346792=a147_0xdf17,_0x2eee3c=_0x49e47d();while(!![]){try{const _0x3d00f8=-parseInt(_0x346792(0x160))/0x1+-parseInt(_0x346792(0x163))/0x2*(parseInt(_0x346792(0x157))/0x3)+parseInt(_0x346792(0x155))/0x4*(parseInt(_0x346792(0x161))/0x5)+parseInt(_0x346792(0x15d))/0x6*(parseInt(_0x346792(0x146))/0x7)+-parseInt(_0x346792(0x15f))/0x8+parseInt(_0x346792(0x144))/0x9*(-parseInt(_0x346792(0x14c))/0xa)+-parseInt(_0x346792(0x14f))/0xb*(-parseInt(_0x346792(0x159))/0xc);if(_0x3d00f8===_0x38675a)break;else _0x2eee3c['push'](_0x2eee3c['shift']());}catch(_0xd1fae8){_0x2eee3c['push'](_0x2eee3c['shift']());}}}(a147_0x4b19,0xc1cff));function a147_0x4b19(){const _0x28ca0f=['11yIpTnJ','string','compress','Cannot\x20determine\x20the\x20appCode\x20for\x20React\x20custom\x20page\x20','page','Complete\x20page\x20files\x20as\x20JSON','87512fRlaYC','trim','51WDtnMr','React\x20custom\x20page\x20was\x20updated,\x20but\x20a\x20link\x20to\x20its\x20latest\x20saved\x20content\x20could\x20not\x20be\x20generated.','26564748rhNvGJ','page.react-update','POST','React\x20custom\x20page\x20ID','3803034eYEBuj','isInteger','2388592zmhuaW','1121013hCdtAv','325rCfrzV','Save\x20all\x20files\x20of\x20a\x20React\x20custom\x20page','67546HIxETY','pageId','page-content','react-update','9tVrKNS','str','7lUgdXd','appCode','Updated\x20React\x20custom\x20page\x20','React\x20custom\x20page\x20update\x20did\x20not\x20create\x20a\x20new\x20version.','cookie','newVersion','14820550ptpMvv','pageContent','write'];a147_0x4b19=function(){return _0x28ca0f;};return a147_0x4b19();}import{getReactPageSource,updateReactPageContent}from'../../../core/api-client.js';import{CliErrors}from'../../../errors.js';import{buildReactPageEditUrl,parseReactPageContent,resolveReactPageDevelopmentUrl,readReactPageId,REACT_PAGE_APPCODE_FLAG_OPTIONAL,validateReactPageContent}from'./shared.js';export const pageReactUpdate={'service':a147_0x5e5c66(0x153),'command':a147_0x5e5c66(0x166),'description':a147_0x5e5c66(0x162),'risk':a147_0x5e5c66(0x14e),'defaultOutputFormat':a147_0x5e5c66(0x151),'structuredErrors':!![],'requiresAppCode':![],'flags':[{'name':'id','type':'number','required':!![],'description':a147_0x5e5c66(0x15c)},{'name':a147_0x5e5c66(0x165),'type':a147_0x5e5c66(0x150),'required':!![],'description':a147_0x5e5c66(0x154)},REACT_PAGE_APPCODE_FLAG_OPTIONAL],async 'validate'(_0x3475f3){const _0x474771=a147_0x5e5c66;readReactPageId(_0x3475f3),await validateReactPageContent(parseReactPageContent(_0x3475f3[_0x474771(0x145)]('page-content')));},async 'dryRun'(_0xc9a3c7){const _0x2dc7a6=a147_0x5e5c66,_0x40786f=await readInput(_0xc9a3c7);return{'method':_0x2dc7a6(0x15b),'url':'/smartapi/webcode/page/update/content','body':{'id':_0x40786f[_0x2dc7a6(0x164)],'codeContent':_0x40786f['pageContent']},'description':'Would\x20save\x20all\x20files\x20of\x20React\x20custom\x20page\x20'+_0x40786f[_0x2dc7a6(0x164)]+'.'};},async 'execute'(_0x406ff3){const _0x529ad7=a147_0x5e5c66,_0x49b599=await readInput(_0x406ff3),_0x148ec2=await updateReactPageContent({'pageId':_0x49b599['pageId'],'pageContent':_0x49b599[_0x529ad7(0x14d)]});if(!Number[_0x529ad7(0x15e)](_0x148ec2['newVersion'])||_0x148ec2[_0x529ad7(0x14b)]<=0x0)throw CliErrors['apiError'](_0x529ad7(0x149));const _0x3ee75f=buildReactPageEditUrl(_0x49b599['appCode'],_0x49b599['pageId']),_0x26b9b5=await resolveReactPageDevelopmentUrl(_0x49b599[_0x529ad7(0x147)],_0x49b599[_0x529ad7(0x164)],_0x406ff3[_0x529ad7(0x14a)]);return{'ok':!![],'data':buildMutationData(_0x49b599,_0x148ec2,_0x26b9b5,_0x3ee75f,_0x26b9b5?[]:[_0x529ad7(0x158)]),'message':_0x529ad7(0x148)+_0x49b599[_0x529ad7(0x164)]+'.'};}};async function readInput(_0x1bbdb0){const _0x37de0c=a147_0x5e5c66,_0x2baf32=readReactPageId(_0x1bbdb0),_0xaa7dd5=_0x1bbdb0['str']('appcode')['trim']()||(await getReactPageSource(_0x2baf32))[_0x37de0c(0x147)]?.[_0x37de0c(0x156)]();if(!_0xaa7dd5)throw CliErrors['validation'](_0x37de0c(0x152)+_0x2baf32+'.');return{'appCode':_0xaa7dd5,'pageId':_0x2baf32,'pageContent':parseReactPageContent(_0x1bbdb0[_0x37de0c(0x145)](_0x37de0c(0x165)))};}function a147_0xdf17(_0x91ab37,_0x4710e6){_0x91ab37=_0x91ab37-0x144;const _0x4b1940=a147_0x4b19();let _0xdf17c5=_0x4b1940[_0x91ab37];return _0xdf17c5;}function buildMutationData(_0xc90fa0,_0x474147,_0x514e9c,_0x125c0c,_0x17f4f3=[]){const _0x560f52=a147_0x5e5c66;return{'operation':_0x560f52(0x15a),'selector':{'appCode':_0xc90fa0[_0x560f52(0x147)],'pageId':_0xc90fa0[_0x560f52(0x164)]},'before':null,'after':{'pageId':_0x474147?.[_0x560f52(0x164)]??_0xc90fa0[_0x560f52(0x164)],'version':_0x474147?.['newVersion']??null,'pageContent':_0xc90fa0[_0x560f52(0x14d)]},'dryRun':_0x474147===undefined,'request':_0xc90fa0,..._0x514e9c?{'pageUrl':_0x514e9c}:{},..._0x125c0c?{'editPageUrl':_0x125c0c}:{},'warnings':_0x17f4f3};}
|