@lovrabet/rabetbase-cli 2.5.1 → 2.5.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/fetch-model-list.js +1 -1
- package/lib/api/generate-api-file.js +1 -1
- package/lib/api/generate-sdk-config-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/delete.js +1 -1
- package/lib/commands/config/get.js +1 -1
- package/lib/commands/config/index.js +1 -1
- package/lib/commands/config/init.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/dataset/business-group-update.js +1 -1
- package/lib/commands/dataset/business-groups.js +1 -1
- package/lib/commands/dataset/capability.js +1 -1
- package/lib/commands/dataset/delete.js +1 -1
- package/lib/commands/dataset/detail.js +1 -1
- package/lib/commands/dataset/extend-update.js +1 -1
- package/lib/commands/dataset/field-restore.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/dataset/user-deleted-field-list.js +1 -1
- package/lib/commands/db/analysis-batching.js +1 -1
- package/lib/commands/db/analyze-batch-plan.js +1 -1
- package/lib/commands/db/analyze-cancel.js +1 -1
- package/lib/commands/db/analyze-start.js +1 -1
- package/lib/commands/db/analyze-status.js +1 -1
- package/lib/commands/db/create.js +1 -1
- package/lib/commands/db/delete.js +1 -1
- package/lib/commands/db/detail.js +1 -1
- package/lib/commands/db/diff-refresh-start.js +1 -1
- package/lib/commands/db/diff-refresh-status.js +1 -1
- package/lib/commands/db/diff.js +1 -1
- package/lib/commands/db/index.js +1 -1
- package/lib/commands/db/list.js +1 -1
- package/lib/commands/db/shared.js +1 -1
- package/lib/commands/db/table-diff-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/deployment/auto-sync.d.ts +3 -11
- package/lib/commands/deployment/auto-sync.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.d.ts +2 -0
- package/lib/commands/deployment/sync-all.js +1 -0
- package/lib/commands/deployment/sync-jobs.d.ts +2 -0
- package/lib/commands/deployment/sync-jobs.js +1 -0
- package/lib/commands/deployment/sync-status.d.ts +2 -0
- package/lib/commands/deployment/sync-status.js +1 -0
- package/lib/commands/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/instant-api-policy/current.d.ts +2 -0
- package/lib/commands/instant-api-policy/current.js +1 -0
- package/lib/commands/instant-api-policy/index.d.ts +2 -0
- package/lib/commands/instant-api-policy/index.js +1 -0
- package/lib/commands/instant-api-policy/init.d.ts +2 -0
- package/lib/commands/instant-api-policy/init.js +1 -0
- package/lib/commands/instant-api-policy/publish.d.ts +2 -0
- package/lib/commands/instant-api-policy/publish.js +1 -0
- package/lib/commands/instant-api-policy/pull.d.ts +2 -0
- package/lib/commands/instant-api-policy/pull.js +1 -0
- package/lib/commands/instant-api-policy/revision.d.ts +2 -0
- package/lib/commands/instant-api-policy/revision.js +1 -0
- package/lib/commands/instant-api-policy/revisions.d.ts +2 -0
- package/lib/commands/instant-api-policy/revisions.js +1 -0
- package/lib/commands/instant-api-policy/rollback.d.ts +2 -0
- package/lib/commands/instant-api-policy/rollback.js +1 -0
- package/lib/commands/instant-api-policy/shared.d.ts +82 -0
- package/lib/commands/instant-api-policy/shared.js +1 -0
- package/lib/commands/instant-api-policy/validate.d.ts +2 -0
- package/lib/commands/instant-api-policy/validate.js +1 -0
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.js +1 -1
- package/lib/config/project-domain-routing.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/region.js +1 -1
- package/lib/constant/risk.js +1 -1
- package/lib/constant/routing-profile.js +1 -1
- package/lib/context/app-resolver.d.ts +0 -2
- 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 +113 -2
- 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/instant-api-policy/config.d.ts +23 -0
- package/lib/core/instant-api-policy/config.js +1 -0
- package/lib/core/kb-search-client.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/supported-flags.d.ts +2 -0
- package/lib/framework/supported-flags.js +1 -0
- package/lib/framework/types.d.ts +2 -4
- 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/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +12 -6
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +51 -43
- package/skills/rabetbase/references/rabetbase-instant-api-policy.md +92 -0
- package/skills/rabetbase.manifest.json +4 -3
- package/lib/config/deployment-sync.d.ts +0 -10
- package/lib/config/deployment-sync.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x51bbfa,_0x2e6e89){const _0xe8958=a310_0x4c8f,_0x550036=_0x51bbfa();while(!![]){try{const _0x1ff2e6=-parseInt(_0xe8958(0x76))/0x1*(-parseInt(_0xe8958(0x7f))/0x2)+-parseInt(_0xe8958(0x84))/0x3*(parseInt(_0xe8958(0x6e))/0x4)+-parseInt(_0xe8958(0x93))/0x5+parseInt(_0xe8958(0x8d))/0x6+parseInt(_0xe8958(0x8f))/0x7*(-parseInt(_0xe8958(0x7e))/0x8)+-parseInt(_0xe8958(0x89))/0x9*(parseInt(_0xe8958(0x82))/0xa)+-parseInt(_0xe8958(0x6c))/0xb*(-parseInt(_0xe8958(0x87))/0xc);if(_0x1ff2e6===_0x2e6e89)break;else _0x550036['push'](_0x550036['shift']());}catch(_0x221aba){_0x550036['push'](_0x550036['shift']());}}}(a310_0xd96e,0x67d28));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a310_0x22adaf from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';function a310_0xd96e(){const _0x1004eb=['\x20\x20\x20Upgrade\x20command:\x20','11074BoqTOe','\x1b[31m','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','\x1b[1m','3989615uLObPf','\x20\x20\x20Recommended\x20stable:\x20','15740791fBqeTs','\x1b[0m','4NWkCou','upgradeMessage','\x20\x20\x20','version','utf-8','\x1b[33m','minimumVersionMessage','Minimum\x20supported:\x20','23487ENNymK','validation','parse','\x20\x20\x20Stable\x20version:\x20','belowMinimum','\x20\x20\x20Current\x20CLI\x20version:\x20','1.0.0','../..','32MdHYwj','52ErcnKS','log','↪\x20New\x20version\x20available','31550NuJYzn','stableVersion','2068341NRnQrp','Current\x20version:\x20','coerce','12kKUVBd','needsUpgrade','1512oyzaXi','currentVersion','minimumVersion','↪\x20Critical\x20CLI\x20upgrade\x20required','2444106aQZXhG'];a310_0xd96e=function(){return _0x1004eb;};return a310_0xd96e();}import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x1cdddd){const _0x56074b=a310_0x4c8f,_0x2102db=_0x1cdddd[_0x56074b(0x83)]||'latest';return'npm\x20install\x20-g\x20'+NPM_PACKAGE_NAME+'@'+_0x2102db;}function a310_0x4c8f(_0x907bf1,_0x5e9dd7){_0x907bf1=_0x907bf1-0x6c;const _0xd96e08=a310_0xd96e();let _0x4c8f24=_0xd96e08[_0x907bf1];return _0x4c8f24;}function getCurrentCliVersion(){const _0x35b63e=a310_0x4c8f;try{const _0x1c42ab=fileURLToPath(import.meta.url),_0x166ac3=resolve(dirname(_0x1c42ab),_0x35b63e(0x7d)),_0x10a25f=resolve(_0x166ac3,'package.json'),_0x2cba42=JSON[_0x35b63e(0x78)](readFileSync(_0x10a25f,_0x35b63e(0x72)));return _0x2cba42[_0x35b63e(0x71)]||_0x35b63e(0x7c);}catch{return'1.0.0';}}export async function checkCliVersion(){const _0x53a191=a310_0x4c8f,_0x5dc23f=getCurrentCliVersion(),_0x538228=await getCliVersionPolicy(),_0x46fdaa=_0x538228?.[_0x53a191(0x83)]||null,_0xdba9b7=_0x538228?.['minimumVersion']||null;let _0x4172e6=![],_0x8c9a81=![];const _0x9572bb=a310_0x22adaf[_0x53a191(0x86)](_0x5dc23f);if(_0x9572bb&&_0x46fdaa)try{const _0x2ab7ae=a310_0x22adaf['coerce'](_0x46fdaa);if(_0x2ab7ae)_0x4172e6=a310_0x22adaf['lt'](_0x9572bb,_0x2ab7ae);}catch{}if(_0x9572bb&&_0xdba9b7)try{const _0x1cfd62=a310_0x22adaf['coerce'](_0xdba9b7);if(_0x1cfd62)_0x8c9a81=a310_0x22adaf['lt'](_0x9572bb,_0x1cfd62);}catch{}return _0x8c9a81&&(_0x4172e6=!![]),{'currentVersion':_0x5dc23f,'stableVersion':_0x46fdaa,'minimumVersion':_0xdba9b7,'needsUpgrade':_0x4172e6,'belowMinimum':_0x8c9a81,'isPreRelease':![],'upgradeMessage':_0x538228?.['upgradeMessage'],'minimumVersionMessage':_0x538228?.[_0x53a191(0x74)]};}export function printCliUpgradeWarning(_0xa1a9e0){const _0x22f997=a310_0x4c8f;if(!_0xa1a9e0[_0x22f997(0x88)]&&!_0xa1a9e0['belowMinimum'])return;const _0x516b0f=_0x22f997(0x90),_0x173279=_0x22f997(0x73),_0x4b2d30=_0x22f997(0x6d),_0x4b170e=_0x22f997(0x92),_0x245d0a=getCliUpgradeCommand(_0xa1a9e0);console[_0x22f997(0x80)](),_0xa1a9e0[_0x22f997(0x7a)]?(console[_0x22f997(0x80)](''+_0x516b0f+_0x4b170e+_0x22f997(0x8c)+_0x4b2d30),console['log'](_0x516b0f+_0x22f997(0x7b)+_0xa1a9e0[_0x22f997(0x8a)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x8b)]&&console[_0x22f997(0x80)](_0x516b0f+'\x20\x20\x20Minimum\x20supported:\x20'+_0xa1a9e0[_0x22f997(0x8b)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x83)]&&_0xa1a9e0['stableVersion']!==_0xa1a9e0[_0x22f997(0x8b)]&&console['log'](_0x516b0f+_0x22f997(0x94)+_0xa1a9e0[_0x22f997(0x83)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x74)]&&console[_0x22f997(0x80)](_0x516b0f+_0x22f997(0x70)+_0xa1a9e0[_0x22f997(0x74)]+_0x4b2d30),console['log'](_0x516b0f+_0x22f997(0x8e)+_0x245d0a+_0x4b2d30)):(console[_0x22f997(0x80)](''+_0x173279+_0x4b170e+_0x22f997(0x81)+_0x4b2d30),console['log'](_0x173279+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0xa1a9e0[_0x22f997(0x8a)]+_0x4b2d30),console[_0x22f997(0x80)](_0x173279+_0x22f997(0x79)+_0xa1a9e0[_0x22f997(0x83)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x6f)]&&console['log'](_0x173279+_0x22f997(0x70)+_0xa1a9e0[_0x22f997(0x6f)]+_0x4b2d30),console[_0x22f997(0x80)](_0x173279+_0x22f997(0x8e)+_0x245d0a+_0x4b2d30)),console[_0x22f997(0x80)]();}export function assertCliVersionSupported(_0x4c5fc9){const _0x2b46c5=a310_0x4c8f;if(!_0x4c5fc9['belowMinimum'])return;const _0x2fd823=[_0x4c5fc9[_0x2b46c5(0x74)],_0x2b46c5(0x85)+_0x4c5fc9[_0x2b46c5(0x8a)],_0x4c5fc9['minimumVersion']?_0x2b46c5(0x75)+_0x4c5fc9[_0x2b46c5(0x8b)]:null,'Upgrade\x20command:\x20'+getCliUpgradeCommand(_0x4c5fc9)]['filter'](Boolean)['join']('\x0a');throw CliErrors[_0x2b46c5(0x77)](_0x2b46c5(0x91),_0x2fd823);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4bed70,_0x239489){const _0x439233=a311_0x2d08,_0x37148c=_0x4bed70();while(!![]){try{const _0x5c7455=-parseInt(_0x439233(0x199))/0x1+-parseInt(_0x439233(0x187))/0x2+parseInt(_0x439233(0x192))/0x3+-parseInt(_0x439233(0x18b))/0x4*(-parseInt(_0x439233(0x19c))/0x5)+parseInt(_0x439233(0x191))/0x6*(parseInt(_0x439233(0x18c))/0x7)+parseInt(_0x439233(0x197))/0x8+-parseInt(_0x439233(0x18a))/0x9;if(_0x5c7455===_0x239489)break;else _0x37148c['push'](_0x37148c['shift']());}catch(_0x44da53){_0x37148c['push'](_0x37148c['shift']());}}}(a311_0x5dac,0x7842d));import{CLI_VERSION_POLICY_URL}from'../constant/cdn.js';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;function pickString(_0x2c9b9c){const _0x508dc4=a311_0x2d08;return typeof _0x2c9b9c==='string'&&_0x2c9b9c[_0x508dc4(0x188)]()[_0x508dc4(0x19a)]>0x0?_0x2c9b9c['trim']():null;}function normalizeCliVersionPolicy(_0x42cc7a){const _0x5a7628=a311_0x2d08;if(!_0x42cc7a||typeof _0x42cc7a!==_0x5a7628(0x190))return null;const _0x3216bd=_0x42cc7a,_0x2beb4c=_0x3216bd[_0x5a7628(0x198)]&&typeof _0x3216bd[_0x5a7628(0x198)]===_0x5a7628(0x190)?_0x3216bd[_0x5a7628(0x198)]:_0x3216bd,_0xadcd65=pickString(_0x2beb4c[_0x5a7628(0x195)])||pickString(_0x2beb4c[_0x5a7628(0x19b)])||pickString(_0x2beb4c['recommendedVersion']),_0x3a3bed=pickString(_0x2beb4c[_0x5a7628(0x18e)])||pickString(_0x2beb4c[_0x5a7628(0x194)]);if(!_0xadcd65&&!_0x3a3bed)return null;return{'stableVersion':_0xadcd65,'minimumVersion':_0x3a3bed,'upgradeMessage':pickString(_0x2beb4c[_0x5a7628(0x193)])||undefined,'minimumVersionMessage':pickString(_0x2beb4c[_0x5a7628(0x18d)])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0x35d3f4=a311_0x2d08,_0x1bebf0=new AbortController(),_0x3d0911=setTimeout(()=>_0x1bebf0[_0x35d3f4(0x186)](),FETCH_TIMEOUT_MS);try{const _0x2de3e9=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x35d3f4(0x18f)},'signal':_0x1bebf0[_0x35d3f4(0x189)]});if(!_0x2de3e9['ok'])return null;const _0x107eb7=await _0x2de3e9['json']();return _0x107eb7&&typeof _0x107eb7===_0x35d3f4(0x190)?_0x107eb7:null;}catch{return null;}finally{clearTimeout(_0x3d0911);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}function a311_0x5dac(){const _0x251f62=['minimumVersionMessage','minimumVersion','application/json','object','413796tjTHee','2070795scUtBA','upgradeMessage','minVersion','stableVersion','now','7863288BCJTGP','cli','696801ypXDvp','length','latestVersion','10gyeAiy','abort','1308068AWNNiz','trim','signal','7153308HYbbYl','412868xaYdzB','77vKmvXo'];a311_0x5dac=function(){return _0x251f62;};return a311_0x5dac();}function a311_0x2d08(_0x1f16ac,_0xc363f7){_0x1f16ac=_0x1f16ac-0x186;const _0x5dacb1=a311_0x5dac();let _0x2d08b6=_0x5dacb1[_0x1f16ac];return _0x2d08b6;}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x416d7a=a311_0x2d08,_0x3b8eff=Date[_0x416d7a(0x196)]();if(hasCachedConfig){const _0xf1133e=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x3b8eff-cacheTime<_0xf1133e)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x3b8eff,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
|
package/lib/utils/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a312_0x29a406=a312_0x5a4e;(function(_0x3d01dd,_0x591b67){const _0xab14ae=a312_0x5a4e,_0x40c9a3=_0x3d01dd();while(!![]){try{const _0x2491cf=-parseInt(_0xab14ae(0x106))/0x1+-parseInt(_0xab14ae(0x104))/0x2+parseInt(_0xab14ae(0x10d))/0x3+parseInt(_0xab14ae(0x10c))/0x4*(parseInt(_0xab14ae(0x110))/0x5)+-parseInt(_0xab14ae(0x10b))/0x6*(-parseInt(_0xab14ae(0x108))/0x7)+parseInt(_0xab14ae(0x10a))/0x8+-parseInt(_0xab14ae(0x107))/0x9*(parseInt(_0xab14ae(0x109))/0xa);if(_0x2491cf===_0x591b67)break;else _0x40c9a3['push'](_0x40c9a3['shift']());}catch(_0x32aacf){_0x40c9a3['push'](_0x40c9a3['shift']());}}}(a312_0x2235,0x7c583));import{initEnv}from'../constant/env.js';function a312_0x5a4e(_0x26bcab,_0xe8ee15){_0x26bcab=_0x26bcab-0x104;const _0x22353a=a312_0x2235();let _0x5a4e30=_0x22353a[_0x26bcab];return _0x5a4e30;}import{readRawConfig,getConfigAppCode as a312_0x2aca53,getMultiAppConfigs as a312_0x24f84a,getTemplateBaseUrl as a312_0x1e704b}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';function a312_0x2235(){const _0x9b3173=['296124Nyokrq','30441QGISdU','project','env','25OvmEDF','703646nLoABS','string','669845hPXVmi','5535PNpiHY','13923sQEvOU','2620rNuAIr','6023216bvejZw','1686xuWrgf'];a312_0x2235=function(){return _0x9b3173;};return a312_0x2235();}export function readConfig(_0x41ebc7){const _0x1128fd=a312_0x5a4e,_0x136c8a=readRawConfig(_0x41ebc7);return _0x136c8a[_0x1128fd(0x10f)]&&typeof _0x136c8a[_0x1128fd(0x10f)]===_0x1128fd(0x105)&&initEnv(_0x136c8a[_0x1128fd(0x10f)]),_0x136c8a;}export function getConfigAppCode(){return a312_0x2aca53();}export function getMultiAppConfigs(_0x3f7c12=a312_0x29a406(0x10e)){return a312_0x24f84a(_0x3f7c12);}export function getTemplateBaseUrl(){return a312_0x1e704b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3ea5bf,_0x5f4bcd){const _0x1163ef=a313_0x1f8b,_0x149b23=_0x3ea5bf();while(!![]){try{const _0x1ac846=-parseInt(_0x1163ef(0xfe))/0x1+-parseInt(_0x1163ef(0x104))/0x2+-parseInt(_0x1163ef(0x102))/0x3*(-parseInt(_0x1163ef(0xfc))/0x4)+parseInt(_0x1163ef(0x103))/0x5*(-parseInt(_0x1163ef(0x105))/0x6)+parseInt(_0x1163ef(0x107))/0x7*(-parseInt(_0x1163ef(0x106))/0x8)+parseInt(_0x1163ef(0xff))/0x9*(-parseInt(_0x1163ef(0x108))/0xa)+parseInt(_0x1163ef(0xfd))/0xb;if(_0x1ac846===_0x5f4bcd)break;else _0x149b23['push'](_0x149b23['shift']());}catch(_0x5d2cd7){_0x149b23['push'](_0x149b23['shift']());}}}(a313_0x1291,0xb4d70));function a313_0x1291(){const _0x1df7c2=['1476976QINFUl','35lBEMec','3564930URtSps','object','isFinite','2523308wOjyLC','39048867ugCWXD','346710iVhLOI','36KsXIZf','number','trim','6OHeYFt','5UBhaGA','765706bwfmCc','5953116psIrmG'];a313_0x1291=function(){return _0x1df7c2;};return a313_0x1291();}function a313_0x1f8b(_0x30da1f,_0x29f107){_0x30da1f=_0x30da1f-0xfa;const _0x129168=a313_0x1291();let _0x1f8b57=_0x129168[_0x30da1f];return _0x1f8b57;}function toFiniteNumber(_0x644053){const _0x2b2500=a313_0x1f8b;if(typeof _0x644053===_0x2b2500(0x100)&&Number['isFinite'](_0x644053))return _0x644053;if(typeof _0x644053==='string'){const _0x15d3e5=_0x644053[_0x2b2500(0x101)]();if(!_0x15d3e5)return undefined;const _0x21a57f=Number(_0x15d3e5);if(Number[_0x2b2500(0xfb)](_0x21a57f))return _0x21a57f;}return undefined;}export function normalizeEntityWithIdResponse(_0x5b0a3a){const _0x7e9a4b=a313_0x1f8b,_0x3041c5=toFiniteNumber(_0x5b0a3a);if(_0x3041c5!==undefined)return{'id':_0x3041c5,'entity':{'id':_0x3041c5}};if(!_0x5b0a3a||typeof _0x5b0a3a!==_0x7e9a4b(0xfa))return{'id':undefined,'entity':{}};const _0x158719={..._0x5b0a3a},_0x37e759=toFiniteNumber(_0x158719['id']);return _0x37e759!==undefined&&(_0x158719['id']=_0x37e759),{'id':_0x37e759,'entity':_0x158719};}
|
package/lib/utils/file-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4274a3,_0xb5cdd1){const _0x28231e=a314_0x7850,_0x37a7ec=_0x4274a3();while(!![]){try{const _0x39ad80=-parseInt(_0x28231e(0x127))/0x1*(parseInt(_0x28231e(0x122))/0x2)+-parseInt(_0x28231e(0x120))/0x3*(-parseInt(_0x28231e(0x126))/0x4)+parseInt(_0x28231e(0x12b))/0x5*(parseInt(_0x28231e(0x129))/0x6)+parseInt(_0x28231e(0x121))/0x7+-parseInt(_0x28231e(0x123))/0x8+parseInt(_0x28231e(0x124))/0x9*(-parseInt(_0x28231e(0x128))/0xa)+parseInt(_0x28231e(0x12a))/0xb*(parseInt(_0x28231e(0x125))/0xc);if(_0x39ad80===_0xb5cdd1)break;else _0x37a7ec['push'](_0x37a7ec['shift']());}catch(_0x1d07f2){_0x37a7ec['push'](_0x37a7ec['shift']());}}}(a314_0x7115,0xbd938));function a314_0x7115(){const _0x4bf180=['11egVswm','243265kEghLH','3RWUlyZ','3584637biTZuF','270462ItegnD','119080tcdJpF','9AssGGJ','22943448OkLcfB','1723504AhjCKM','11qRXMHm','8679090RSVlWP','36cqBYGC'];a314_0x7115=function(){return _0x4bf180;};return a314_0x7115();}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x1e6380,_0x31d036){const _0x312d2c=statSync(_0x1e6380);if(_0x312d2c['isDirectory']()){!existsSync(_0x31d036)&&mkdirSync(_0x31d036,{'recursive':!![]});const _0x1a32bd=readdirSync(_0x1e6380);for(const _0x3d0e50 of _0x1a32bd){await copyDir(join(_0x1e6380,_0x3d0e50),join(_0x31d036,_0x3d0e50));}}else copyFileSync(_0x1e6380,_0x31d036);}export function ensureDir(_0x23315a){!existsSync(_0x23315a)&&mkdirSync(_0x23315a,{'recursive':!![]});}function a314_0x7850(_0x3374b3,_0x27b7df){_0x3374b3=_0x3374b3-0x120;const _0x7115b2=a314_0x7115();let _0x7850d4=_0x7115b2[_0x3374b3];return _0x7850d4;}export function pathExists(_0x27896c){return existsSync(_0x27896c);}
|
package/lib/utils/guides-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a315_0x5591b0=a315_0x28b5;(function(_0xea9292,_0x519156){const _0x395c2a=a315_0x28b5,_0x4cf99e=_0xea9292();while(!![]){try{const _0x365b51=parseInt(_0x395c2a(0x1e5))/0x1*(parseInt(_0x395c2a(0x1e3))/0x2)+-parseInt(_0x395c2a(0x1df))/0x3+parseInt(_0x395c2a(0x1e8))/0x4+-parseInt(_0x395c2a(0x1ec))/0x5+parseInt(_0x395c2a(0x1d8))/0x6+-parseInt(_0x395c2a(0x1f2))/0x7*(parseInt(_0x395c2a(0x1ee))/0x8)+-parseInt(_0x395c2a(0x1f5))/0x9*(parseInt(_0x395c2a(0x1ed))/0xa);if(_0x365b51===_0x519156)break;else _0x4cf99e['push'](_0x4cf99e['shift']());}catch(_0x4aaa47){_0x4cf99e['push'](_0x4cf99e['shift']());}}}(a315_0x39f7,0x57c3a));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x52190f=a315_0x28b5,_0xc39a16=getTemplateBaseUrl();return _0xc39a16+_0x52190f(0x1da);}function a315_0x39f7(){const _0x8302d5=['CDN\x20data\x20is\x20missing\x20skillTemplate','map','application/json','lastUpdated','trimEnd','length','3145758nowBYK','guides','/skills/guides.json','content','extendContent','skillTemplate','.lovrabet/skill/guides','1608444bcvKTj','status','\x0a\x0a>更新时间:','CDN\x20request\x20failed:\x20','50XhgfnJ','push','27273arxBqZ','keys','join','2136124pKmPhq','path','cache','replace','3379225WSCfFv','6430QovGmI','31072nBxSmD','utf-8','statusText','json','56Xoyfsn','.lovrabet','entries','1926VrQHNR','title'];a315_0x39f7=function(){return _0x8302d5;};return a315_0x39f7();}const CACHE_DIR=join(homedir(),a315_0x5591b0(0x1f3),a315_0x5591b0(0x1ea));export async function fetchGuidesFromCDN(){const _0xda7325=a315_0x5591b0,_0x56b536=getGuidesCdnUrl(),_0x38d72a=await fetch(_0x56b536,{'headers':{'Accept':_0xda7325(0x1f9)}});if(!_0x38d72a['ok'])throw new Error(_0xda7325(0x1e2)+_0x38d72a[_0xda7325(0x1e0)]+'\x20'+_0x38d72a[_0xda7325(0x1f0)]);const _0x4c0dae=await _0x38d72a[_0xda7325(0x1f1)]();if(!_0x4c0dae[_0xda7325(0x1d9)]||typeof _0x4c0dae[_0xda7325(0x1d9)]!=='object')throw new Error('CDN\x20returned\x20invalid\x20data');return _0x4c0dae;}export function writeGuidesToProject(_0x52153d,_0x35c630,_0x1fa4ce=a315_0x5591b0(0x1de),_0x2afe21){const _0x10f4a2=a315_0x5591b0,_0x4185c1=join(_0x35c630,_0x1fa4ce);mkdirSync(_0x4185c1,{'recursive':!![]});for(const [_0x43d35c,_0x4c4b77]of Object[_0x10f4a2(0x1f4)](_0x52153d[_0x10f4a2(0x1d9)])){let _0x2c9203=_0x4c4b77[_0x10f4a2(0x1db)];_0x4c4b77[_0x10f4a2(0x1fa)]&&(_0x2c9203=appendUpdateTime(_0x2c9203,_0x4c4b77['lastUpdated'])),writeFileSync(join(_0x4185c1,_0x43d35c+'.md'),_0x2c9203,_0x10f4a2(0x1ef));}}export function appendUpdateTime(_0x41307d,_0x1ccef1){const _0x5b5244=a315_0x5591b0;return _0x41307d=_0x41307d['replace'](/\n*>更新时间:.*$/m,''),_0x41307d['trimEnd']()+(_0x5b5244(0x1e1)+_0x1ccef1);}function a315_0x28b5(_0x4465e9,_0xa32a9d){_0x4465e9=_0x4465e9-0x1d6;const _0x39f7bb=a315_0x39f7();let _0x28b585=_0x39f7bb[_0x4465e9];return _0x28b585;}export function getSkillTemplate(_0x14b900){const _0x5c8953=a315_0x5591b0;return _0x14b900[_0x5c8953(0x1dd)]?.[_0x5c8953(0x1db)]||'';}export function appendExtendContents(_0x290e4d,_0x421fbe,_0x4cccbe){const _0x4fef20=a315_0x5591b0,_0x2b6fae=[];for(const [,_0x2c8587]of Object[_0x4fef20(0x1f4)](_0x421fbe[_0x4fef20(0x1d9)])){_0x2c8587[_0x4fef20(0x1dc)]&&_0x2b6fae[_0x4fef20(0x1e4)](_0x2c8587[_0x4fef20(0x1dc)][_0x4fef20(0x1d6)]());}if(_0x2b6fae[_0x4fef20(0x1d7)]===0x0)return _0x290e4d;return _0x290e4d[_0x4fef20(0x1d6)]()+'\x0a\x0a'+_0x2b6fae[_0x4fef20(0x1e7)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x3f33aa,_0x293849,_0x4baab4){const _0x7191ba=a315_0x5591b0,_0x2b675c=getSkillTemplate(_0x3f33aa);if(!_0x2b675c)throw new Error(_0x7191ba(0x1f7));const _0x44b2f8=dirname(_0x293849);mkdirSync(_0x44b2f8,{'recursive':!![]});let _0x5492e6=_0x2b675c[_0x7191ba(0x1eb)](/\{\{IDE_NAME\}\}/g,_0x4baab4);_0x5492e6=appendExtendContents(_0x5492e6,_0x3f33aa),_0x3f33aa[_0x7191ba(0x1dd)][_0x7191ba(0x1fa)]&&(_0x5492e6=appendUpdateTime(_0x5492e6,_0x3f33aa[_0x7191ba(0x1dd)][_0x7191ba(0x1fa)])),writeFileSync(_0x293849,_0x5492e6,_0x7191ba(0x1ef));}export async function installGuides(_0x3d0fe5){const _0x131ea9=a315_0x5591b0,_0x5e31f5=await fetchGuidesFromCDN();return writeGuidesToProject(_0x5e31f5,_0x3d0fe5),Object[_0x131ea9(0x1e6)](_0x5e31f5[_0x131ea9(0x1d9)])[_0x131ea9(0x1d7)];}export function getGuidesSummary(_0x44299d){const _0x222069=a315_0x5591b0;return Object[_0x222069(0x1f4)](_0x44299d[_0x222069(0x1d9)])[_0x222069(0x1f8)](([_0x408866,_0x368c42])=>({'key':_0x408866,'title':_0x368c42[_0x222069(0x1f6)],'path':_0x368c42[_0x222069(0x1e9)]}));}
|
package/lib/utils/http-client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x45ba2b,_0x27224d){const _0x57c707=a316_0x240a,_0xbf4ddb=_0x45ba2b();while(!![]){try{const _0x4518da=-parseInt(_0x57c707(0x100))/0x1+-parseInt(_0x57c707(0xe9))/0x2*(-parseInt(_0x57c707(0xfd))/0x3)+parseInt(_0x57c707(0xf9))/0x4*(parseInt(_0x57c707(0xfc))/0x5)+parseInt(_0x57c707(0xee))/0x6*(parseInt(_0x57c707(0xed))/0x7)+parseInt(_0x57c707(0xfb))/0x8+-parseInt(_0x57c707(0xec))/0x9*(-parseInt(_0x57c707(0xff))/0xa)+parseInt(_0x57c707(0x102))/0xb*(-parseInt(_0x57c707(0x107))/0xc);if(_0x4518da===_0x27224d)break;else _0xbf4ddb['push'](_0xbf4ddb['shift']());}catch(_0x1c7032){_0xbf4ddb['push'](_0xbf4ddb['shift']());}}}(a316_0x14a4,0x868f7));export async function httpRequest(_0x5565e0,_0x44d5bc={}){const _0x13ac74=a316_0x240a,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x44d5bc;let _0x184d96=null;for(let _0x1eec8c=0x0;_0x1eec8c<=retries;_0x1eec8c++){try{const _0x1afd40=new AbortController(),_0x363a08=setTimeout(()=>_0x1afd40[_0x13ac74(0xef)](),timeout),_0xc8981f=await fetch(_0x5565e0,{'headers':headers,'signal':_0x1afd40[_0x13ac74(0x101)]});clearTimeout(_0x363a08);let _0xe51457;const _0x58e9a9=_0xc8981f[_0x13ac74(0xf0)]['get'](_0x13ac74(0x103));return _0x58e9a9?.[_0x13ac74(0x108)](_0x13ac74(0xf7))?_0xe51457=await _0xc8981f['json']():_0xe51457=await _0xc8981f[_0x13ac74(0xf3)](),{'ok':_0xc8981f['ok'],'status':_0xc8981f[_0x13ac74(0xfe)],'statusText':_0xc8981f[_0x13ac74(0xeb)],'data':_0xe51457,'headers':_0xc8981f[_0x13ac74(0xf0)],'url':_0xc8981f[_0x13ac74(0xf4)],'text':()=>_0xc8981f[_0x13ac74(0xf3)]()};}catch(_0x2a1f57){_0x184d96=_0x2a1f57 instanceof Error?_0x2a1f57:new Error(String(_0x2a1f57));if(_0x1eec8c===retries)break;if(shouldRetry(_0x2a1f57)){console[_0x13ac74(0xf1)](_0x13ac74(0x106)+(_0x1eec8c+0x1)+_0x13ac74(0xea)+retryDelay+_0x13ac74(0x109)),await sleep(retryDelay);continue;}else break;}}throw _0x184d96||new Error(_0x13ac74(0x105));}function shouldRetry(_0x59fbac){const _0x4abc3e=a316_0x240a;if(_0x59fbac instanceof Error){if(_0x59fbac['name']===_0x4abc3e(0xf6))return![];if(_0x59fbac['name']===_0x4abc3e(0xf2)&&_0x59fbac[_0x4abc3e(0x104)]['includes'](_0x4abc3e(0xfa)))return!![];if(_0x59fbac['message'][_0x4abc3e(0x108)](_0x4abc3e(0xf8)))return!![];if(_0x59fbac[_0x4abc3e(0x104)][_0x4abc3e(0x108)](_0x4abc3e(0xf5)))return![];}return![];}function sleep(_0x5b3a3d){return new Promise(_0xaad41=>setTimeout(_0xaad41,_0x5b3a3d));}function a316_0x240a(_0x2741c9,_0x47cb9a){_0x2741c9=_0x2741c9-0xe9;const _0x14a4b9=a316_0x14a4();let _0x240aa6=_0x14a4b9[_0x2741c9];return _0x240aa6;}function a316_0x14a4(){const _0x3a7b7a=['ENOTFOUND','AbortError','application/json','ECONNRESET','4bTCUKf','fetch','6065952KTWQfN','5129545JDjGcy','63957XRHoUd','status','1643540MSjcOS','1089200wMkgKE','signal','227348vnKrtT','content-type','message','Request\x20failed','*\x20Request\x20failed;\x20retry\x20','1260ezikyd','includes','ms...','30lQqyFA','\x20in\x20','statusText','45SbKyxt','7kLDHSw','5308746IMUNlF','abort','headers','log','TypeError','text','url'];a316_0x14a4=function(){return _0x3a7b7a;};return a316_0x14a4();}export function validateUrl(_0x55762d){try{return new URL(_0x55762d),!![];}catch{return![];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a317_0x33b1(_0x3eb079,_0x2a7229){_0x3eb079=_0x3eb079-0x181;const _0x2692ec=a317_0x2692();let _0x33b1d8=_0x2692ec[_0x3eb079];return _0x33b1d8;}(function(_0x2f4492,_0x10a2fe){const _0x363a59=a317_0x33b1,_0x5a5680=_0x2f4492();while(!![]){try{const _0x1fe46c=parseInt(_0x363a59(0x18c))/0x1*(-parseInt(_0x363a59(0x18e))/0x2)+parseInt(_0x363a59(0x182))/0x3*(parseInt(_0x363a59(0x18a))/0x4)+-parseInt(_0x363a59(0x184))/0x5*(-parseInt(_0x363a59(0x187))/0x6)+parseInt(_0x363a59(0x189))/0x7*(-parseInt(_0x363a59(0x181))/0x8)+parseInt(_0x363a59(0x188))/0x9+parseInt(_0x363a59(0x186))/0xa+-parseInt(_0x363a59(0x18f))/0xb;if(_0x1fe46c===_0x10a2fe)break;else _0x5a5680['push'](_0x5a5680['shift']());}catch(_0x23850a){_0x5a5680['push'](_0x5a5680['shift']());}}}(a317_0x2692,0x73be4));function a317_0x2692(){const _0x277ac8=['18ANwbHS','10655183OzSHjR','isTTY','isRaw','37624nJQcjJ','1240812dHaZmg','stdin','220jnivUR','true','3425600QHIYaf','96144ERISQG','3971754vUlFJD','21nURTxv','8QGuXtw','stdout','95476MNbBCV','setRawMode'];a317_0x2692=function(){return _0x277ac8;};return a317_0x2692();}function env(_0x1d9684){return process.env[`RABETBASE_${_0x1d9684}`]||process.env[`LOVRABET_${_0x1d9684}`]||undefined;}export function isNonInteractive(_0x3e75d9){const _0x5d00c8=a317_0x33b1;return!!(_0x3e75d9['nonInteractive']||_0x3e75d9['ci']||env('CI')==='true'||process.env.CI===_0x5d00c8(0x185)||!process[_0x5d00c8(0x18b)][_0x5d00c8(0x190)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x74df3f=a317_0x33b1;if(!process['stdin'][_0x74df3f(0x190)])return![];try{const _0x19d244=process[_0x74df3f(0x183)][_0x74df3f(0x191)];return process['stdin'][_0x74df3f(0x18d)](!![]),process[_0x74df3f(0x183)][_0x74df3f(0x18d)](_0x19d244??![]),!![];}catch{return![];}}
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a318_0x1e5874=a318_0x19d5;(function(_0x321248,_0x4b9b82){const _0x2daf0c=a318_0x19d5,_0x304988=_0x321248();while(!![]){try{const _0x880251=-parseInt(_0x2daf0c(0x132))/0x1*(-parseInt(_0x2daf0c(0x13e))/0x2)+parseInt(_0x2daf0c(0x143))/0x3+parseInt(_0x2daf0c(0x138))/0x4+parseInt(_0x2daf0c(0x123))/0x5*(-parseInt(_0x2daf0c(0x137))/0x6)+parseInt(_0x2daf0c(0x11c))/0x7+-parseInt(_0x2daf0c(0x129))/0x8*(parseInt(_0x2daf0c(0x14d))/0x9)+-parseInt(_0x2daf0c(0x121))/0xa;if(_0x880251===_0x4b9b82)break;else _0x304988['push'](_0x304988['shift']());}catch(_0x32f6b9){_0x304988['push'](_0x304988['shift']());}}}(a318_0x1e72,0x75643));import a318_0x72e5ec from'winston';function a318_0x1e72(){const _0x5e5823=['unknown','toISOString','now','info','File','mkdirSync','4XPPwCg','clearLogs','red','Completed:\x20','yellow','3337266SyeAtG','3765564qJvDzA','clear','filter','Failed\x20to\x20read\x20logs:','writeFileSync','currentRawCommand','9136togdmH','error','logFilePath','Failed\x20to\x20clear\x20logs:','timestamp','1116033GHkogB','Failed:\x20','transports','format','parse','combine','warn','level','existsSync','split','99lPQHjG','readFileSync','duration','.lovrabet.log','join','winstonLogger','printf','readLogs','6518204EDsrxF','initWinstonLogger','rawCommand','details','message','10579290htDwGt','log','5yGmaOg','trim','dirname','setLogPath','setRawCommand','utf8','122088ZstqsU','success','map'];a318_0x1e72=function(){return _0x5e5823;};return a318_0x1e72();}function a318_0x19d5(_0x2bce3e,_0x3085ba){_0x2bce3e=_0x2bce3e-0x11b;const _0x1e72ca=a318_0x1e72();let _0x19d51e=_0x1e72ca[_0x2bce3e];return _0x19d51e;}import a318_0x202d01 from'node:fs';import a318_0x5befa0 from'node:path';class Logger{[a318_0x1e5874(0x152)];[a318_0x1e5874(0x140)];[a318_0x1e5874(0x13d)]='';constructor(){const _0x2f2bc6=a318_0x1e5874;this[_0x2f2bc6(0x140)]='';}[a318_0x1e5874(0x127)](_0x578ef3){const _0x1de407=a318_0x1e5874;this[_0x1de407(0x13d)]=_0x578ef3;}[a318_0x1e5874(0x11d)](){const _0x3c2989=a318_0x1e5874,_0x158f0f=a318_0x5befa0[_0x3c2989(0x125)](this[_0x3c2989(0x140)]);!a318_0x202d01[_0x3c2989(0x14b)](_0x158f0f)&&a318_0x202d01[_0x3c2989(0x131)](_0x158f0f,{'recursive':!![]});const _0x4ec47f=a318_0x72e5ec[_0x3c2989(0x146)][_0x3c2989(0x148)](a318_0x72e5ec['format']['timestamp'](),a318_0x72e5ec[_0x3c2989(0x146)]['errors']({'stack':!![]}),a318_0x72e5ec['format'][_0x3c2989(0x153)](_0x57d157=>{const _0x31640d=_0x3c2989,_0xa07a6e={'timestamp':_0x57d157[_0x31640d(0x142)]||new Date()[_0x31640d(0x12d)](),'level':_0x57d157[_0x31640d(0x14a)]||'info','command':_0x57d157['command']||_0x31640d(0x12c),'rawCommand':_0x57d157[_0x31640d(0x11e)]||this[_0x31640d(0x13d)]||undefined,'message':_0x57d157[_0x31640d(0x120)]||'','duration':_0x57d157[_0x31640d(0x14f)]||undefined,'details':_0x57d157[_0x31640d(0x11f)]||undefined};return JSON['stringify'](_0xa07a6e);}));this[_0x3c2989(0x152)]=a318_0x72e5ec['createLogger']({'level':_0x3c2989(0x12f),'format':_0x4ec47f,'transports':[new a318_0x72e5ec[(_0x3c2989(0x145))][(_0x3c2989(0x130))]({'filename':this['logFilePath'],'level':_0x3c2989(0x12f)})],'silent':![]}),a318_0x72e5ec['addColors']({'success':'green','error':_0x3c2989(0x134),'warn':_0x3c2989(0x136),'info':'blue'});}[a318_0x1e5874(0x126)](_0x16582d){const _0x2233ff=a318_0x1e5874;this['logFilePath']=a318_0x5befa0[_0x2233ff(0x151)](_0x16582d,_0x2233ff(0x150)),this[_0x2233ff(0x152)]&&this[_0x2233ff(0x152)][_0x2233ff(0x139)](),this[_0x2233ff(0x11d)]();}[a318_0x1e5874(0x12f)](_0x242f58,_0x3ec96e,_0x27997e){const _0x13c62e=a318_0x1e5874;if(!this['logFilePath']||!this[_0x13c62e(0x152)])return;this['winstonLogger']['info'](_0x3ec96e,{'command':_0x242f58,'details':_0x27997e});}[a318_0x1e5874(0x12a)](_0x548937,_0x51b83f,_0x4662de,_0x26d03f){const _0x3d9830=a318_0x1e5874;if(!this[_0x3d9830(0x140)]||!this['winstonLogger'])return;this[_0x3d9830(0x152)][_0x3d9830(0x122)]('info',_0x51b83f,{'level':_0x3d9830(0x12a),'command':_0x548937,'duration':_0x4662de,'details':_0x26d03f});}[a318_0x1e5874(0x13f)](_0x49d6b2,_0x439874,_0x5857f2){const _0x49d112=a318_0x1e5874;if(!this['logFilePath']||!this[_0x49d112(0x152)])return;this[_0x49d112(0x152)][_0x49d112(0x13f)](_0x439874,{'command':_0x49d6b2,'details':_0x5857f2});}['warn'](_0x3f185b,_0x4920fc,_0x1f9a0b){const _0x8e9f33=a318_0x1e5874;if(!this[_0x8e9f33(0x140)]||!this[_0x8e9f33(0x152)])return;this['winstonLogger'][_0x8e9f33(0x149)](_0x4920fc,{'command':_0x3f185b,'details':_0x1f9a0b});}async['logTask'](_0x4a85d8,_0x2723b9,_0x14157b){const _0x40ddf1=a318_0x1e5874,_0x2707c2=Date[_0x40ddf1(0x12e)]();this[_0x40ddf1(0x12f)](_0x4a85d8,'Starting:\x20'+_0x2723b9);try{const _0x2d0a51=await _0x14157b(),_0x12a049=Date['now']()-_0x2707c2;return this[_0x40ddf1(0x12a)](_0x4a85d8,_0x40ddf1(0x135)+_0x2723b9,_0x12a049),_0x2d0a51;}catch(_0x17f6ed){const _0x5989c2=Date[_0x40ddf1(0x12e)]()-_0x2707c2;this[_0x40ddf1(0x13f)](_0x4a85d8,_0x40ddf1(0x144)+_0x2723b9,{'error':_0x17f6ed instanceof Error?_0x17f6ed[_0x40ddf1(0x120)]:String(_0x17f6ed),'duration':_0x5989c2});throw _0x17f6ed;}}[a318_0x1e5874(0x11b)](){const _0x442ee4=a318_0x1e5874;try{if(!a318_0x202d01[_0x442ee4(0x14b)](this['logFilePath']))return[];const _0x4de173=a318_0x202d01[_0x442ee4(0x14e)](this[_0x442ee4(0x140)],_0x442ee4(0x128));return _0x4de173[_0x442ee4(0x14c)]('\x0a')[_0x442ee4(0x13a)](_0x5dabfc=>_0x5dabfc[_0x442ee4(0x124)]())[_0x442ee4(0x12b)](_0x2fdda6=>JSON[_0x442ee4(0x147)](_0x2fdda6));}catch(_0x4cfb71){return console[_0x442ee4(0x149)](_0x442ee4(0x13b),_0x4cfb71),[];}}[a318_0x1e5874(0x133)](){const _0x4e67af=a318_0x1e5874;try{a318_0x202d01[_0x4e67af(0x14b)](this[_0x4e67af(0x140)])&&a318_0x202d01[_0x4e67af(0x13c)](this[_0x4e67af(0x140)],'','utf8');}catch(_0x516f5a){console[_0x4e67af(0x149)](_0x4e67af(0x141),_0x516f5a);}}['getWinstonInstance'](){return this['winstonLogger'];}}export const logger=new Logger();
|
package/lib/utils/params.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a319_0x968f(_0x1d7f49,_0x20660c){_0x1d7f49=_0x1d7f49-0x12b;const _0x49171b=a319_0x4917();let _0x968f74=_0x49171b[_0x1d7f49];return _0x968f74;}(function(_0x294adc,_0x11f104){const _0x217d4e=a319_0x968f,_0x17a872=_0x294adc();while(!![]){try{const _0x3235f0=parseInt(_0x217d4e(0x12b))/0x1+parseInt(_0x217d4e(0x12d))/0x2*(-parseInt(_0x217d4e(0x132))/0x3)+-parseInt(_0x217d4e(0x12f))/0x4+-parseInt(_0x217d4e(0x137))/0x5+parseInt(_0x217d4e(0x133))/0x6+parseInt(_0x217d4e(0x12c))/0x7*(parseInt(_0x217d4e(0x138))/0x8)+-parseInt(_0x217d4e(0x135))/0x9*(-parseInt(_0x217d4e(0x134))/0xa);if(_0x3235f0===_0x11f104)break;else _0x17a872['push'](_0x17a872['shift']());}catch(_0xfa4655){_0x17a872['push'](_0x17a872['shift']());}}}(a319_0x4917,0x70aba));import{CliErrors}from'../errors.js';export function parseJsonParams(_0x2e2764){const _0x5da0c0=a319_0x968f;if(!_0x2e2764)return undefined;let _0x428135;try{_0x428135=JSON['parse'](_0x2e2764);}catch{throw CliErrors[_0x5da0c0(0x139)](_0x5da0c0(0x131)+_0x2e2764);}if(!_0x428135||typeof _0x428135!==_0x5da0c0(0x136)||Array[_0x5da0c0(0x13a)](_0x428135))throw CliErrors[_0x5da0c0(0x139)](_0x5da0c0(0x130),_0x5da0c0(0x12e));return _0x428135;}function a319_0x4917(){const _0x2bd35c=['Example:\x20--params\x20\x27{\x22id\x22:123}\x27','1593228hwvMcL','--params\x20must\x20be\x20a\x20JSON\x20object','Invalid\x20JSON\x20for\x20--params:\x20','73257eTxkFM','3427458NUlIeT','10JqPrkn','7349850SrQDux','object','4433805ZuOMvP','264AYRJGA','validation','isArray','579118jGARUe','98273SXGSer','56ouNLUF'];a319_0x4917=function(){return _0x2bd35c;};return a319_0x4917();}
|
package/lib/utils/platform.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a320_0x3f487e=a320_0x5df2;function a320_0x83be(){const _0x659173=['110331MxrFTT','54pYaeBJ','820IjvMZr','1298895zfNCZe','1989168LdqlbN','platform','3488586GstQzw','15IvzFWj','740176wRtzlB','win32','3064593ZbavRw','.cmd','15469fDWaIP'];a320_0x83be=function(){return _0x659173;};return a320_0x83be();}function a320_0x5df2(_0x274086,_0x4e004a){_0x274086=_0x274086-0x95;const _0x83be2e=a320_0x83be();let _0x5df2c2=_0x83be2e[_0x274086];return _0x5df2c2;}(function(_0x239836,_0x2cfcdb){const _0x239154=a320_0x5df2,_0xf8a906=_0x239836();while(!![]){try{const _0x86551e=-parseInt(_0x239154(0x9f))/0x1*(parseInt(_0x239154(0xa1))/0x2)+parseInt(_0x239154(0x96))/0x3+-parseInt(_0x239154(0x9b))/0x4*(parseInt(_0x239154(0x9a))/0x5)+parseInt(_0x239154(0x99))/0x6+-parseInt(_0x239154(0x9d))/0x7+-parseInt(_0x239154(0x97))/0x8+-parseInt(_0x239154(0xa0))/0x9*(-parseInt(_0x239154(0x95))/0xa);if(_0x86551e===_0x2cfcdb)break;else _0xf8a906['push'](_0xf8a906['shift']());}catch(_0x113110){_0xf8a906['push'](_0xf8a906['shift']());}}}(a320_0x83be,0x57fca));export const isWindows=process[a320_0x3f487e(0x98)]===a320_0x3f487e(0x9c);export function resolveNpmBin(_0x488eae){const _0x1426a3=a320_0x3f487e;return isWindows?_0x488eae+_0x1426a3(0x9e):_0x488eae;}
|
package/lib/utils/sleep.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export function sleep(
|
|
1
|
+
export function sleep(_0x3795f1){return new Promise(_0x15bc64=>setTimeout(_0x15bc64,_0x3795f1));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a322_0x3132(){const _0x10827d=['Template\x20content\x20replacement\x20failed','getDate','toUpperCase','info','formatLocalTimestamp','82anpZGE','.jsx','toLowerCase','replaceApiContent','copyFile','.js','processFile','3155336NBlgOk','19622pLVXzK','2050GKrXJs','tableName:\x20\x22','getHours','map','tableName','utf8','promises','getMinutes','9315559OQQNyN','.tsx','push','getSeconds','alias','380088fQnyMn','datasetCode:\x20\x22','2531805rbrcgH','toDisplayTitle','pop','pad','split','7nEgFDT','replace','template','getFullYear','api','toComponentName','.json','isFile','4mxEbbI','LOVRABET','now','name','extname','replaceContent','17793gUbkwJ','1115526NUsGEY','charAt','default','join','padStart','slice','.scss','mkdir','.md','12XYJYqN','toISOString','.tpl','.css','\x0a\x20\x20\x20\x20{\x20','includes','processDirectory'];a322_0x3132=function(){return _0x10827d;};return a322_0x3132();}const a322_0x10fd23=a322_0x410c;function a322_0x410c(_0x550353,_0xd18c30){_0x550353=_0x550353-0x18e;const _0x3132e8=a322_0x3132();let _0x410c67=_0x3132e8[_0x550353];return _0x410c67;}(function(_0xa776ca,_0x2ff033){const _0x5af1f9=a322_0x410c,_0x3c227c=_0xa776ca();while(!![]){try{const _0x17e8c4=-parseInt(_0x5af1f9(0x1b0))/0x1*(parseInt(_0x5af1f9(0x1b8))/0x2)+-parseInt(_0x5af1f9(0x1c6))/0x3+parseInt(_0x5af1f9(0x194))/0x4*(parseInt(_0x5af1f9(0x1c8))/0x5)+-parseInt(_0x5af1f9(0x19b))/0x6*(-parseInt(_0x5af1f9(0x1cd))/0x7)+-parseInt(_0x5af1f9(0x1b7))/0x8+-parseInt(_0x5af1f9(0x19a))/0x9*(-parseInt(_0x5af1f9(0x1b9))/0xa)+-parseInt(_0x5af1f9(0x1c1))/0xb*(-parseInt(_0x5af1f9(0x1a4))/0xc);if(_0x17e8c4===_0x2ff033)break;else _0x3c227c['push'](_0x3c227c['shift']());}catch(_0x1b3243){_0x3c227c['push'](_0x3c227c['shift']());}}}(a322_0x3132,0x97145));import a322_0x3e3caf from'node:fs';import a322_0x49b756 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a322_0x10fd23(0x1cb)](_0xee99d0){const _0x1336b6=a322_0x10fd23;return String(_0xee99d0)[_0x1336b6(0x19f)](0x2,'0');}static[a322_0x10fd23(0x1af)](_0x1f791f){const _0xe6381b=a322_0x10fd23,_0x37dfca=_0x1f791f[_0xe6381b(0x18f)](),_0x1b6d83=this['pad'](_0x1f791f['getMonth']()+0x1),_0x32332f=this['pad'](_0x1f791f[_0xe6381b(0x1ac)]()),_0x3d85b3=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1bb)]()),_0x71a54c=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1c0)]()),_0x37da9d=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1c4)]());return{'createdAt':_0x37dfca+'-'+_0x1b6d83+'-'+_0x32332f+'\x20'+_0x3d85b3+':'+_0x71a54c+':'+_0x37da9d,'createdDate':_0x37dfca+'-'+_0x1b6d83+'-'+_0x32332f,'createdTime':_0x3d85b3+':'+_0x71a54c+':'+_0x37da9d};}static['toComponentName'](_0x2ba54c){const _0x5216b4=a322_0x10fd23,_0x56ac21=_0x2ba54c[_0x5216b4(0x1cc)]('/')[_0x5216b4(0x1ca)]()||_0x2ba54c;return _0x56ac21[_0x5216b4(0x1cc)]('-')['map'](_0x3c1831=>_0x3c1831[_0x5216b4(0x19c)](0x0)[_0x5216b4(0x1ad)]()+_0x3c1831[_0x5216b4(0x1a0)](0x1)[_0x5216b4(0x1b2)]())[_0x5216b4(0x19e)]('');}static[a322_0x10fd23(0x1c9)](_0x5afbc5){const _0x1e24b3=a322_0x10fd23,_0x1c587a=_0x5afbc5[_0x1e24b3(0x1cc)]('/')[_0x1e24b3(0x1ca)]()||_0x5afbc5;return _0x1c587a[_0x1e24b3(0x1cc)]('-')[_0x1e24b3(0x1bc)](_0x2afd70=>_0x2afd70[_0x1e24b3(0x19c)](0x0)[_0x1e24b3(0x1ad)]()+_0x2afd70[_0x1e24b3(0x1a0)](0x1)[_0x1e24b3(0x1b2)]())[_0x1e24b3(0x19e)]('\x20');}static['replaceContent'](_0x1ff0d4,_0x70f474,_0x4e30a3){const _0x5def71=a322_0x10fd23,_0x290f9f=this[_0x5def71(0x191)](_0x70f474),_0xa49948=this[_0x5def71(0x1c9)](_0x70f474),{createdAt:_0x22c5e5,createdDate:_0x106cc4,createdTime:_0x1527d1}=this[_0x5def71(0x1af)](new Date());let _0x495855=_0x1ff0d4[_0x5def71(0x1ce)](/\{CliVersion\}/g,CLI_VERSION)[_0x5def71(0x1ce)](/\{ComponentName\}/g,_0x290f9f)['replace'](/\{DisplayTitle\}/g,_0xa49948)[_0x5def71(0x1ce)](/\{PageName\}/g,_0x70f474)[_0x5def71(0x1ce)](/\{TemplateName\}/g,_0x4e30a3)[_0x5def71(0x1ce)](/\{CreatedAt\}/g,_0x22c5e5)[_0x5def71(0x1ce)](/\{CreatedDate\}/g,_0x106cc4)['replace'](/\{CreatedTime\}/g,_0x1527d1);return _0x495855;}static[a322_0x10fd23(0x1b3)](_0x47ec8c,_0x489769,_0x586af1,_0x149414,_0x2657c8,_0x3488a6,_0x3edfcc,_0x2d850a){const _0x2ab628=a322_0x10fd23,_0x2312cf=new Date(),_0x5d8276=_0x2312cf[_0x2ab628(0x1a5)](),_0x1102fb=_0x586af1[_0x2ab628(0x1bc)](_0x2010d9=>{const _0x43cc59=_0x2ab628,_0x298015=[_0x43cc59(0x1c7)+_0x2010d9['datasetCode']+'\x22',_0x43cc59(0x1ba)+_0x2010d9[_0x43cc59(0x1bd)]+'\x22','name:\x20\x22'+_0x2010d9[_0x43cc59(0x197)]+'\x22'];return _0x2010d9['alias']&&_0x298015[_0x43cc59(0x1c3)]('alias:\x20\x22'+_0x2010d9[_0x43cc59(0x1c5)]+'\x22'),_0x43cc59(0x1a8)+_0x298015[_0x43cc59(0x19e)](',\x20')+'\x20},';})[_0x2ab628(0x19e)](''),_0x372442=_0x149414||_0x586af1[0x0]?.[_0x2ab628(0x1c5)]||'YourModel';let _0xbd92c7=_0x47ec8c['replace'](/\{AppCode\}/g,_0x489769)['replace'](/\{ModelConfigs\}/g,_0x1102fb)[_0x2ab628(0x1ce)](/\{ExampleModelName\}/g,_0x372442)['replace'](/\{ApiFileName\}/g,_0x2657c8||_0x2ab628(0x190))[_0x2ab628(0x1ce)](/\{ConfigName\}/g,_0x3488a6||_0x2ab628(0x19d))[_0x2ab628(0x1ce)](/\{ClientConfigParam\}/g,_0x3edfcc||'')['replace'](/\{VarPrefix\}/g,_0x2d850a||_0x2ab628(0x195))[_0x2ab628(0x1ce)](/\{CreatedAt\}/g,_0x5d8276);return _0xbd92c7;}static async['processTemplate'](_0x1dc3e4,_0x3aadd6,_0x32b91e,_0x104c44,_0x4d6494=!![]){const _0x5250ee=a322_0x10fd23,_0x1765cb=Date[_0x5250ee(0x196)]();try{_0x4d6494&&logger[_0x5250ee(0x1ae)](_0x5250ee(0x18e),'Starting\x20template\x20content\x20replacement',{'templatePath':_0x1dc3e4,'targetPath':_0x3aadd6,'pageName':_0x32b91e,'templateName':_0x104c44});await a322_0x3e3caf[_0x5250ee(0x1bf)][_0x5250ee(0x1a2)](_0x3aadd6,{'recursive':!![]}),await this['processDirectory'](_0x1dc3e4,_0x3aadd6,_0x32b91e,_0x104c44);if(_0x4d6494){const _0x2f35ed=Date[_0x5250ee(0x196)]()-_0x1765cb;logger['success'](_0x5250ee(0x18e),'Template\x20content\x20replacement\x20completed',_0x2f35ed,{'pageName':_0x32b91e,'templateName':_0x104c44});}}catch(_0x42b40d){if(_0x4d6494){const _0x4e8f93=Date[_0x5250ee(0x196)]()-_0x1765cb;logger['error'](_0x5250ee(0x18e),_0x5250ee(0x1ab),{'templatePath':_0x1dc3e4,'targetPath':_0x3aadd6,'pageName':_0x32b91e,'templateName':_0x104c44,'error':_0x42b40d instanceof Error?_0x42b40d['message']:String(_0x42b40d),'duration':_0x4e8f93});}throw _0x42b40d;}}static async[a322_0x10fd23(0x1aa)](_0x244b93,_0xfa1e56,_0x308423,_0x2aac10){const _0x3cfbd6=a322_0x10fd23,_0x1e8a1c=await a322_0x3e3caf[_0x3cfbd6(0x1bf)]['readdir'](_0x244b93,{'withFileTypes':!![]});for(const _0x326248 of _0x1e8a1c){const _0x4540a6=a322_0x49b756[_0x3cfbd6(0x19e)](_0x244b93,_0x326248[_0x3cfbd6(0x197)]);let _0x354c51=a322_0x49b756[_0x3cfbd6(0x19e)](_0xfa1e56,_0x326248[_0x3cfbd6(0x197)]);_0x326248['name']['endsWith']('.tpl')&&(_0x354c51=a322_0x49b756[_0x3cfbd6(0x19e)](_0xfa1e56,_0x326248['name'][_0x3cfbd6(0x1ce)](/\.tpl$/,'')));if(_0x326248['isDirectory']())await a322_0x3e3caf[_0x3cfbd6(0x1bf)][_0x3cfbd6(0x1a2)](_0x354c51,{'recursive':!![]}),await this[_0x3cfbd6(0x1aa)](_0x4540a6,_0x354c51,_0x308423,_0x2aac10);else _0x326248[_0x3cfbd6(0x193)]()&&await this[_0x3cfbd6(0x1b6)](_0x4540a6,_0x354c51,_0x308423,_0x2aac10);}}static async[a322_0x10fd23(0x1b6)](_0x24128d,_0x13bccd,_0x521641,_0x5b4827){const _0x150bcf=a322_0x10fd23,_0x115805=a322_0x49b756[_0x150bcf(0x198)](_0x24128d)[_0x150bcf(0x1b2)]();_0x24128d['endsWith'](_0x150bcf(0x1a6))&&(_0x13bccd=_0x13bccd['replace'](/\.tpl$/,''));const _0x49e6aa=[_0x150bcf(0x1c2),'.ts',_0x150bcf(0x1b1),_0x150bcf(0x1b5),_0x150bcf(0x192),_0x150bcf(0x1a3),_0x150bcf(0x1a7),_0x150bcf(0x1a1),_0x150bcf(0x1a6)];if(_0x49e6aa[_0x150bcf(0x1a9)](_0x115805)||_0x24128d['endsWith'](_0x150bcf(0x1a6))){const _0x4bf4b4=await a322_0x3e3caf[_0x150bcf(0x1bf)]['readFile'](_0x24128d,_0x150bcf(0x1be)),_0x534e1a=this[_0x150bcf(0x199)](_0x4bf4b4,_0x521641,_0x5b4827);await a322_0x3e3caf['promises']['writeFile'](_0x13bccd,_0x534e1a,'utf8');}else await a322_0x3e3caf[_0x150bcf(0x1bf)][_0x150bcf(0x1b4)](_0x24128d,_0x13bccd);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3d0c04,_0x23d411){const _0x37681e=a323_0x3a62,_0x655843=_0x3d0c04();while(!![]){try{const _0x45835c=parseInt(_0x37681e(0x155))/0x1+-parseInt(_0x37681e(0x147))/0x2*(-parseInt(_0x37681e(0x142))/0x3)+-parseInt(_0x37681e(0x15f))/0x4*(-parseInt(_0x37681e(0x154))/0x5)+-parseInt(_0x37681e(0x151))/0x6+-parseInt(_0x37681e(0x14e))/0x7*(-parseInt(_0x37681e(0x14d))/0x8)+parseInt(_0x37681e(0x156))/0x9*(-parseInt(_0x37681e(0x158))/0xa)+-parseInt(_0x37681e(0x152))/0xb*(parseInt(_0x37681e(0x15c))/0xc);if(_0x45835c===_0x23d411)break;else _0x655843['push'](_0x655843['shift']());}catch(_0x2ff533){_0x655843['push'](_0x655843['shift']());}}}(a323_0x5b14,0x7d77a));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a323_0x136e3b from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x21b41e=a323_0x3a62,_0x41c50c=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x21b41e(0x15b)]()[_0x21b41e(0x150)]();return _0x41c50c==='1'||_0x41c50c===_0x21b41e(0x15e)||_0x41c50c===_0x21b41e(0x145);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}function a323_0x3a62(_0x290a29,_0x13edc1){_0x290a29=_0x290a29-0x142;const _0x5b14ed=a323_0x5b14();let _0x3a6281=_0x5b14ed[_0x290a29];return _0x3a6281;}export function getUpdateNoticeCachePath(){const _0x18c0a3=a323_0x3a62;return join(cacheRoot(),'rabetbase-cli',_0x18c0a3(0x157));}async function readUpdateNoticeCache(){const _0x4eb87d=a323_0x3a62;try{const _0x3c416c=await readFile(getUpdateNoticeCachePath(),_0x4eb87d(0x14c)),_0x2b2c29=JSON['parse'](_0x3c416c);if(!_0x2b2c29||typeof _0x2b2c29!==_0x4eb87d(0x148))return{};return _0x2b2c29;}catch{return{};}}function a323_0x5b14(){const _0x4fb2fa=['756544MyieXY','49trSNZZ','now','toLowerCase','5269176YyvTVv','22xAgSHR','checkedAt','3995890wVrXjt','130160RWwXlR','36QmLawc','update-check.json','556340lPQQhp','latest','lastNotifiedVersion','trim','51036znEaVx','number','true','4Ygvusn','47757zTGmHk','lastNotifiedAt','valid','yes','stringify','4VqYsDK','object','https://www.npmjs.com/package/','stableVersion','\x20available,\x20current\x20','utf8'];a323_0x5b14=function(){return _0x4fb2fa;};return a323_0x5b14();}async function writeUpdateNoticeCache(_0x25583c){const _0x3e274e=a323_0x3a62;try{const _0x3ec760=getUpdateNoticeCachePath();await mkdir(dirname(_0x3ec760),{'recursive':!![]}),await writeFile(_0x3ec760,JSON[_0x3e274e(0x146)](_0x25583c,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x9ecead,_0x32bf94){const _0x13e223=a323_0x3a62;return typeof _0x9ecead[_0x13e223(0x153)]===_0x13e223(0x15d)&&_0x32bf94-_0x9ecead[_0x13e223(0x153)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x3dad05,_0x89fbb2,_0x27936f){const _0x4ab023=a323_0x3a62;return _0x3dad05[_0x4ab023(0x15a)]===_0x89fbb2&&typeof _0x3dad05[_0x4ab023(0x143)]===_0x4ab023(0x15d)&&_0x27936f-_0x3dad05['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x4357ef){const _0x54b592=a323_0x3a62;return _0x54b592(0x149)+NPM_PACKAGE_NAME+'/v/'+_0x4357ef;}export async function resolveLatestUpdateNotice(){const _0x447801=a323_0x3a62;if(isUpdateNoticeDisabled())return null;try{const _0x4ecda8=Date[_0x447801(0x14f)](),_0x2aff05=getCliVersion(),_0x262a88=await readUpdateNoticeCache();let _0xc60623=isFreshCheck(_0x262a88,_0x4ecda8)?_0x262a88[_0x447801(0x159)]?.['trim']():undefined;if(!_0xc60623&&!isFreshCheck(_0x262a88,_0x4ecda8)){const _0x3683d1=await getCliVersionPolicy();_0xc60623=_0x3683d1?.[_0x447801(0x14a)]?.[_0x447801(0x15b)]()||undefined,await writeUpdateNoticeCache({..._0x262a88,'checkedAt':_0x4ecda8,'latest':_0xc60623,'failed':!_0xc60623});}if(!_0xc60623||!a323_0x136e3b['valid'](_0x2aff05)||!a323_0x136e3b[_0x447801(0x144)](_0xc60623))return null;if(a323_0x136e3b['gte'](_0x2aff05,_0xc60623))return null;if(isRecentlyNotified(_0x262a88,_0xc60623,_0x4ecda8))return null;const _0x310e0e=CLI_BIN_NAME+'\x20update';return await writeUpdateNoticeCache({..._0x262a88,'checkedAt':isFreshCheck(_0x262a88,_0x4ecda8)?_0x262a88['checkedAt']:_0x4ecda8,'latest':_0xc60623,'failed':![],'lastNotifiedVersion':_0xc60623,'lastNotifiedAt':_0x4ecda8}),{'command':_0x310e0e,'current':_0x2aff05,'latest':_0xc60623,'url':buildNpmVersionUrl(_0xc60623),'message':CLI_BIN_NAME+'\x20'+_0xc60623+_0x447801(0x14b)+_0x2aff05+',\x20run:\x20'+_0x310e0e};}catch{return null;}}
|
package/lib/utils/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a324_0x46fb(_0x386b07,_0x3f702a){_0x386b07=_0x386b07-0x134;var _0x469e18=a324_0x469e();var _0x46fbfd=_0x469e18[_0x386b07];return _0x46fbfd;}(function(_0x3860a7,_0x5e2dd5){var _0x280f8f=a324_0x46fb,_0x1d167c=_0x3860a7();while(!![]){try{var _0x5045e4=parseInt(_0x280f8f(0x13b))/0x1*(-parseInt(_0x280f8f(0x137))/0x2)+parseInt(_0x280f8f(0x13d))/0x3+-parseInt(_0x280f8f(0x136))/0x4*(parseInt(_0x280f8f(0x13a))/0x5)+-parseInt(_0x280f8f(0x13e))/0x6*(parseInt(_0x280f8f(0x134))/0x7)+parseInt(_0x280f8f(0x138))/0x8+-parseInt(_0x280f8f(0x13c))/0x9*(-parseInt(_0x280f8f(0x139))/0xa)+parseInt(_0x280f8f(0x135))/0xb;if(_0x5045e4===_0x5e2dd5)break;else _0x1d167c['push'](_0x1d167c['shift']());}catch(_0x165290){_0x1d167c['push'](_0x1d167c['shift']());}}}(a324_0x469e,0x2745f));function a324_0x469e(){var _0x236b71=['10892yzPkru','1408869YBpTFS','111260IkNeBF','111898CgtKJV','2249392ZSzOtT','210xjsefL','55BlPwDU','3ChRIxV','95616XMrafy','539106lQRdSd','684ZhtSUV'];a324_0x469e=function(){return _0x236b71;};return a324_0x469e();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x454a39,_0x303fdb){var _0x14ddf6=a325_0x7d97,_0x394ab4=_0x454a39();while(!![]){try{var _0x11687a=parseInt(_0x14ddf6(0x108))/0x1*(parseInt(_0x14ddf6(0x10f))/0x2)+parseInt(_0x14ddf6(0x110))/0x3+parseInt(_0x14ddf6(0x10b))/0x4+-parseInt(_0x14ddf6(0x10e))/0x5*(-parseInt(_0x14ddf6(0x10a))/0x6)+parseInt(_0x14ddf6(0x10d))/0x7+parseInt(_0x14ddf6(0x109))/0x8+-parseInt(_0x14ddf6(0x10c))/0x9;if(_0x11687a===_0x303fdb)break;else _0x394ab4['push'](_0x394ab4['shift']());}catch(_0x34aedc){_0x394ab4['push'](_0x394ab4['shift']());}}}(a325_0x2ff5,0x8bf40));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a325_0x2ff5(){var _0x4b63de=['6421282OthXyy','3681270fFyAlM','495422rzgdqN','2842308rlSjno','2YcBpVA','366984yiwjfa','6wtvTVu','864516mvqIlq','25066728FjCCyw'];a325_0x2ff5=function(){return _0x4b63de;};return a325_0x2ff5();}function a325_0x7d97(_0x567ae1,_0x575486){_0x567ae1=_0x567ae1-0x108;var _0x2ff581=a325_0x2ff5();var _0x7d973e=_0x2ff581[_0x567ae1];return _0x7d973e;}export async function withActiveCookie(_0x27b3df,_0x3c46ff){setActiveCookie(_0x27b3df);try{return await _0x3c46ff();}finally{clearActiveCookie();}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x22cb77,_0x534c09){var _0x38bee4=a326_0x5b54,_0x2923a9=_0x22cb77();while(!![]){try{var _0x25fd2c=parseInt(_0x38bee4(0x13c))/0x1+parseInt(_0x38bee4(0x139))/0x2+parseInt(_0x38bee4(0x138))/0x3+parseInt(_0x38bee4(0x13a))/0x4+parseInt(_0x38bee4(0x137))/0x5+parseInt(_0x38bee4(0x136))/0x6+-parseInt(_0x38bee4(0x135))/0x7;if(_0x25fd2c===_0x534c09)break;else _0x2923a9['push'](_0x2923a9['shift']());}catch(_0x482a12){_0x2923a9['push'](_0x2923a9['shift']());}}}(a326_0x3024,0x5d962));function a326_0x5b54(_0x33f6ac,_0xc099ad){_0x33f6ac=_0x33f6ac-0x135;var _0x302488=a326_0x3024();var _0x5b5487=_0x302488[_0x33f6ac];return _0x5b5487;}export function writeCliSideChannelLine(_0xd2f3d2){var _0xd97cfb=a326_0x5b54;process[_0xd97cfb(0x13d)][_0xd97cfb(0x13b)](_0xd2f3d2+'\x0a');}function a326_0x3024(){var _0x487371=['339044NTPBBa','stderr','17600128bDwWLI','1748226acTKaB','3776715wKxyth','2259438lrDypS','341144MApZIk','2352632xiVZYS','write'];a326_0x3024=function(){return _0x487371;};return a326_0x3024();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovrabet/rabetbase-cli",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.2-beta.2",
|
|
4
4
|
"description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, Backend Function, database connections, skills, and AI agent workflows.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"keywords": [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rabetbase
|
|
3
|
-
version: 2.5.
|
|
4
|
-
description: "Use for Lovrabet development work through the rabetbase CLI: create or bind projects (including creating an AppCode project in the current folder), pull Dataset/API facts and maintain SDK clients, or manage datasets, database connections, pages, SQL, Backend Functions, menus, notifications, knowledge bases and kb search, Agent Context Rules, roles, files, OCR, deployment metadata, platform issues, and 钉钉沙箱账号绑定. Trigger when the user mentions rabetbase, Lovrabet development, AppCode, Dataset, project creation, api pull/codegen, dblink, page, SQL, BFF, menu, notification, knowledge base, kb search, Agent Context Rules, RULES.md, DATABASE.md, rule list/get/set, role, file/OCR, or related development workflows."
|
|
3
|
+
version: 2.5.2-beta.2
|
|
4
|
+
description: "Use for Lovrabet development work through the rabetbase CLI: create or bind projects (including creating an AppCode project in the current folder), pull Dataset/API facts and maintain SDK clients, or manage datasets, Instant API access policies, database connections, pages, SQL, Backend Functions, menus, notifications, knowledge bases and kb search, Agent Context Rules, roles, files, OCR, deployment metadata, platform issues, and 钉钉沙箱账号绑定. Trigger when the user mentions rabetbase, Lovrabet development, AppCode, Dataset, Instant API allow/deny/route policy, project creation, api pull/codegen, dblink, page, SQL, BFF, menu, notification, knowledge base, kb search, Agent Context Rules, RULES.md, DATABASE.md, rule list/get/set, role, file/OCR, or related development workflows."
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
7
7
|
bins: ["rabetbase"]
|
|
@@ -29,6 +29,7 @@ metadata:
|
|
|
29
29
|
9. **本地 SQL / Backend Function 目录**:新建或长期维护的源文件应落在 CLI 与 `bff status` / `sql pull` 一致的路径,避免写在 `src/`、`queries/` 等随意目录后再迁移。
|
|
30
30
|
- **SQL**:项目根 **`.rabetbase/sql/<appCode>/<dbName|db-<id>>/<sqlCode>_<sqlName>.sql|xml`**;草稿或人工兜底可放 `.draft.sql`。`sql create` / `sql pull` / `sql push` / `sql status` 默认围绕这套目录与 `.rabetbase/sql.lock.json` 工作。
|
|
31
31
|
- **Backend Function**:**`.rabetbase/bff/<appCode>/...`**(由 `bff create` 创建或 `bff pull` 同步;与 `bff status` / `bff push` 扫描范围一致)。详见 [`guides/sql-creation-workflow.md`](guides/sql-creation-workflow.md)、[`guides/bff-creation-workflow.md`](guides/bff-creation-workflow.md)。
|
|
32
|
+
- **Instant API Policy**:**`.rabetbase/instant-api-policy/<appCode>/policy.json`**。`instant-api-policy init/pull/validate/publish` 只读取或写入这一固定文件,不接受任意 `--file`。
|
|
32
33
|
10. **运行态查数显式交接** — `rabetbase` 只负责 Dataset 结构与研发发布。不需要真实行数据时,`lovrabet` CLI 可以不装。一旦要验证真实业务行数据,必须交接给 **`lovrabet data filter/getOne`**;不可用时报告阻断并提示安装 `lovrabet` Skill 与 CLI。不要调用已移除的 `rabetbase data filter/getOne`,也不要由本 Skill 静默安装或修复运行态 CLI。`rabetbase sql exec` 只验证已发布 SQL,不是行数据查询的通用替代。详见 [`guides/data-api-guidelines.md`](guides/data-api-guidelines.md)。
|
|
33
34
|
|
|
34
35
|
## Skill Freshness
|
|
@@ -53,7 +54,7 @@ metadata:
|
|
|
53
54
|
- 需要了解数据集关联关系时用 `rabetbase dataset relations --format compress`(或 `json`);需要审计关系事实错误和人工复核项时用 `rabetbase dataset relation-audit --format compress`
|
|
54
55
|
- 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
|
|
55
56
|
- **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
|
|
56
|
-
-
|
|
57
|
+
- **为独立部署同步研发元数据**时读 [`deployment sync`](references/rabetbase-deployment-sync.md):局部同步使用精确 type/codes;需要同步当前应用全部已支持研发元数据时使用 `deployment sync-all`;提交成功后按 jobId 查询状态,提交结果未知时用 `sync-jobs` 恢复任务事实
|
|
57
58
|
- DBAgent 增量分析默认先执行一次异步差异刷新:调用 `db diff-refresh-start`,保存 traceId,并用 `db diff-refresh-status` 查询同一任务到终态;成功后按原始意图执行 `db diff --all`(差异表)或 `db tables`(全部表)。无论 `tableCount` 大小都执行刷新;只有用户明确表示“不需要分析”“不刷新”或“只看现有结果”时才跳过异步刷新,并说明结果可能不是最新事实
|
|
58
59
|
- 需要查看全部表(含无差异表)或主动重新分析既有表时,用 `db tables`;它固定聚合全表分页。`db diff --all` 只聚合全部差异分页
|
|
59
60
|
- DB 增量分析先对完整 `toAnalyzeTables` 执行 `db analyze-batch-plan`;它生成的是本地批次方案,不是服务端 `planId`,也不会创建任务。再严格按批次顺序启动;每批独立保存 `planId`(即 `analyze-start` 返回值),当前批次到达已知终态前不得启动下一批
|
|
@@ -61,6 +62,7 @@ metadata:
|
|
|
61
62
|
- 输出很大且只需子集时,在 `compress`/`json` 上加 `--jq '.data…'` 缩小结果
|
|
62
63
|
- 需要真实业务行数据时必须交接给 `lovrabet data filter/getOne`;`lovrabet` 不可用时报告阻断并提示安装 Skill 与 CLI,不要静默安装或修复,也不要用 `rabetbase sql exec` 当行数据替代,见 [`guides/data-api-guidelines.md`](guides/data-api-guidelines.md)
|
|
63
64
|
- 需要 `src/api/api.ts` / `client.ts` 时:先 `rabetbase api pull --format compress` 取 `data.models`、`data.files`、`data.needsAgentMerge`,再按 [`sdk-client-generation.md`](guides/sdk-client-generation.md) 更新 TypeScript。`api pull` 默认**不会覆盖已有** `api.ts`/`client.ts`;只有用户明确要求放弃本地定制并完整重建时才使用 `--force --yes`
|
|
65
|
+
- 需要按 Dataset + API 配置 Instant API 的 `allow`、`deny` 或 `route` 时,先读取 [`rabetbase-instant-api-policy.md`](references/rabetbase-instant-api-policy.md),只编辑固定 `policy.json`,随后依次执行 `validate`、`publish --dry-run`,经人工确认后再正式发布
|
|
64
66
|
3. **SQL 工作流严格分步**
|
|
65
67
|
- 推荐路径:查现有(`sql list/detail`) 或新建(`sql create`) → 拉/落本地(`sql pull` / `sql create`) → 编辑同步目录文件 → 可选校验(`sql validate`) → 检查状态(`sql status`) → 先预览(`sql push --dry-run` / `sql delete --dry-run`) → 再 `sql push` / `sql delete` → `sql detail` / `sql exec` 验证
|
|
66
68
|
- 先使用 `sql list/detail` 查找可复用的 Custom SQL;没有满足需求的资源时,按照 [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) 与 [`sql-mybatis.md`](guides/sql-mybatis.md) 创建、校验、发布并验证
|
|
@@ -195,7 +197,7 @@ metadata:
|
|
|
195
197
|
- **不要猜字段名** — 必须从 `dataset detail` 返回值获取真实字段名、类型、枚举值
|
|
196
198
|
- **不要跳过 validate 与 dry-run** — 修改已有 SQL 并准备 `sql push` 前,必须先跑 `sql validate`;创建 SQL 或执行高风险同步前至少确认过 `sql create --dry-run`、`sql push --dry-run` 或 `sql delete --dry-run` 的预览
|
|
197
199
|
- **不要手动拼 API URL** — 所有操作通过 CLI 命令完成,不要直接调 HTTP 接口
|
|
198
|
-
-
|
|
200
|
+
- **不要自动重提部署同步** — 局部同步部分失败时保留逐项结果;应用范围提交结果不确定时先用 `deployment sync-jobs` 恢复任务事实,不得把非零退出误报为全部成功或直接重试
|
|
199
201
|
- **不要向产品用户展开研发实现** — 回答角色权限操作时,不输出工程仓库、Controller、数据库表、接口路径、MR 排查或迁移过程;只说明 CLI 命令、角色边界、风险和可验证结果
|
|
200
202
|
- **不要臆测 sqlCode / id** — 从 `sql list` 或 `bff list` 获取真实标识
|
|
201
203
|
- **不要臆测 dblink id 或分析 trace/plan id** — 从 `db list` / `db detail` / `db analyze-start` 的返回字段获取(见 [database-connection-workflow.md](guides/database-connection-workflow.md))
|
|
@@ -208,6 +210,7 @@ metadata:
|
|
|
208
210
|
- **不要跳过 Dataset rename 最终线上回查** — 连续重命名后必须按 code 重新查询线上名称,不能只相信本地 plan 或 dry-run
|
|
209
211
|
- **不要把 MCP 工具名当 CLI 命令** — 使用 `rabetbase sql list`,不是 `list_sql_queries`
|
|
210
212
|
- **不要擅自加 `--global`** — 见上文「配置作用域原则」;默认写项目、读合并;仅在用户明确要求或文档说明的场景使用 `--global`。
|
|
213
|
+
- **不要为 Instant API Policy 传任意文件路径或写入 app-config** — 策略只使用 `.rabetbase/instant-api-policy/<appCode>/policy.json` 与独立策略接口;发布和回滚前必须校验并预览。
|
|
211
214
|
|
|
212
215
|
## 接口选型优先级
|
|
213
216
|
|
|
@@ -316,6 +319,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
316
319
|
| 修改配置文件 | [`rabetbase config set <key> <value>`](references/rabetbase-config.md) | 默认写项目;无项目配置且未 `--global` 会拒绝;`--global` 写 `~/.rabetbase.json` |
|
|
317
320
|
| 列出配置 | [`rabetbase config list`](references/rabetbase-config.md) | 查看当前生效的配置 |
|
|
318
321
|
| 管理运行态 app-config | [`rabetbase app-config list/get/set/delete`](references/rabetbase-app-config.md) | 运行态 app-config 管理面;默认不输出明文 value;`set` 为 `write`,`delete` 保持 `high-risk-write` |
|
|
322
|
+
| 管理 Instant API 数据集访问策略 | [`rabetbase instant-api-policy init/current/pull/validate/publish/revisions/revision/rollback`](references/rabetbase-instant-api-policy.md) | 固定文件 `.rabetbase/instant-api-policy/<appCode>/policy.json`;`version` 是 JSON 结构版本,`revision` 是发布历史版本;publish/rollback 为 high-risk-write |
|
|
319
323
|
| 管理和检索当前研发应用的企业知识库 | [`rabetbase kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) | 管理仅 company scope;search 固定 Development 且仅 `public/company`;`create/update` 为 `write`,`delete` 保持 `high-risk-write` |
|
|
320
324
|
| 管理当前研发应用的 Agent context 规则 | [`rabetbase rule list/get/set`](references/rabetbase-rule.md) | `RULES.md` 供页面、API 等研发 Agent 使用且排除 DB Agent;`DATABASE.md` 仅供数据库分析时 DB Agent 使用;两者在各自流程全程参与 context;set 为 `write`,先 dry-run |
|
|
321
325
|
| 查询或管理应用级通知配置 | [`rabetbase notification config-list`](references/rabetbase-notification-config-list.md) / [`rabetbase notification config-create`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-update`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-delete`](references/rabetbase-notification-config-mutations.md) | list 获取 Backend Function 所需 `configCode`;写入只接收单一敏感 JSON 源,先 dry-run;update/delete 必须 `--yes` |
|
|
@@ -368,7 +372,8 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
368
372
|
| 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | 推送后自动回拉 canonical schema 覆盖本地 |
|
|
369
373
|
| 恢复已删除页面 | [`rabetbase page restore --id <pageId>`](references/rabetbase-page-restore.md) | 支持 `DATA_LIST|CUSTOM` 自动识别;跨类型同 ID 时显式传 `--page-type` |
|
|
370
374
|
| 数据库连接(dblink)/ 测连 / 结构分析 | [`rabetbase db list`](references/rabetbase-db-list.md) 起 | **`id`**、**trace/plan id** 与“终态 + 复跑 diff”完成口径见 [database-connection-workflow.md](guides/database-connection-workflow.md);各子命令见 `references/rabetbase-db-*.md` |
|
|
371
|
-
| 独立部署局部同步研发元数据 | [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md) | 显式命令为 `write
|
|
375
|
+
| 独立部署局部同步研发元数据 | [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md) | 显式命令为 `write`;日常 BFF/SQL push 自动同步当前 push 的实际变更,服务端负责能力检查与目标处理;Dataset 保持显式确认;失败或结果不确定时不自动重试 |
|
|
376
|
+
| 独立部署应用范围同步 | [`rabetbase deployment sync-all`](references/rabetbase-deployment-sync.md) | `write`;只提交 appCode;保存 jobId 后查询状态,结果未知时用 `sync-jobs` 恢复任务事实,不自动重提 |
|
|
372
377
|
| 生成 / 更新 API 客户端代码 | [`rabetbase api pull`](references/rabetbase-api-pull.md) → [`sdk-client-generation.md`](guides/sdk-client-generation.md) | `api pull` 拉 Dataset 事实并刷新 `sdk-config.ts`;已有 `api.ts`/`client.ts` 按 guide 合并更新 |
|
|
373
378
|
| 查看生成的 API 模型 | [`rabetbase api list`](references/rabetbase-api-list.md) | 列出已生成的数据模型 |
|
|
374
379
|
| 查看现有 SQL | [`rabetbase sql list --name "xxx"`](references/rabetbase-sql-list.md) | 分页,按名称过滤;默认查当前决议到的单个应用 |
|
|
@@ -420,6 +425,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
420
425
|
| File | [`upload` / `query-url`](references/rabetbase-file.md) |
|
|
421
426
|
| Configuration | [`config set/get/list/delete`](references/rabetbase-config.md) |
|
|
422
427
|
| Runtime App Config Management | [`app-config list/get/set/delete`](references/rabetbase-app-config.md) |
|
|
428
|
+
| Instant API Policy | [`instant-api-policy init/current/pull/validate/publish/revisions/revision/rollback`](references/rabetbase-instant-api-policy.md) |
|
|
423
429
|
| Company Knowledge Base | [`kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) |
|
|
424
430
|
| Agent Context Rules | [`rule list/get/set`](references/rabetbase-rule.md) |
|
|
425
431
|
| Menu | [`list`](references/rabetbase-menu-list.md) / [`external-link-create`](references/rabetbase-menu-external-link-create.md) / [`external-link-update`](references/rabetbase-menu-external-link-update.md) / [`rename`](references/rabetbase-menu-rename.md) / [`sync`](references/rabetbase-menu-sync.md) / [`asset-update`](references/rabetbase-menu-asset-update.md) / [`delete`](references/rabetbase-menu-delete.md) / [`group-create`](references/rabetbase-menu-group-create.md) / [`group-update`](references/rabetbase-menu-group-update.md) / [`move`](references/rabetbase-menu-move.md) / [`regroup-start`](references/rabetbase-menu-regroup-start.md) |
|
|
@@ -432,7 +438,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
432
438
|
| Data List Page commands | [`generate-start`](references/rabetbase-page-generate-start.md) / [`generate-status`](references/rabetbase-page-generate-status.md) / [`data-list-status`](references/rabetbase-data-list-status.md) / [`relation-audit`](references/rabetbase-page-relation-binding.md) / [`sync`](references/rabetbase-page-sync.md) / [`pull`](references/rabetbase-page-pull.md) / [`push`](references/rabetbase-page-push.md) |
|
|
433
439
|
| Custom Page commands | [`create`](references/rabetbase-page-create.md) / [`custom-list`](references/rabetbase-page-custom-list.md) / [`custom-detail`](references/rabetbase-page-custom-detail.md) / [`custom-update`](references/rabetbase-page-custom-update.md) / [`custom-publish`](references/rabetbase-page-custom-publish.md) |
|
|
434
440
|
| Database Connections (`db`) | [`list`](references/rabetbase-db-list.md) / [`detail`](references/rabetbase-db-detail.md) / [`create`](references/rabetbase-db-create.md) / [`update`](references/rabetbase-db-update.md) / [`delete`](references/rabetbase-db-delete.md) / [`test`](references/rabetbase-db-test.md) / [`analyze`](references/rabetbase-db-analyze.md) / [`tables`](references/rabetbase-db-tables.md) / [`diff`](references/rabetbase-db-diff.md) / [`diff-refresh-start/status`](references/rabetbase-db-diff-refresh.md) |
|
|
435
|
-
| Deployment | [`sync`](references/rabetbase-deployment-sync.md) |
|
|
441
|
+
| Deployment | [`sync`](references/rabetbase-deployment-sync.md) / [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync.md) |
|
|
436
442
|
| api commands | [`pull`](references/rabetbase-api-pull.md) / [`list`](references/rabetbase-api-list.md) |
|
|
437
443
|
| sql commands | [`list`](references/rabetbase-sql-list.md) / [`detail`](references/rabetbase-sql-detail.md) / [`create`](references/rabetbase-sql-create.md) / [`status`](references/rabetbase-sql-status.md) / [`pull`](references/rabetbase-sql-pull.md) / [`push`](references/rabetbase-sql-push.md) / [`delete`](references/rabetbase-sql-delete.md) / [`validate`](references/rabetbase-sql-validate.md) / [`save`(deprecated)](references/rabetbase-sql-save.md) / [`exec`](references/rabetbase-sql-exec.md) |
|
|
438
444
|
| bff commands | [`list`](references/rabetbase-bff-list.md) / [`detail`](references/rabetbase-bff-detail.md) / [`create`](references/rabetbase-bff-create.md) / [`status`](references/rabetbase-bff-status.md) / [`pull`](references/rabetbase-bff-pull.md) / [`push`](references/rabetbase-bff-push.md) / [`delete`](references/rabetbase-bff-delete.md) |
|