@lovrabet/rabetbase-cli 2.3.16-beta.7 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -10
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/auth/auth-server-ui.js +1 -1
- package/lib/auth/auth-server.js +1 -1
- package/lib/auth/constant.js +1 -1
- package/lib/auth/get-cookie.js +1 -1
- package/lib/auth/get-session-user.js +1 -1
- package/lib/auth/is-session-valid.js +1 -1
- package/lib/auth/login-success-html.js +1 -1
- package/lib/auth/logout.js +1 -1
- package/lib/cli-flags.js +1 -1
- package/lib/cli.js +1 -1
- package/lib/commands/api/generate.js +1 -1
- package/lib/commands/api/index.js +1 -1
- package/lib/commands/api/list.js +1 -1
- package/lib/commands/api/pull.js +1 -1
- package/lib/commands/api/shared.js +1 -1
- package/lib/commands/app/index.js +1 -1
- package/lib/commands/app/list.js +1 -1
- package/lib/commands/app/members-list.js +1 -1
- package/lib/commands/app/remote-directory.js +1 -1
- package/lib/commands/app/shared.js +1 -1
- package/lib/commands/app-config/delete.js +1 -1
- package/lib/commands/app-config/get.js +1 -1
- package/lib/commands/app-config/index.js +1 -1
- package/lib/commands/app-config/list.js +1 -1
- package/lib/commands/app-config/set.js +1 -1
- package/lib/commands/app-config/shared.js +1 -1
- package/lib/commands/auth/index.js +1 -1
- package/lib/commands/bff/create.js +1 -1
- package/lib/commands/bff/delete.js +1 -1
- package/lib/commands/bff/detail.js +1 -1
- package/lib/commands/bff/index.js +1 -1
- package/lib/commands/bff/list.js +1 -1
- package/lib/commands/bff/pull.js +1 -1
- package/lib/commands/bff/push.js +1 -1
- package/lib/commands/bff/status.js +1 -1
- package/lib/commands/cli-skill/index.js +1 -1
- package/lib/commands/cli-update.js +1 -1
- package/lib/commands/codegen/index.js +1 -1
- package/lib/commands/codegen/sdk.js +1 -1
- package/lib/commands/codegen/sql.js +1 -1
- package/lib/commands/common/app-registry.js +1 -1
- package/lib/commands/common/app-selector.js +1 -1
- package/lib/commands/common/async-task.js +1 -1
- package/lib/commands/common/dry-run.js +1 -1
- package/lib/commands/common/flags.js +1 -1
- package/lib/commands/common/local-file.js +1 -1
- package/lib/commands/common/validate.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/list.js +1 -1
- package/lib/commands/config/set.js +1 -1
- package/lib/commands/config/shared.js +1 -1
- package/lib/commands/data/filter.js +1 -1
- package/lib/commands/data/getOne.js +1 -1
- package/lib/commands/data/index.js +1 -1
- package/lib/commands/data/shared.js +1 -1
- package/lib/commands/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-update.js +1 -1
- package/lib/commands/dataset/generate.js +1 -1
- package/lib/commands/dataset/index.js +1 -1
- package/lib/commands/dataset/list.js +1 -1
- package/lib/commands/dataset/operations.js +1 -1
- package/lib/commands/dataset/relation-audit.js +1 -1
- package/lib/commands/dataset/relation-create.js +1 -1
- package/lib/commands/dataset/relation-delete.js +1 -1
- package/lib/commands/dataset/relation-shared.js +1 -1
- package/lib/commands/dataset/relation-update.js +1 -1
- package/lib/commands/dataset/relations.js +1 -1
- package/lib/commands/dataset/rename.js +1 -1
- package/lib/commands/dataset/restore.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/tables.js +1 -1
- package/lib/commands/db/test.js +1 -1
- package/lib/commands/db/update.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/init/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/react/create.d.ts +2 -0
- package/lib/commands/page/react/create.js +1 -0
- package/lib/commands/page/react/detail.d.ts +2 -0
- package/lib/commands/page/react/detail.js +1 -0
- package/lib/commands/page/react/list.d.ts +2 -0
- package/lib/commands/page/react/list.js +1 -0
- package/lib/commands/page/react/publish.d.ts +2 -0
- package/lib/commands/page/react/publish.js +1 -0
- package/lib/commands/page/react/shared.d.ts +78 -0
- package/lib/commands/page/react/shared.js +1 -0
- package/lib/commands/page/react/syntax.d.ts +18 -0
- package/lib/commands/page/react/syntax.js +1 -0
- package/lib/commands/page/react/template.d.ts +8 -0
- package/lib/commands/page/react/template.js +1 -0
- package/lib/commands/page/react/update.d.ts +2 -0
- package/lib/commands/page/react/update.js +1 -0
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.d.ts +1 -0
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/standard-page-status.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/permit/index.js +1 -1
- package/lib/commands/permit/page-get.js +1 -1
- package/lib/commands/permit/page-set.js +1 -1
- package/lib/commands/permit/role-apis-set.js +1 -1
- package/lib/commands/permit/role-menus-set.js +1 -1
- package/lib/commands/permit/role-menus.js +1 -1
- package/lib/commands/permit/shared.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/non-interactive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/create.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
- package/lib/commands/user-account/index.d.ts +2 -0
- package/lib/commands/user-account/index.js +1 -0
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.js +1 -1
- package/lib/constant/cli.js +1 -1
- package/lib/constant/defaults.js +1 -1
- package/lib/constant/domain.js +1 -1
- package/lib/constant/env.js +1 -1
- package/lib/constant/output.js +1 -1
- package/lib/constant/paths.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/context/app-resolver.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.d.ts +117 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/types.js +1 -1
- package/lib/generated/build-info.d.ts +4 -4
- package/lib/generated/build-info.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.d.ts +3 -0
- package/lib/postinstall.js +1 -0
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.d.ts +37 -0
- package/lib/skills/builtin-skill.js +1 -0
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.d.ts +4 -2
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/copy-directory.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/rules-cdn.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +9 -3
- package/scripts/postinstall.mjs +24 -0
- package/skills/rabetbase/SKILL.md +493 -0
- package/skills/rabetbase/guides/backend-function.md +835 -0
- package/skills/rabetbase/guides/best-practices.md +137 -0
- package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
- package/skills/rabetbase/guides/conflict-detection.md +119 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
- package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
- package/skills/rabetbase/guides/frontend-development.md +179 -0
- package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
- package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
- package/skills/rabetbase/guides/page-development-workflow.md +187 -0
- package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
- package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
- package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
- package/skills/rabetbase/guides/sql-mybatis.md +126 -0
- package/skills/rabetbase/guides/troubleshooting.md +67 -0
- package/skills/rabetbase/guides/typescript-sdk.md +227 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
- package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
- package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
- package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
- package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
- package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
- package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
- package/skills/rabetbase/knowledge/react-page/components.md +225 -0
- package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
- package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
- package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
- package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
- package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
- package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
- package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
- package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
- package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
- package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
- package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
- package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
- package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
- package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
- package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
- package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
- package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
- package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
- package/skills/rabetbase/references/rabetbase-config.md +296 -0
- package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
- package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
- package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
- package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
- package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
- package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
- package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
- package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
- package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
- package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
- package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
- package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
- package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
- package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
- package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
- package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
- package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
- package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
- package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
- package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
- package/skills/rabetbase/references/rabetbase-file.md +35 -0
- package/skills/rabetbase/references/rabetbase-init.md +70 -0
- package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
- package/skills/rabetbase/references/rabetbase-kb.md +62 -0
- package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
- package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
- package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
- package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
- package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
- package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
- package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
- package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
- package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
- package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
- package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
- package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
- package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
- package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
- package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
- package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
- package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
- package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
- package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
- package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
- package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
- package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
- package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
- package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
- package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
- package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
- package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
- package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
- package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
- package/skills/rabetbase/references/rabetbase-run.md +53 -0
- package/skills/rabetbase/references/rabetbase-schema.md +22 -0
- package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
- package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
- package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
- package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
- package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
- package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
- package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
- package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
- package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
- package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
- package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
- package/skills/rabetbase/references/rabetbase-update.md +56 -0
- package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
- package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
- package/skills/rabetbase.manifest.json +137 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# page restore
|
|
2
|
+
|
|
3
|
+
恢复当前应用下一条已删除的 STANDARD 或 JSX 页面。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase page restore --id 1023895 --dry-run --format json
|
|
9
|
+
rabetbase page restore --id 1023895 --format json
|
|
10
|
+
rabetbase page restore --id 1450 --page-type JSX --format json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 参数
|
|
14
|
+
|
|
15
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
16
|
+
|------|------|------|------|------|
|
|
17
|
+
| `--id <pageId>` | number | 是 | — | 已删除页面 ID,必须为正整数 |
|
|
18
|
+
| `--page-type <type>` | string | 否 | — | `STANDARD` 或 `JSX`;用于缩小查询范围或消除跨类型同 ID 歧义 |
|
|
19
|
+
| `--dry-run` | boolean | 否 | `false` | 定位页面并预览恢复请求,不执行恢复 |
|
|
20
|
+
| `--format <fmt>` | string | 否 | `compress` | 输出格式 |
|
|
21
|
+
|
|
22
|
+
## 行为说明
|
|
23
|
+
|
|
24
|
+
- 未传 `--page-type` 时,CLI 查询当前应用下 STANDARD 与 JSX 两类已删除页面,并按 `--id` 唯一定位。
|
|
25
|
+
- 同一个数字 ID 在两类页面中同时存在时,CLI 不猜测目标;需显式传 `--page-type STANDARD` 或 `--page-type JSX`。
|
|
26
|
+
- STANDARD 页面恢复请求只携带页面 ID;JSX 页面恢复请求同时携带当前 `appCode` 和页面 ID。
|
|
27
|
+
- 自动识别时任一类型查询失败都会终止恢复,避免在无法排除同 ID 歧义时写错目标。
|
|
28
|
+
- JSX 恢复返回未更新记录时,按状态已变化或页面已恢复处理,不报告成功。
|
|
29
|
+
|
|
30
|
+
## 输出
|
|
31
|
+
|
|
32
|
+
结构化结果的稳定字段包括:
|
|
33
|
+
|
|
34
|
+
- `data.operation = "page.restore"`
|
|
35
|
+
- `data.appCode`
|
|
36
|
+
- `data.selector.id`
|
|
37
|
+
- `data.selector.pageType`
|
|
38
|
+
- `data.page.id/name/pageType/type/datasetIds`
|
|
39
|
+
- `data.restored`
|
|
40
|
+
- `data.dryRun`
|
|
41
|
+
- `data.backend.method/path`
|
|
42
|
+
|
|
43
|
+
## 参考
|
|
44
|
+
|
|
45
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# page sync
|
|
2
|
+
|
|
3
|
+
将数据集字段变更同步到已存在的智能列表页(Smart List Page,DOV2 `smart_page`)。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase page sync --datasetcode 097b7361b76c42bcb12b923fa5a08861 --format json
|
|
9
|
+
rabetbase page sync --alias order --format json
|
|
10
|
+
rabetbase page sync --datasetcode 097b7361b76c42bcb12b923fa5a08861 --dry-run --format json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 参数
|
|
14
|
+
|
|
15
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
16
|
+
|------|------|------|------|------|
|
|
17
|
+
| `--datasetcode <code>` | string | 与 `--alias` 二选一 | — | 数据集 code(32 位 hex) |
|
|
18
|
+
| `--alias <name>` | string | 与 `--datasetcode` 二选一 | — | `api.ts` 中的数据集别名 |
|
|
19
|
+
| `--dry-run` | boolean | 否 | `false` | 仅预览请求与前置校验,不实际同步页面 |
|
|
20
|
+
| `--format <fmt>` | string | 否 | `compress` | 输出格式 |
|
|
21
|
+
|
|
22
|
+
## 行为说明
|
|
23
|
+
|
|
24
|
+
- 该命令面向**已有智能列表页**的增量同步场景。
|
|
25
|
+
- CLI 会先检查数据集下是否存在未删除的关联智能列表页。
|
|
26
|
+
- 若当前没有可同步页面,命令会 fail-fast,并提示改走 `rabetbase page generate-start --datasetcode <code>` 这条异步生成路径;具体轮询与回查流程见 [page-development-workflow.md](../guides/page-development-workflow.md)。
|
|
27
|
+
|
|
28
|
+
## 提示
|
|
29
|
+
|
|
30
|
+
- 这是平台侧页面编排命令,不会把页面 schema 拉到本地
|
|
31
|
+
- 若要进入本地 schema 编辑工作流,使用 [`rabetbase page pull`](rabetbase-page-pull.md)
|
|
32
|
+
|
|
33
|
+
## 参考
|
|
34
|
+
|
|
35
|
+
- [SKILL.md](../SKILL.md)
|
|
36
|
+
- [rabetbase-page-generate-start.md](rabetbase-page-generate-start.md)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# rabetbase permit page-get / page-set
|
|
2
|
+
|
|
3
|
+
按菜单配置页面权限:菜单可见、数据操作(create/update/delete/detail/export)、行级可见(`dataPermit` = DATA_ROW)。角色字面量支持 `SELF` / `ALL` / 角色 id / 角色名(解析自 `get-permit-list`,含特殊组)。`SELF`(行级)**只允许**用于 `--row-roles`。
|
|
4
|
+
|
|
5
|
+
`page-set` 是 `high-risk-write`:服务端 `page/save` 回写完整 `IPagePermit`,CLI 读取完整快照后只改传入的槽位,其余原样回写;只能设置 `page-get` 中已存在的槽位。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rabetbase permit page-get --menu-id 55 --format compress
|
|
11
|
+
rabetbase permit page-set --menu-id 55 --row-roles SELF --dry-run
|
|
12
|
+
rabetbase permit page-set --menu-id 55 --row-roles SELF --yes
|
|
13
|
+
rabetbase permit page-set --menu-id 55 --menu-roles ALL,销售组 --yes
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## page-get
|
|
17
|
+
|
|
18
|
+
返回 `data.page`:`menuId`、`appCode`,以及 `menuPermit` / `dataCreate` / `dataUpdate` / `dataDelete` / `dataDetail` / `dataExport` / `dataPermit` 各槽的 `{ resourceCode, roles[] }`(roles 为 `{id, roleName, roleType}`)。槽位缺失表示该页面无此权限维度。
|
|
19
|
+
|
|
20
|
+
## page-set 参数
|
|
21
|
+
|
|
22
|
+
| Flag | 槽位 | 允许 SELF |
|
|
23
|
+
|------|------|-----------|
|
|
24
|
+
| `--menu-roles` | menuPermit(目录可见) | 否 |
|
|
25
|
+
| `--create-roles` | dataCreate | 否 |
|
|
26
|
+
| `--update-roles` | dataUpdate | 否 |
|
|
27
|
+
| `--delete-roles` | dataDelete | 否 |
|
|
28
|
+
| `--detail-roles` | dataDetail | 否 |
|
|
29
|
+
| `--export-roles` | dataExport | 否 |
|
|
30
|
+
| `--row-roles` | dataPermit(行级可见) | 是(SELF = 只看自己) |
|
|
31
|
+
|
|
32
|
+
每个值是逗号分隔的角色字面量。至少传一个槽位 flag。传入不存在的槽位会报错。
|
|
33
|
+
|
|
34
|
+
## 用例 5(请假列表只看自己)
|
|
35
|
+
|
|
36
|
+
行级 `SELF` 打在 `dataPermit`,**不要** revoke 菜单:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
rabetbase menu list # 定位请假列表 menuId
|
|
40
|
+
rabetbase permit page-get --menu-id <id> --format compress
|
|
41
|
+
rabetbase permit page-set --menu-id <id> --row-roles SELF --dry-run
|
|
42
|
+
rabetbase permit page-set --menu-id <id> --row-roles SELF --yes
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 输出协议
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"operation": "page-set",
|
|
50
|
+
"selector": { "appCode": "app-xxx", "menuId": 55, "slots": ["dataPermit"] },
|
|
51
|
+
"before": { "dataPermit": { "resourceCode": "ROW_1", "roles": [{ "id": -1, "roleName": "ALL", "roleType": "ALL" }] } },
|
|
52
|
+
"after": { "dataPermit": { "resourceCode": "ROW_1", "roles": [{ "id": 0, "roleName": "SELF", "roleType": "SELF" }] } },
|
|
53
|
+
"dryRun": true,
|
|
54
|
+
"backend": { "method": "POST", "path": "/smartapi/permit/page/save" },
|
|
55
|
+
"warnings": []
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
不含合成 `protocol`。校验读 `data.after.<slot>.roles`。
|
|
60
|
+
|
|
61
|
+
## 运行态验证交接
|
|
62
|
+
|
|
63
|
+
`page-set --row-roles SELF` 只写入权限配置。要验证「登录后 filter 是否只返回自己的行」,交给 `lovrabet data filter` 在运行态执行验证。
|
|
64
|
+
|
|
65
|
+
## 参考
|
|
66
|
+
|
|
67
|
+
- [permit role-menus-set / role-apis-set](rabetbase-permit-role-menus-set.md)
|
|
68
|
+
- [menu list](rabetbase-menu-list.md)
|
|
69
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# rabetbase permit role-apis-set
|
|
2
|
+
|
|
3
|
+
按 `datasetCode` 收回角色的**数据集 API** 访问(`roleType: API`)。`high-risk-write`。一期以 `--revoke` 为主满足用例 4(销售组不能访问财务数据接口)。
|
|
4
|
+
|
|
5
|
+
`datasetCode → resourceCode` 映射与当前全量 API 权限状态来自内部读取的 `get-api-list`(服务端标 `@Deprecated`,CLI 内部读、不做公开命令)。CLI 读取全量后只把指定 datasets 的 resourceCodes 置为 `0`,其余保持当前动作后全量回写。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rabetbase permit role-apis-set --role 销售组 --revoke --datasets ds_finance --dry-run
|
|
11
|
+
rabetbase permit role-apis-set --role 销售组 --revoke --datasets ds_finance,ds_invoice --yes
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 参数
|
|
15
|
+
|
|
16
|
+
| Flag | 必填 | 说明 |
|
|
17
|
+
|------|------|------|
|
|
18
|
+
| `--role <id\|name>` | 是 | 目标角色(DEV/ADMIN 拒绝) |
|
|
19
|
+
| `--revoke` | 是 | 一期语义固定为收回;缺失会报 validation |
|
|
20
|
+
| `--datasets <code,...>` | 是 | 逗号分隔 datasetCode;该角色 API 资源里不存在的 code 报错 |
|
|
21
|
+
| `--appcode <code>` | 否 | 覆盖当前 app |
|
|
22
|
+
|
|
23
|
+
## 输出协议
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"operation": "api-revoke",
|
|
28
|
+
"selector": { "appCode": "app-xxx", "roleId": 12, "roleName": "销售组", "datasetCodes": ["ds_finance"] },
|
|
29
|
+
"before": [{ "resourceCode": "API_FIN_1", "datasetCode": "ds_finance", "action": "access" }],
|
|
30
|
+
"after": [{ "resourceCode": "API_FIN_1", "datasetCode": "ds_finance", "action": "0" }],
|
|
31
|
+
"dryRun": true,
|
|
32
|
+
"backend": { "method": "POST", "path": "/smartapi/permit/role/update", "roleType": "API" },
|
|
33
|
+
"warnings": []
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
不含合成 `protocol`。校验读 `data.after`(应全部为 `action: "0"`)。
|
|
38
|
+
|
|
39
|
+
## 用例 4(完整:菜单 + API 双侧收紧)
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
rabetbase dataset list # 定位财务域 datasetCode
|
|
43
|
+
rabetbase permit role-menus-set --role <salesId> --revoke --menus <财务菜单> --dry-run|--yes
|
|
44
|
+
rabetbase permit role-apis-set --role <salesId> --revoke --datasets <财务datasetCode> --dry-run|--yes
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
菜单不可见 + 数据接口不可访问,两侧都要收紧。真实「登录后是否读不到财务行」用 `lovrabet` 运行态验证。
|
|
48
|
+
|
|
49
|
+
## 参考
|
|
50
|
+
|
|
51
|
+
- [permit role-menus / role-menus-set](rabetbase-permit-role-menus-set.md)
|
|
52
|
+
- [dataset list](rabetbase-dataset-list.md)
|
|
53
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# rabetbase permit role-menus / role-menus-set
|
|
2
|
+
|
|
3
|
+
查看与设置某角色的**菜单**权限矩阵(`roleType: PAGE`)。`role-menus-set` 是 `high-risk-write`:CLI 读取角色全量菜单资源,只翻转 `--menus` 指定的 `resourceCode`,其余保持当前动作后全量回写 `permits`。
|
|
4
|
+
|
|
5
|
+
**内置角色守卫**:DEV / ADMIN 的权限矩阵不可改,会被 validation 拒绝。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rabetbase permit role-menus --role 销售组 --format compress
|
|
11
|
+
rabetbase permit role-menus-set --role 销售组 --revoke --menus MENU_FIN_1,MENU_FIN_2 --dry-run
|
|
12
|
+
rabetbase permit role-menus-set --role 销售组 --grant --menus MENU_SALES_1 --yes
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## role-menus(读)
|
|
16
|
+
|
|
17
|
+
返回 `data.menus[]`:`resourceCode`、`resourceName`、`allowed`(是否 `access`)、`action`。用它拿到可用的 `resourceCode` 再去 set。
|
|
18
|
+
|
|
19
|
+
## role-menus-set 参数
|
|
20
|
+
|
|
21
|
+
| Flag | 必填 | 说明 |
|
|
22
|
+
|------|------|------|
|
|
23
|
+
| `--role <id\|name>` | 是 | 目标角色(DEV/ADMIN 拒绝) |
|
|
24
|
+
| `--grant` / `--revoke` | 是(二选一) | 授予(`access`)或收回(`0`) |
|
|
25
|
+
| `--menus <code,...>` | 是 | 逗号分隔的菜单 `resourceCode`;未知 code 报错 |
|
|
26
|
+
| `--appcode <code>` | 否 | 覆盖当前 app |
|
|
27
|
+
|
|
28
|
+
## 输出协议
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"operation": "menu-revoke",
|
|
33
|
+
"selector": { "appCode": "app-xxx", "roleId": 12, "roleName": "销售组", "resourceCodes": ["MENU_FIN_1"] },
|
|
34
|
+
"before": [{ "resourceCode": "MENU_FIN_1", "action": "access" }],
|
|
35
|
+
"after": [{ "resourceCode": "MENU_FIN_1", "action": "0" }],
|
|
36
|
+
"dryRun": true,
|
|
37
|
+
"backend": { "method": "POST", "path": "/smartapi/permit/role/update", "roleType": "PAGE" },
|
|
38
|
+
"warnings": []
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 用例 4(菜单侧:销售组不看财务菜单)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
rabetbase dataset list # 定位财务域
|
|
46
|
+
rabetbase permit role-menus --role <salesId>
|
|
47
|
+
rabetbase permit role-menus-set --role <salesId> --revoke --menus <财务菜单resourceCodes> --dry-run
|
|
48
|
+
rabetbase permit role-menus-set --role <salesId> --revoke --menus <...> --yes
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
一期不做自动 suggest,必须显式 `--menus`,避免误伤非财务菜单。API 侧收紧见 [`role-apis-set`](rabetbase-permit-role-apis-set.md)。
|
|
52
|
+
|
|
53
|
+
## 参考
|
|
54
|
+
|
|
55
|
+
- [permit role-apis-set](rabetbase-permit-role-apis-set.md)
|
|
56
|
+
- [permit page-get / page-set](rabetbase-permit-page-set.md)
|
|
57
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# project create
|
|
2
|
+
|
|
3
|
+
创建新项目。
|
|
4
|
+
|
|
5
|
+
> **风险等级:write** — 创建项目文件和配置。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 交互模式
|
|
11
|
+
rabetbase project create
|
|
12
|
+
|
|
13
|
+
# 指定项目名
|
|
14
|
+
rabetbase project create my-project
|
|
15
|
+
|
|
16
|
+
# 通过 flag 指定
|
|
17
|
+
rabetbase project create --name my-project
|
|
18
|
+
|
|
19
|
+
# 非交互模式(必须传 name)
|
|
20
|
+
rabetbase project create my-project --appcode <code> --env production
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 参数
|
|
24
|
+
|
|
25
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
26
|
+
|------|------|------|------|------|
|
|
27
|
+
| `<project-name>` | positional | 否 | — | 项目名称(也可用 `--name`) |
|
|
28
|
+
| `--name <name>` | string | 否 | — | 项目名称(优先于位置参数) |
|
|
29
|
+
| `--env <env>` | string | 否 | — | 目标环境 |
|
|
30
|
+
| `--appcode <code>` | string | 否 | — | 绑定的应用 code(跳过交互选择) |
|
|
31
|
+
|
|
32
|
+
## 两种模式
|
|
33
|
+
|
|
34
|
+
1. **交互模式** — 通过提示选择项目配置
|
|
35
|
+
2. **非交互模式**(`--ci` 或非 TTY)— 必须提供项目名称,支持 `--appcode` 跳过应用选择
|
|
36
|
+
|
|
37
|
+
## 提示
|
|
38
|
+
|
|
39
|
+
- `--name` 和位置参数二选一,`--name` 优先
|
|
40
|
+
- 非交互模式下缺少项目名会报错
|
|
41
|
+
- 新项目中的 `.rabetbase.json` **只继承**全局中的少量偏好(如 `cookie`、`accessKey`、`locale`、`format`、`riskLevel`),**不会**把全局的 `apps` / `defaultApp` 复制进新项目
|
|
42
|
+
|
|
43
|
+
## 参考
|
|
44
|
+
|
|
45
|
+
- [SKILL.md](../SKILL.md)
|
|
46
|
+
- [rabetbase init](rabetbase-init.md)
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# project upgrade
|
|
2
|
+
|
|
3
|
+
从 lovrabet-cli 迁移到 rabetbase-cli。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# 交互模式(先分析 → 展示报告 → 确认 → 执行)
|
|
9
|
+
rabetbase project upgrade
|
|
10
|
+
|
|
11
|
+
# 自动模式(跳过确认)
|
|
12
|
+
rabetbase project upgrade --yes
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 参数
|
|
16
|
+
|
|
17
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
18
|
+
|------|------|------|------|------|
|
|
19
|
+
| `--yes` | boolean | 否 | `false` | 跳过确认提示,直接执行 |
|
|
20
|
+
|
|
21
|
+
## 执行流程
|
|
22
|
+
|
|
23
|
+
两阶段模式:先分析 → 展示报告 → 确认 → 执行 6 步:
|
|
24
|
+
|
|
25
|
+
| 步骤 | 操作 | 说明 |
|
|
26
|
+
|------|------|------|
|
|
27
|
+
| 1 | 配置文件迁移 | 旧配置(`.lovrabet.json` 等)→ `.rabetbase.json`,旧文件备份为 `.bak` |
|
|
28
|
+
| 2 | 删除 `.lovrabet/` | 移除旧的工作目录 |
|
|
29
|
+
| 3 | 删除旧 IDE skill 文件 | 移除 `.cursor/rules/lovrabet_rules.mdc`、`.claude/skills/lovrabet` 等 |
|
|
30
|
+
| 4 | 清理 MCP 配置 | 从 `.cursor/mcp.json` 移除引用 `@lovrabet/dataset-mcp-server` 的条目 |
|
|
31
|
+
| 5 | 移除旧 skill | 清理旧的 Lovrabet Skill 安装记录 |
|
|
32
|
+
| 6 | 安装新 skill | `npx skills add lovrabet/rabetbase -g -y` |
|
|
33
|
+
|
|
34
|
+
## 分析报告
|
|
35
|
+
|
|
36
|
+
执行前会扫描并展示:
|
|
37
|
+
- 旧配置文件路径和待迁移字段
|
|
38
|
+
- 旧文件/目录列表
|
|
39
|
+
- MCP 配置中待清理的条目
|
|
40
|
+
- 是否需要 skill 替换
|
|
41
|
+
|
|
42
|
+
## 输出
|
|
43
|
+
|
|
44
|
+
- 每步显示 OK / FAIL 和详情
|
|
45
|
+
- 最终汇总表:所有步骤的执行结果
|
|
46
|
+
- 全部成功:`Upgrade completed successfully!`
|
|
47
|
+
- 部分失败:提示检查 summary
|
|
48
|
+
|
|
49
|
+
## 触发方式
|
|
50
|
+
|
|
51
|
+
- 手动执行:`rabetbase project upgrade`
|
|
52
|
+
- 自动触发:`rabetbase init` 检测到旧配置时自动路由
|
|
53
|
+
|
|
54
|
+
## 参考
|
|
55
|
+
|
|
56
|
+
- [SKILL.md](../SKILL.md)
|
|
57
|
+
- [rabetbase init](rabetbase-init.md)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# rabetbase role(list / detail / create / update / delete)
|
|
2
|
+
|
|
3
|
+
管理当前应用的用户组(角色)。事实源是平台角色管理面。角色类型:`ADMIN` / `DEV` / `USER`(内置)与 `CUSTOM`(用户创建)。
|
|
4
|
+
|
|
5
|
+
**内置角色守卫**:`update` / `delete` 仅限 `CUSTOM`;对 `DEV` / `ADMIN` 会被 validation 拒绝。修改权限矩阵见 [`permit`](rabetbase-permit-role-menus-set.md)。成员增删对所有角色可用,见 [`user-add / user-remove`](rabetbase-role-user-add.md)。
|
|
6
|
+
|
|
7
|
+
写操作默认输出 `compress`,先 `--dry-run` 确认再 `--yes`。
|
|
8
|
+
|
|
9
|
+
## 命令
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
rabetbase role list --format compress
|
|
13
|
+
rabetbase role list --type DEV --format compress
|
|
14
|
+
rabetbase role detail --id 12 --format compress
|
|
15
|
+
rabetbase role create --name 销售组 --dry-run
|
|
16
|
+
rabetbase role create --name 销售组 --remark "华东销售" --format compress
|
|
17
|
+
rabetbase role update --id 12 --name 销售组-华东 --dry-run
|
|
18
|
+
rabetbase role delete --id 12 --dry-run
|
|
19
|
+
rabetbase role delete --id 12 --yes
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## list / detail
|
|
23
|
+
|
|
24
|
+
`list` 列出用户组,`--type` 可过滤 `ADMIN|DEV|USER|CUSTOM`;`--page` 默认 `1`,`--pagesize` 默认 `100` 且范围为 `1-100`。输出关注 `data.roles[]`:`id`、`roleName`、`roleType`、`remark`、`userCount`、`permitCount`、`builtin`。
|
|
25
|
+
|
|
26
|
+
`detail --id` 通过单条接口返回同结构 `data.role`。名称引用会在 CLI 内部遍历所有角色分页,避免遗漏第 100 条之后的角色。
|
|
27
|
+
|
|
28
|
+
## create
|
|
29
|
+
|
|
30
|
+
创建 CUSTOM 用户组(服务端固定 `roleType=CUSTOM`)。服务端 `role/create` 返回创建后的完整角色对象;CLI 直接填充 `data.selector.roleId` 与 `data.after`,不再按名称回查。
|
|
31
|
+
|
|
32
|
+
## update
|
|
33
|
+
|
|
34
|
+
仅改 `CUSTOM` 角色的 `--name` / `--remark`(至少一个)。DEV / ADMIN 被拒绝。输出 `data.before` / `data.after` 为角色投影。
|
|
35
|
+
|
|
36
|
+
## delete
|
|
37
|
+
|
|
38
|
+
`high-risk-write`;仅 `CUSTOM`。dry-run 会在角色仍有成员时给出 `warnings`。正式执行需 `--yes`。
|
|
39
|
+
|
|
40
|
+
## 输出协议(写命令)
|
|
41
|
+
|
|
42
|
+
`create` / `update` / `delete` 在 `data` 内返回稳定字段,Agent 读内层而非顶层 envelope:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"operation": "delete",
|
|
47
|
+
"selector": { "appCode": "app-xxx", "roleId": 12, "roleName": "销售组" },
|
|
48
|
+
"before": { "id": 12, "roleName": "销售组", "roleType": "CUSTOM", "builtin": false },
|
|
49
|
+
"after": null,
|
|
50
|
+
"dryRun": true,
|
|
51
|
+
"backend": { "method": "POST", "path": "/smartapi/permit/role/delete" },
|
|
52
|
+
"warnings": []
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
不含合成 `protocol` key。dry-run 会在同一 `data` 上附加不可枚举的 `method` / `url`,仅用于请求预览。
|
|
57
|
+
|
|
58
|
+
## 用例编排
|
|
59
|
+
|
|
60
|
+
- 用例 1(把小张加入开发者):`role user-resolve --name 小张` → `role list --type DEV` 取 devId → [`role user-add`](rabetbase-role-user-add.md)。
|
|
61
|
+
- 用例 2(创建销售组):`role create --name 销售组 --yes`,从 `data.selector.roleId` 取新 id。
|
|
62
|
+
|
|
63
|
+
## 参考
|
|
64
|
+
|
|
65
|
+
- [role user-resolve](rabetbase-role-user-resolve.md)
|
|
66
|
+
- [role user-add / user-remove](rabetbase-role-user-add.md)
|
|
67
|
+
- [permit role-menus-set / role-apis-set](rabetbase-permit-role-menus-set.md)
|
|
68
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# rabetbase role user-add / user-remove
|
|
2
|
+
|
|
3
|
+
把用户加入/移出角色。服务端 `update-user-list` 是**全量回写所有用户组成员**,CLI 内部做 read-merge-write:只改目标角色的 `userList`,其余角色原样带回,避免误删其它角色成员。`high-risk-write`,正式执行需 `--yes`。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase role user-add --role 12 --user 小张 --dry-run
|
|
9
|
+
rabetbase role user-add --role 销售组 --user 1001 --yes
|
|
10
|
+
rabetbase role user-remove --role 12 --user 1001 --dry-run
|
|
11
|
+
rabetbase role user-remove --role 12 --user 1001 --yes
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 参数
|
|
15
|
+
|
|
16
|
+
| Flag | 必填 | 说明 |
|
|
17
|
+
|------|------|------|
|
|
18
|
+
| `--role <id\|name>` | 是 | 目标角色;纯数字按 id,否则按角色名精确匹配(重名报错) |
|
|
19
|
+
| `--user <id\|name>` | 是 | 目标用户;纯数字按 userId,否则按昵称/用户名解析(见 user-resolve) |
|
|
20
|
+
| `--expect-user-count <n>` | 否 | 防漂移:目标角色当前成员数不等于 n 即中止 |
|
|
21
|
+
| `--appcode <code>` | 否 | 覆盖当前 app |
|
|
22
|
+
|
|
23
|
+
## 行为与幂等
|
|
24
|
+
|
|
25
|
+
- `user-add`:用户已在该角色 → 不写、`data.warnings` 提示、`before == after`。
|
|
26
|
+
- `user-remove`:用户不在该角色 → 不写、`data.warnings` 提示。
|
|
27
|
+
- 有变更时才调用 `update-user-list`。
|
|
28
|
+
|
|
29
|
+
## 输出协议
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"operation": "user-add",
|
|
34
|
+
"selector": { "appCode": "app-xxx", "roleId": 12, "roleName": "销售组", "userId": 1001 },
|
|
35
|
+
"before": { "userIds": [200] },
|
|
36
|
+
"after": { "userIds": [200, 1001] },
|
|
37
|
+
"dryRun": true,
|
|
38
|
+
"backend": { "method": "POST", "path": "/smartapi/permit/user-role/update-user-list" },
|
|
39
|
+
"warnings": []
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Agent 校验时读 `data.before.userIds` / `data.after.userIds`,不要读顶层 envelope。dry-run 会附加不可枚举的 `method` / `url`。
|
|
44
|
+
|
|
45
|
+
## 用例编排
|
|
46
|
+
|
|
47
|
+
- 用例 1:`role user-resolve --name 小张` → `role list --type DEV` → `role user-add --role <devId> --user <userId> --yes`。
|
|
48
|
+
- 用例 3:`role user-resolve --name 小陈` → `role user-add --role <salesId> --user <userId> --yes`。
|
|
49
|
+
|
|
50
|
+
## 参考
|
|
51
|
+
|
|
52
|
+
- [role user-resolve](rabetbase-role-user-resolve.md)
|
|
53
|
+
- [role list](rabetbase-role-list.md)
|
|
54
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# rabetbase role user-resolve
|
|
2
|
+
|
|
3
|
+
把昵称/用户名解析为 `userId`。事实源是当前租户的成员目录(`getByTenantCode`,按当前会话 tenant 解析)。用于 `user-add` / `user-remove` 前先拿到稳定 `userId`。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase role user-resolve --name 小张 --format compress
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 行为
|
|
12
|
+
|
|
13
|
+
- 精确匹配 `nickname` 或 `username`(大小写不敏感)。
|
|
14
|
+
- 命中 0 个:报 validation error,提示核对或改用 `--user <id>`。
|
|
15
|
+
- 命中多个:报歧义并列出候选 `nickname(userId)`,要求用 id 消歧。
|
|
16
|
+
- 输出 `data.user`:`userId`、`username`、`nickname`、`matchedBy`(`id` / `name`)。
|
|
17
|
+
|
|
18
|
+
## 边界
|
|
19
|
+
|
|
20
|
+
- 该接口未列入 Apifox 6396450,依赖 live 环境;未登录会报 auth required。
|
|
21
|
+
- 只做只读解析,不写任何角色成员;实际加入用 [`role user-add`](rabetbase-role-user-add.md)。
|
|
22
|
+
|
|
23
|
+
## 参考
|
|
24
|
+
|
|
25
|
+
- [role user-add / user-remove](rabetbase-role-user-add.md)
|
|
26
|
+
- [role list](rabetbase-role-list.md)
|
|
27
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# run
|
|
2
|
+
|
|
3
|
+
执行 `package.json` 中定义的脚本。
|
|
4
|
+
|
|
5
|
+
> **风险等级:high-risk-write** — 任意 package script 都可能修改本地文件、调用远端服务或执行发布动作。独立 CLI 需要人工提升顶层 `riskLevel`,正式执行还需交互确认或显式传 `--yes`;嵌入式 Rabetbase 工具暂不开放 `run`。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# 列出所有可用脚本
|
|
11
|
+
rabetbase run
|
|
12
|
+
|
|
13
|
+
# 执行指定脚本
|
|
14
|
+
rabetbase run build
|
|
15
|
+
rabetbase run start
|
|
16
|
+
rabetbase run dev
|
|
17
|
+
rabetbase run preview
|
|
18
|
+
|
|
19
|
+
# preview watch 模式(并行 vite build --watch + vite preview)
|
|
20
|
+
rabetbase run preview --watch
|
|
21
|
+
|
|
22
|
+
# 传递额外参数
|
|
23
|
+
rabetbase run build -- --mode production
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## 参数
|
|
27
|
+
|
|
28
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
29
|
+
|------|------|------|------|------|
|
|
30
|
+
| `<script>` | positional | 否 | — | package.json 中的脚本名;省略时列出所有脚本 |
|
|
31
|
+
| `--watch` | boolean | 否 | `false` | 仅 `preview` 脚本可用:并行执行 `vite build --watch` + `vite preview` |
|
|
32
|
+
| `[-- extra-args]` | positional | 否 | — | 传递给脚本的额外参数(`--` 分隔) |
|
|
33
|
+
|
|
34
|
+
## 特殊行为
|
|
35
|
+
|
|
36
|
+
- **自动检测包管理器**:按 lock 文件判断 bun / pnpm / yarn / npm
|
|
37
|
+
- **`start` / `dev` 脚本**:执行前自动检查 CLI 和 SDK 版本,有更新时打印升级警告
|
|
38
|
+
- **`preview --watch`**:并行启动 `vite build --watch` 和 `vite preview`,适合开发时预览生产构建
|
|
39
|
+
|
|
40
|
+
## 输出
|
|
41
|
+
|
|
42
|
+
- 脚本不存在时报错并列出可用脚本
|
|
43
|
+
- 脚本输出直接透传(`stdio: inherit`)
|
|
44
|
+
|
|
45
|
+
## 提示
|
|
46
|
+
|
|
47
|
+
- 必须在包含 `package.json` 的项目根目录执行
|
|
48
|
+
- 先审阅目标 script 的实际命令体和参数;不要把脚本名当成只读能力
|
|
49
|
+
- 所有项目脚本统一使用 `rabetbase run <script>`
|
|
50
|
+
|
|
51
|
+
## 参考
|
|
52
|
+
|
|
53
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# schema export
|
|
2
|
+
|
|
3
|
+
导出与 **`rabetbase --help` 同源**的机器可读命令元数据(全部 `service` / `command`、risk、auth、deprecated、flags 等),供 Skill、脚本、IDE 对齐当前 CLI 契约。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase schema
|
|
9
|
+
# 等价于
|
|
10
|
+
rabetbase schema export
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
- **无需登录**、**无需 appcode**。
|
|
14
|
+
- 默认(未覆盖配置里的 `format`)为 **`--format json`**(缩进信封);大 payload 时 AI 可优先 **`--format compress`** 单行省 token。
|
|
15
|
+
|
|
16
|
+
## 详细说明
|
|
17
|
+
|
|
18
|
+
见仓库内用户指南:**`docs/user-guide/12-schema命令.md`**(载荷结构、`globalFlags`、`services[].commands[].auth`、`services[].commands[].deprecated`、`services[].commands[].flags` 等)。
|
|
19
|
+
|
|
20
|
+
## 参考
|
|
21
|
+
|
|
22
|
+
- [SKILL.md](../SKILL.md)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# sql create
|
|
2
|
+
|
|
3
|
+
先在远端创建一条新的自定义 SQL,再在本地同步目录中生成初始文件并写入 `.rabetbase/sql.lock.json`。
|
|
4
|
+
|
|
5
|
+
## 命令
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rabetbase sql create --name getUserList --db-id 10001 --mode sql --format json
|
|
9
|
+
rabetbase sql create --name getUserList --db-id 10001 --mode sql --dry-run --format json
|
|
10
|
+
rabetbase sql create --name getUserMapper --db-id 10001 --mode mybatisXml --format json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 参数
|
|
14
|
+
|
|
15
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
16
|
+
|------|------|------|------|------|
|
|
17
|
+
| `--name <name>` | string | 交互补全 / 非交互必填 | — | SQL 展示名 |
|
|
18
|
+
| `--db-id <id>` | number | 交互补全 / 非交互必填 | — | 目标数据库 ID |
|
|
19
|
+
| `--mode <mode>` | string | 交互补全 / 非交互必填 | — | 本地文件模式:`sql` 或 `mybatisXml` |
|
|
20
|
+
| `--dry-run` | boolean | 否 | — | 预览目标路径与请求体 |
|
|
21
|
+
| `--format <fmt>` | string | 否 | `compress` | 输出格式 |
|
|
22
|
+
|
|
23
|
+
## 本地输出
|
|
24
|
+
|
|
25
|
+
成功后会:
|
|
26
|
+
|
|
27
|
+
- 在远端创建 SQL,拿到服务端生成的 `sqlCode`
|
|
28
|
+
- 在 **`.rabetbase/sql/<appCode>/<dbName|db-<id>>/<sqlCode>_<sqlName>.sql|xml`** 生成初始文件
|
|
29
|
+
- 在 **`.rabetbase/sql.lock.json`** 写入 lock 条目(含 `remoteId`、`version`、`dbId`、`path`、`mode` 等)
|
|
30
|
+
|
|
31
|
+
生成文件会自动带上 `@lovrabet` 元注释头,后续 `sql push` 上传时会自动剥离,不会写回平台正文。
|
|
32
|
+
|
|
33
|
+
## 提示
|
|
34
|
+
|
|
35
|
+
- 团队长期维护 SQL 时,用 `sql create` 建立本地同步资产
|
|
36
|
+
- 生成后通常继续执行:编辑本地文件 → `sql validate --file ...` → `sql status` → `sql push --sqlcode ... --dry-run` → `sql push --sqlcode ... --yes`
|
|
37
|
+
|
|
38
|
+
## 参考
|
|
39
|
+
|
|
40
|
+
- [SKILL.md](../SKILL.md)
|
|
41
|
+
- [sql-creation-workflow.md](../guides/sql-creation-workflow.md)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# sql delete
|
|
2
|
+
|
|
3
|
+
删除一条远端 SQL,并把本地同步目录中的对应文件移入 `.rabetbase/sql-trash/`。
|
|
4
|
+
|
|
5
|
+
> **风险等级:high-risk-write** — 建议先 `--dry-run` 预览;正式执行需 `--yes` 或交互确认。
|
|
6
|
+
|
|
7
|
+
## 命令
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
rabetbase sql delete --sqlcode 2305f915-dd48cd4c --dry-run --format json
|
|
11
|
+
rabetbase sql delete --sqlcode 2305f915-dd48cd4c --yes --format json
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 参数
|
|
15
|
+
|
|
16
|
+
| Flag | 类型 | 必填 | 默认 | 说明 |
|
|
17
|
+
|------|------|------|------|------|
|
|
18
|
+
| `--sqlcode <code>` | string | 是 | — | 要删除的 SQL code |
|
|
19
|
+
| `--dry-run` | boolean | 否 | — | 预览远端 id 与本地文件路径 |
|
|
20
|
+
| `--yes` | boolean | 否 | — | 跳过高风险确认 |
|
|
21
|
+
| `--format <fmt>` | string | 否 | `compress` | 输出格式 |
|
|
22
|
+
|
|
23
|
+
## 行为说明
|
|
24
|
+
|
|
25
|
+
- 依赖 `.rabetbase/sql.lock.json` 找到远端 `id` 与本地文件
|
|
26
|
+
- 远端删除成功后,会移除 lock 条目
|
|
27
|
+
- 若本地文件存在,会移动到 **`.rabetbase/sql-trash/<timestamp>/...`**
|
|
28
|
+
- 会自动清理同步目录中因此变空的中间目录
|
|
29
|
+
|
|
30
|
+
## 提示
|
|
31
|
+
|
|
32
|
+
- 若提示 `SQL lock file not found` 或 `No SQL lock entry found`,先执行 `sql pull` 或确认这条 SQL 是否由当前项目跟踪
|
|
33
|
+
|
|
34
|
+
## 参考
|
|
35
|
+
|
|
36
|
+
- [SKILL.md](../SKILL.md)
|
|
37
|
+
- [sql-creation-workflow.md](../guides/sql-creation-workflow.md)
|