@lovrabet/rabetbase-cli 2.5.3-beta.3 → 2.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api-doc.js +1 -1
- package/lib/api/api-group.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/api/legacy-api-file.js +1 -1
- package/lib/api/model-registry-file.js +1 -1
- package/lib/api/model-registry-scaffold.js +1 -1
- package/lib/api/model-source.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/logs.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/batch-design.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/cross-relation-create.js +1 -1
- package/lib/commands/dataset/cross-relation-delete.js +1 -1
- package/lib/commands/dataset/cross-relation-list.js +1 -1
- package/lib/commands/dataset/cross-relation-shared.js +1 -1
- package/lib/commands/dataset/cross-relation-update.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/index.js +1 -1
- package/lib/commands/deployment/sync-all.js +1 -1
- package/lib/commands/deployment/sync-jobs.js +1 -1
- package/lib/commands/deployment/sync-status.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/flow/create.js +1 -1
- package/lib/commands/flow/detail.js +1 -1
- package/lib/commands/flow/index.js +1 -1
- package/lib/commands/flow/list.js +1 -1
- package/lib/commands/flow/publish.js +1 -1
- package/lib/commands/flow/runtime-resources-shared.js +1 -1
- package/lib/commands/flow/runtime-role-list.js +1 -1
- package/lib/commands/flow/runtime-role-user-list.js +1 -1
- package/lib/commands/flow/runtime-user-search.js +1 -1
- package/lib/commands/flow/shared.js +1 -1
- package/lib/commands/flow/update.js +1 -1
- package/lib/commands/flow/validate.js +1 -1
- package/lib/commands/instant-api-policy/current.js +1 -1
- package/lib/commands/instant-api-policy/index.js +1 -1
- package/lib/commands/instant-api-policy/init.js +1 -1
- package/lib/commands/instant-api-policy/publish.js +1 -1
- package/lib/commands/instant-api-policy/pull.js +1 -1
- package/lib/commands/instant-api-policy/revision.js +1 -1
- package/lib/commands/instant-api-policy/revisions.js +1 -1
- package/lib/commands/instant-api-policy/rollback.js +1 -1
- package/lib/commands/instant-api-policy/shared.js +1 -1
- package/lib/commands/instant-api-policy/validate.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/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/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/api-architecture-upgrade.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/region-config.js +1 -1
- package/lib/config/schema.js +1 -1
- package/lib/constant/cdn.d.ts +5 -3
- 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.js +1 -1
- package/lib/context/auth-resolver.js +1 -1
- package/lib/context/config-loader.js +1 -1
- package/lib/context.js +1 -1
- package/lib/core/alias-resolver.js +1 -1
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/hook-directory.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/cross-db-relation.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/flow-config.js +1 -1
- package/lib/core/instant-api-policy/config.js +1 -1
- 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/page/lr-smart-jsx.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.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/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.d.ts +7 -0
- 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 +3 -1
- package/skills/rabetbase/SKILL.md +7 -5
- package/skills/rabetbase/guides/backend-function.md +5 -1
- package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
- package/skills/rabetbase/guides/cross-database-bff.md +70 -0
- package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
- package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
- package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +5 -1
- package/skills/rabetbase.manifest.json +4 -3
- package/templates/README.md +41 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x5dfbec,_0x7315ff){const _0xa72758=a337_0x239f,_0x37a21e=_0x5dfbec();while(!![]){try{const _0x43e5c7=parseInt(_0xa72758(0x76))/0x1+-parseInt(_0xa72758(0x6f))/0x2*(-parseInt(_0xa72758(0x7c))/0x3)+parseInt(_0xa72758(0x72))/0x4*(-parseInt(_0xa72758(0x78))/0x5)+-parseInt(_0xa72758(0x8d))/0x6*(parseInt(_0xa72758(0x69))/0x7)+parseInt(_0xa72758(0x7f))/0x8*(-parseInt(_0xa72758(0x6d))/0x9)+-parseInt(_0xa72758(0x68))/0xa*(parseInt(_0xa72758(0x7a))/0xb)+parseInt(_0xa72758(0x8b))/0xc;if(_0x43e5c7===_0x7315ff)break;else _0x37a21e['push'](_0x37a21e['shift']());}catch(_0x18ecf5){_0x37a21e['push'](_0x37a21e['shift']());}}}(a337_0x24a7,0x37bd7));import{readFileSync}from'node:fs';function a337_0x24a7(){const _0x393f21=['latest','560328XvQfHB','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','\x1b[31m','\x20\x20\x20Upgrade\x20command:\x20','belowMinimum','minimumVersion','needsUpgrade','minimumVersionMessage','filter','parse','1.0.0','log','7813164XDjkfE','npm\x20install\x20-g\x20','4584OGavlc','package.json','join','263690cqoduz','3934TfeICZ','\x20\x20\x20Recommended\x20stable:\x20','coerce','\x20\x20\x20','9GwteNO','\x1b[1m','332yMnicb','Minimum\x20supported:\x20','upgradeMessage','297268nRvRQk','\x20\x20\x20Current\x20CLI\x20version:\x20','↪\x20New\x20version\x20available','\x20\x20\x20Stable\x20version:\x20','72462wabnNI','stableVersion','10KmxFcY','Current\x20version:\x20','33xguOVo','\x1b[33m','4191KxOLiz','currentVersion'];a337_0x24a7=function(){return _0x393f21;};return a337_0x24a7();}import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a337_0x28f546 from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';function a337_0x239f(_0x45de17,_0x28bd17){_0x45de17=_0x45de17-0x68;const _0x24a748=a337_0x24a7();let _0x239f06=_0x24a748[_0x45de17];return _0x239f06;}import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x4a128a){const _0x37ce04=a337_0x239f,_0x4f3572=_0x4a128a[_0x37ce04(0x77)]||_0x37ce04(0x7e);return _0x37ce04(0x8c)+NPM_PACKAGE_NAME+'@'+_0x4f3572;}function getCurrentCliVersion(){const _0x39de62=a337_0x239f;try{const _0x9b415e=fileURLToPath(import.meta.url),_0x4718f3=resolve(dirname(_0x9b415e),'../..'),_0x483880=resolve(_0x4718f3,_0x39de62(0x8e)),_0x2bcc97=JSON[_0x39de62(0x88)](readFileSync(_0x483880,'utf-8'));return _0x2bcc97['version']||_0x39de62(0x89);}catch{return _0x39de62(0x89);}}export async function checkCliVersion(){const _0x3ea75f=a337_0x239f,_0x73a109=getCurrentCliVersion(),_0x26444f=await getCliVersionPolicy(),_0x11aafb=_0x26444f?.[_0x3ea75f(0x77)]||null,_0x45a633=_0x26444f?.['minimumVersion']||null;let _0x3f855f=![],_0x39d752=![];const _0x47de67=a337_0x28f546[_0x3ea75f(0x6b)](_0x73a109);if(_0x47de67&&_0x11aafb)try{const _0x50c913=a337_0x28f546[_0x3ea75f(0x6b)](_0x11aafb);if(_0x50c913)_0x3f855f=a337_0x28f546['lt'](_0x47de67,_0x50c913);}catch{}if(_0x47de67&&_0x45a633)try{const _0x1cdd40=a337_0x28f546[_0x3ea75f(0x6b)](_0x45a633);if(_0x1cdd40)_0x39d752=a337_0x28f546['lt'](_0x47de67,_0x1cdd40);}catch{}return _0x39d752&&(_0x3f855f=!![]),{'currentVersion':_0x73a109,'stableVersion':_0x11aafb,'minimumVersion':_0x45a633,'needsUpgrade':_0x3f855f,'belowMinimum':_0x39d752,'isPreRelease':![],'upgradeMessage':_0x26444f?.[_0x3ea75f(0x71)],'minimumVersionMessage':_0x26444f?.[_0x3ea75f(0x86)]};}export function printCliUpgradeWarning(_0x47afa0){const _0x16a957=a337_0x239f;if(!_0x47afa0[_0x16a957(0x85)]&&!_0x47afa0[_0x16a957(0x83)])return;const _0x3e24e7=_0x16a957(0x81),_0x1aac6e=_0x16a957(0x7b),_0x1d263a='\x1b[0m',_0x45d733=_0x16a957(0x6e),_0x48487f=getCliUpgradeCommand(_0x47afa0);console['log'](),_0x47afa0[_0x16a957(0x83)]?(console[_0x16a957(0x8a)](''+_0x3e24e7+_0x45d733+'↪\x20Critical\x20CLI\x20upgrade\x20required'+_0x1d263a),console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x73)+_0x47afa0['currentVersion']+_0x1d263a),_0x47afa0[_0x16a957(0x84)]&&console[_0x16a957(0x8a)](_0x3e24e7+'\x20\x20\x20Minimum\x20supported:\x20'+_0x47afa0[_0x16a957(0x84)]+_0x1d263a),_0x47afa0[_0x16a957(0x77)]&&_0x47afa0[_0x16a957(0x77)]!==_0x47afa0[_0x16a957(0x84)]&&console['log'](_0x3e24e7+_0x16a957(0x6a)+_0x47afa0[_0x16a957(0x77)]+_0x1d263a),_0x47afa0[_0x16a957(0x86)]&&console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x6c)+_0x47afa0['minimumVersionMessage']+_0x1d263a),console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x82)+_0x48487f+_0x1d263a)):(console[_0x16a957(0x8a)](''+_0x1aac6e+_0x45d733+_0x16a957(0x74)+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0x47afa0[_0x16a957(0x7d)]+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+_0x16a957(0x75)+_0x47afa0[_0x16a957(0x77)]+_0x1d263a),_0x47afa0['upgradeMessage']&&console[_0x16a957(0x8a)](_0x1aac6e+'\x20\x20\x20'+_0x47afa0[_0x16a957(0x71)]+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+_0x16a957(0x82)+_0x48487f+_0x1d263a)),console['log']();}export function assertCliVersionSupported(_0x3aa644){const _0xe11ca=a337_0x239f;if(!_0x3aa644[_0xe11ca(0x83)])return;const _0x365da1=[_0x3aa644['minimumVersionMessage'],_0xe11ca(0x79)+_0x3aa644['currentVersion'],_0x3aa644[_0xe11ca(0x84)]?_0xe11ca(0x70)+_0x3aa644[_0xe11ca(0x84)]:null,'Upgrade\x20command:\x20'+getCliUpgradeCommand(_0x3aa644)][_0xe11ca(0x87)](Boolean)[_0xe11ca(0x8f)]('\x0a');throw CliErrors['validation'](_0xe11ca(0x80),_0x365da1);}
|
|
@@ -7,6 +7,7 @@ export interface CliVersionPolicy {
|
|
|
7
7
|
export interface ProjectTemplateCdnDescriptor {
|
|
8
8
|
version: string;
|
|
9
9
|
name: string;
|
|
10
|
+
url?: string;
|
|
10
11
|
sha256: string;
|
|
11
12
|
size: number;
|
|
12
13
|
}
|
|
@@ -20,6 +21,11 @@ export interface RabetbaseCdnConfig {
|
|
|
20
21
|
};
|
|
21
22
|
[key: string]: unknown;
|
|
22
23
|
}
|
|
24
|
+
export interface ProjectTemplateCdnConfigResolution {
|
|
25
|
+
config: RabetbaseCdnConfig;
|
|
26
|
+
assetBaseUrl: string;
|
|
27
|
+
legacyAssetBaseUrl: string;
|
|
28
|
+
}
|
|
23
29
|
export declare function isBetaCliVersion(version: string): boolean;
|
|
24
30
|
/**
|
|
25
31
|
* Resolve the project template channel without changing the legacy contract:
|
|
@@ -28,6 +34,7 @@ export declare function isBetaCliVersion(version: string): boolean;
|
|
|
28
34
|
*/
|
|
29
35
|
export declare function resolveProjectTemplateDescriptor(config: RabetbaseCdnConfig, cliVersion: string): ProjectTemplateCdnDescriptor | undefined;
|
|
30
36
|
export declare function fetchRabetbaseCdnConfig(): Promise<RabetbaseCdnConfig | null>;
|
|
37
|
+
export declare function fetchProjectTemplateCdnConfig(): Promise<ProjectTemplateCdnConfigResolution | null>;
|
|
31
38
|
export declare function fetchCliVersionPolicy(): Promise<CliVersionPolicy | null>;
|
|
32
39
|
export declare function getRabetbaseCdnConfig(): Promise<RabetbaseCdnConfig | null>;
|
|
33
40
|
export declare function getCliVersionPolicy(): Promise<CliVersionPolicy | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a338_0xe175(_0x34687b,_0x3a1021){_0x34687b=_0x34687b-0xc6;const _0x1a6006=a338_0x1a60();let _0xe1757b=_0x1a6006[_0x34687b];return _0xe1757b;}(function(_0x4a0b2b,_0x4bcbc3){const _0x35d147=a338_0xe175,_0x700a04=_0x4a0b2b();while(!![]){try{const _0x10e8e0=parseInt(_0x35d147(0xd3))/0x1*(parseInt(_0x35d147(0xde))/0x2)+-parseInt(_0x35d147(0xd9))/0x3+-parseInt(_0x35d147(0xca))/0x4*(-parseInt(_0x35d147(0xcf))/0x5)+-parseInt(_0x35d147(0xc7))/0x6+parseInt(_0x35d147(0xda))/0x7*(parseInt(_0x35d147(0xd2))/0x8)+parseInt(_0x35d147(0xcb))/0x9+parseInt(_0x35d147(0xd1))/0xa*(-parseInt(_0x35d147(0xdc))/0xb);if(_0x10e8e0===_0x4bcbc3)break;else _0x700a04['push'](_0x700a04['shift']());}catch(_0x445d99){_0x700a04['push'](_0x700a04['shift']());}}}(a338_0x1a60,0x34fb0));import{getCliVersionPolicyUrl,getProjectTemplateAssetBaseUrl,getProjectTemplateLegacyAssetBaseUrl}from'../constant/cdn.js';import a338_0x136be4 from'semver';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;export function isBetaCliVersion(_0x17fe9b){const _0x4e39db=a338_0xe175,_0x4c0cea=a338_0x136be4[_0x4e39db(0xd7)](_0x17fe9b);return _0x4c0cea?a338_0x136be4['prerelease'](_0x4c0cea)?.[0x0]===_0x4e39db(0xdf):![];}export function resolveProjectTemplateDescriptor(_0x1d2062,_0x155b32){const _0xf16342=a338_0xe175;if(isBetaCliVersion(_0x155b32))return _0x1d2062[_0xf16342(0xdf)]?.['projectTemplate']??_0x1d2062[_0xf16342(0xc9)];return _0x1d2062['projectTemplate'];}function pickString(_0x560692){const _0x38955e=a338_0xe175;return typeof _0x560692===_0x38955e(0xcc)&&_0x560692[_0x38955e(0xc8)]()['length']>0x0?_0x560692[_0x38955e(0xc8)]():null;}function normalizeCliVersionPolicy(_0x20e1fd){const _0x304aab=a338_0xe175;if(!_0x20e1fd||typeof _0x20e1fd!==_0x304aab(0xce))return null;const _0x1249cb=_0x20e1fd,_0x3c0b35=_0x1249cb[_0x304aab(0xd6)]&&typeof _0x1249cb['cli']===_0x304aab(0xce)?_0x1249cb[_0x304aab(0xd6)]:_0x1249cb,_0x38b8ba=pickString(_0x3c0b35['stableVersion'])||pickString(_0x3c0b35[_0x304aab(0xd0)])||pickString(_0x3c0b35['recommendedVersion']),_0x389c9f=pickString(_0x3c0b35[_0x304aab(0xc6)])||pickString(_0x3c0b35['minVersion']);if(!_0x38b8ba&&!_0x389c9f)return null;return{'stableVersion':_0x38b8ba,'minimumVersion':_0x389c9f,'upgradeMessage':pickString(_0x3c0b35[_0x304aab(0xd4)])||undefined,'minimumVersionMessage':pickString(_0x3c0b35['minimumVersionMessage'])||undefined};}function a338_0x1a60(){const _0x57c34b=['3671820aJuQuO','663704BsXGAY','102001kyAvsq','upgradeMessage','now','cli','valid','application/json','215868rHGHaw','35VRvPuP','signal','11VlfkUa','abort','2cPFqIv','beta','minimumVersion','2237706afeCUY','trim','projectTemplate','4552PpKaEA','3063987uTHSLa','string','json','object','755dlOzGE','latestVersion'];a338_0x1a60=function(){return _0x57c34b;};return a338_0x1a60();}async function fetchRabetbaseCdnConfigAt(_0x4f0ce9){const _0x1f6218=a338_0xe175,_0x18e757=new AbortController(),_0x3b6019=setTimeout(()=>_0x18e757[_0x1f6218(0xdd)](),FETCH_TIMEOUT_MS);try{const _0x1a79f9=await fetch(_0x4f0ce9,{'headers':{'Accept':_0x1f6218(0xd8)},'signal':_0x18e757[_0x1f6218(0xdb)]});if(!_0x1a79f9['ok'])return null;const _0x451200=await _0x1a79f9[_0x1f6218(0xcd)]();return _0x451200&&typeof _0x451200==='object'?_0x451200:null;}catch{return null;}finally{clearTimeout(_0x3b6019);}}export async function fetchRabetbaseCdnConfig(){return fetchRabetbaseCdnConfigAt(getCliVersionPolicyUrl());}export async function fetchProjectTemplateCdnConfig(){const _0xd2f01b=await getRabetbaseCdnConfig();return _0xd2f01b?{'config':_0xd2f01b,'assetBaseUrl':getProjectTemplateAssetBaseUrl(),'legacyAssetBaseUrl':getProjectTemplateLegacyAssetBaseUrl()}:null;}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x56e05f=a338_0xe175,_0x25eaf4=Date[_0x56e05f(0xd5)]();if(hasCachedConfig){const _0x2d3620=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x25eaf4-cacheTime<_0x2d3620)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x25eaf4,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
|
+
(function(_0x193453,_0x2d7f97){const _0x26654d=a339_0x1924,_0x306319=_0x193453();while(!![]){try{const _0x19e3a6=parseInt(_0x26654d(0x9c))/0x1*(-parseInt(_0x26654d(0xa2))/0x2)+-parseInt(_0x26654d(0xa1))/0x3+-parseInt(_0x26654d(0xa8))/0x4*(parseInt(_0x26654d(0xa3))/0x5)+-parseInt(_0x26654d(0xa4))/0x6*(-parseInt(_0x26654d(0x9e))/0x7)+-parseInt(_0x26654d(0xa7))/0x8*(-parseInt(_0x26654d(0xa6))/0x9)+parseInt(_0x26654d(0x9f))/0xa*(parseInt(_0x26654d(0xa0))/0xb)+parseInt(_0x26654d(0x9d))/0xc;if(_0x19e3a6===_0x2d7f97)break;else _0x306319['push'](_0x306319['shift']());}catch(_0x229775){_0x306319['push'](_0x306319['shift']());}}}(a339_0x3730,0xac8bd));function a339_0x1924(_0x410aaa,_0x584e9e){_0x410aaa=_0x410aaa-0x9b;const _0x373083=a339_0x3730();let _0x19244e=_0x373083[_0x410aaa];return _0x19244e;}import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a339_0x3ce79d,getMultiAppConfigs as a339_0x55d139,getTemplateBaseUrl as a339_0x30cbce}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';export function readConfig(_0x3b5aa8){const _0x3a5f83=a339_0x1924,_0x524d18=readRawConfig(_0x3b5aa8);return _0x524d18['env']&&typeof _0x524d18[_0x3a5f83(0xa5)]===_0x3a5f83(0x9b)&&initEnv(_0x524d18['env']),_0x524d18;}export function getConfigAppCode(){return a339_0x3ce79d();}function a339_0x3730(){const _0x30ce4b=['7cioypt','183000wTuaEx','275nuoZfz','3851490akrywx','2olwIwY','5096335AUDRsO','2335314wANghJ','env','250308fSKFIl','152CtFygg','4aYmshC','string','1321399StHCmU','35473176JgMmmj'];a339_0x3730=function(){return _0x30ce4b;};return a339_0x3730();}export function getMultiAppConfigs(_0xba2ccd='project'){return a339_0x55d139(_0xba2ccd);}export function getTemplateBaseUrl(){return a339_0x30cbce();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2770b3,_0x438322){const _0x52b027=a340_0xeb69,_0x8340ed=_0x2770b3();while(!![]){try{const _0x213ee0=parseInt(_0x52b027(0x198))/0x1+parseInt(_0x52b027(0x194))/0x2+-parseInt(_0x52b027(0x191))/0x3+parseInt(_0x52b027(0x190))/0x4*(parseInt(_0x52b027(0x195))/0x5)+parseInt(_0x52b027(0x18f))/0x6*(parseInt(_0x52b027(0x18c))/0x7)+parseInt(_0x52b027(0x196))/0x8*(-parseInt(_0x52b027(0x18d))/0x9)+parseInt(_0x52b027(0x197))/0xa*(-parseInt(_0x52b027(0x18e))/0xb);if(_0x213ee0===_0x438322)break;else _0x8340ed['push'](_0x8340ed['shift']());}catch(_0x4735ef){_0x8340ed['push'](_0x8340ed['shift']());}}}(a340_0x3370,0x6a036));function a340_0x3370(){const _0x24fb84=['22UcrILt','3291420MBEyrm','11924axmvoF','1306161PYgUWf','object','number','455426DiuyvU','485ydydRb','48304vKpODu','1194880kiRRza','157875luTQpw','trim','7GhrFxv','171UKAhna'];a340_0x3370=function(){return _0x24fb84;};return a340_0x3370();}function a340_0xeb69(_0x47e56d,_0x354a26){_0x47e56d=_0x47e56d-0x18b;const _0x3370fb=a340_0x3370();let _0xeb69ce=_0x3370fb[_0x47e56d];return _0xeb69ce;}function toFiniteNumber(_0x4366b4){const _0x11b2db=a340_0xeb69;if(typeof _0x4366b4===_0x11b2db(0x193)&&Number['isFinite'](_0x4366b4))return _0x4366b4;if(typeof _0x4366b4==='string'){const _0x4e2df4=_0x4366b4[_0x11b2db(0x18b)]();if(!_0x4e2df4)return undefined;const _0x5c62aa=Number(_0x4e2df4);if(Number['isFinite'](_0x5c62aa))return _0x5c62aa;}return undefined;}export function normalizeEntityWithIdResponse(_0x1e8b67){const _0x154af7=a340_0xeb69,_0x21f5c8=toFiniteNumber(_0x1e8b67);if(_0x21f5c8!==undefined)return{'id':_0x21f5c8,'entity':{'id':_0x21f5c8}};if(!_0x1e8b67||typeof _0x1e8b67!==_0x154af7(0x192))return{'id':undefined,'entity':{}};const _0x4c6b87={..._0x1e8b67},_0x1ceed5=toFiniteNumber(_0x4c6b87['id']);return _0x1ceed5!==undefined&&(_0x4c6b87['id']=_0x1ceed5),{'id':_0x1ceed5,'entity':_0x4c6b87};}
|
package/lib/utils/file-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x51774d,_0x459e1c){const _0x185b96=a341_0x25c5,_0x154b54=_0x51774d();while(!![]){try{const _0x3fd25e=-parseInt(_0x185b96(0x17c))/0x1+parseInt(_0x185b96(0x174))/0x2+parseInt(_0x185b96(0x17a))/0x3*(-parseInt(_0x185b96(0x178))/0x4)+-parseInt(_0x185b96(0x171))/0x5+-parseInt(_0x185b96(0x179))/0x6*(-parseInt(_0x185b96(0x177))/0x7)+parseInt(_0x185b96(0x17b))/0x8*(-parseInt(_0x185b96(0x172))/0x9)+-parseInt(_0x185b96(0x175))/0xa*(-parseInt(_0x185b96(0x176))/0xb);if(_0x3fd25e===_0x459e1c)break;else _0x154b54['push'](_0x154b54['shift']());}catch(_0x535e2b){_0x154b54['push'](_0x154b54['shift']());}}}(a341_0xd8c5,0x6fa8d));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x557f74,_0x2ebb1b){const _0x1a0e5c=a341_0x25c5,_0xf4f7a1=statSync(_0x557f74);if(_0xf4f7a1[_0x1a0e5c(0x173)]()){!existsSync(_0x2ebb1b)&&mkdirSync(_0x2ebb1b,{'recursive':!![]});const _0x3619ec=readdirSync(_0x557f74);for(const _0x7cf7fe of _0x3619ec){await copyDir(join(_0x557f74,_0x7cf7fe),join(_0x2ebb1b,_0x7cf7fe));}}else copyFileSync(_0x557f74,_0x2ebb1b);}function a341_0xd8c5(){const _0x1f3922=['11OPgPyh','1855jiKqWO','2080MpyXBQ','732yLCwXA','516XqUdSF','432uYiXGu','795126QtfUqP','1216490oUSULC','47655ZhojtP','isDirectory','158944mHXAvr','17593490UBrqMF'];a341_0xd8c5=function(){return _0x1f3922;};return a341_0xd8c5();}export function ensureDir(_0x2b6f17){!existsSync(_0x2b6f17)&&mkdirSync(_0x2b6f17,{'recursive':!![]});}function a341_0x25c5(_0x29f827,_0x52ba87){_0x29f827=_0x29f827-0x171;const _0xd8c5e0=a341_0xd8c5();let _0x25c536=_0xd8c5e0[_0x29f827];return _0x25c536;}export function pathExists(_0x2c5a47){return existsSync(_0x2c5a47);}
|
package/lib/utils/guides-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a342_0x2b4e90=a342_0xacad;(function(_0xb54a87,_0x21a66a){const _0x7e1089=a342_0xacad,_0x12d45a=_0xb54a87();while(!![]){try{const _0x36baf5=-parseInt(_0x7e1089(0x1ed))/0x1+parseInt(_0x7e1089(0x1d9))/0x2*(-parseInt(_0x7e1089(0x1e3))/0x3)+-parseInt(_0x7e1089(0x1d8))/0x4+parseInt(_0x7e1089(0x1ec))/0x5*(parseInt(_0x7e1089(0x1e2))/0x6)+-parseInt(_0x7e1089(0x1e7))/0x7+-parseInt(_0x7e1089(0x1e5))/0x8+parseInt(_0x7e1089(0x1ea))/0x9*(parseInt(_0x7e1089(0x1f3))/0xa);if(_0x36baf5===_0x21a66a)break;else _0x12d45a['push'](_0x12d45a['shift']());}catch(_0x7c2ad6){_0x12d45a['push'](_0x12d45a['shift']());}}}(a342_0x385d,0xba1b6));function a342_0xacad(_0x5a9c89,_0x5c79ca){_0x5a9c89=_0x5a9c89-0x1cf;const _0x385d1f=a342_0x385d();let _0xacadba=_0x385d1f[_0x5a9c89];return _0xacadba;}import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';function a342_0x385d(){const _0x340cab=['push','json','lastUpdated','.md','CDN\x20data\x20is\x20missing\x20skillTemplate','replace','statusText','12XdZTbW','33ykioJP','.lovrabet/skill/guides','10263000AwyhGH','guides','4006639kyhLHd','utf-8','status','26487pUrQOK','join','1331060JTwizR','713041muHVEW','\x0a\x0a>更新时间:','application/json','CDN\x20returned\x20invalid\x20data','map','trimEnd','17870KyphOV','title','skillTemplate','extendContent','length','entries','cache','.lovrabet','/skills/guides.json','CDN\x20request\x20failed:\x20','4983584KvUUKB','220924jHuktS','keys'];a342_0x385d=function(){return _0x340cab;};return a342_0x385d();}import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0xefba2e=a342_0xacad,_0x583f3a=getTemplateBaseUrl();return _0x583f3a+_0xefba2e(0x1d6);}const CACHE_DIR=join(homedir(),a342_0x2b4e90(0x1d5),a342_0x2b4e90(0x1d4));export async function fetchGuidesFromCDN(){const _0x408d0f=a342_0x2b4e90,_0x78eb07=getGuidesCdnUrl(),_0x17c350=await fetch(_0x78eb07,{'headers':{'Accept':_0x408d0f(0x1ef)}});if(!_0x17c350['ok'])throw new Error(_0x408d0f(0x1d7)+_0x17c350[_0x408d0f(0x1e9)]+'\x20'+_0x17c350[_0x408d0f(0x1e1)]);const _0x120f52=await _0x17c350[_0x408d0f(0x1dc)]();if(!_0x120f52[_0x408d0f(0x1e6)]||typeof _0x120f52[_0x408d0f(0x1e6)]!=='object')throw new Error(_0x408d0f(0x1f0));return _0x120f52;}export function writeGuidesToProject(_0x9634e,_0x1cda11,_0x1a12b5=a342_0x2b4e90(0x1e4),_0x4889bd){const _0x47f38b=a342_0x2b4e90,_0x1553c7=join(_0x1cda11,_0x1a12b5);mkdirSync(_0x1553c7,{'recursive':!![]});for(const [_0x379dea,_0x41f29f]of Object['entries'](_0x9634e['guides'])){let _0x55eced=_0x41f29f['content'];_0x41f29f[_0x47f38b(0x1dd)]&&(_0x55eced=appendUpdateTime(_0x55eced,_0x41f29f[_0x47f38b(0x1dd)])),writeFileSync(join(_0x1553c7,_0x379dea+_0x47f38b(0x1de)),_0x55eced,_0x47f38b(0x1e8));}}export function appendUpdateTime(_0x4be6e4,_0x544d8a){const _0x264b38=a342_0x2b4e90;return _0x4be6e4=_0x4be6e4[_0x264b38(0x1e0)](/\n*>更新时间:.*$/m,''),_0x4be6e4[_0x264b38(0x1f2)]()+(_0x264b38(0x1ee)+_0x544d8a);}export function getSkillTemplate(_0x339930){const _0x313d42=a342_0x2b4e90;return _0x339930[_0x313d42(0x1d0)]?.['content']||'';}export function appendExtendContents(_0x4bb115,_0x4976e8,_0x16fd4d){const _0x168fe8=a342_0x2b4e90,_0x4da592=[];for(const [,_0x5b1762]of Object[_0x168fe8(0x1d3)](_0x4976e8[_0x168fe8(0x1e6)])){_0x5b1762[_0x168fe8(0x1d1)]&&_0x4da592[_0x168fe8(0x1db)](_0x5b1762[_0x168fe8(0x1d1)]['trimEnd']());}if(_0x4da592[_0x168fe8(0x1d2)]===0x0)return _0x4bb115;return _0x4bb115[_0x168fe8(0x1f2)]()+'\x0a\x0a'+_0x4da592[_0x168fe8(0x1eb)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x4fcc5c,_0x5961ff,_0x4fa174){const _0x3b4363=a342_0x2b4e90,_0x2b570c=getSkillTemplate(_0x4fcc5c);if(!_0x2b570c)throw new Error(_0x3b4363(0x1df));const _0x57889d=dirname(_0x5961ff);mkdirSync(_0x57889d,{'recursive':!![]});let _0x42e046=_0x2b570c[_0x3b4363(0x1e0)](/\{\{IDE_NAME\}\}/g,_0x4fa174);_0x42e046=appendExtendContents(_0x42e046,_0x4fcc5c),_0x4fcc5c[_0x3b4363(0x1d0)][_0x3b4363(0x1dd)]&&(_0x42e046=appendUpdateTime(_0x42e046,_0x4fcc5c[_0x3b4363(0x1d0)][_0x3b4363(0x1dd)])),writeFileSync(_0x5961ff,_0x42e046,_0x3b4363(0x1e8));}export async function installGuides(_0x1893c1){const _0x45ff29=a342_0x2b4e90,_0x1a8750=await fetchGuidesFromCDN();return writeGuidesToProject(_0x1a8750,_0x1893c1),Object[_0x45ff29(0x1da)](_0x1a8750[_0x45ff29(0x1e6)])[_0x45ff29(0x1d2)];}export function getGuidesSummary(_0x4e68ab){const _0x245239=a342_0x2b4e90;return Object[_0x245239(0x1d3)](_0x4e68ab[_0x245239(0x1e6)])[_0x245239(0x1f1)](([_0x137736,_0x39f902])=>({'key':_0x137736,'title':_0x39f902[_0x245239(0x1cf)],'path':_0x39f902['path']}));}
|
package/lib/utils/http-client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a343_0x2a1a(){const _0x3f619f=['name','\x20in\x20','abort','TypeError','log','172182cqRRKv','status','statusText','71796MdvTqg','application/json','7966742SGsKHY','fetch','includes','1392960jYdouj','ENOTFOUND','json','text','363873LbXZqe','url','get','8OsaUJg','content-type','474035bEmbQc','639876gSvITR','ECONNRESET','headers','message'];a343_0x2a1a=function(){return _0x3f619f;};return a343_0x2a1a();}(function(_0xfb60ca,_0x1223aa){const _0xf8897f=a343_0x1758,_0x43893e=_0xfb60ca();while(!![]){try{const _0x4370e6=-parseInt(_0xf8897f(0x125))/0x1+-parseInt(_0xf8897f(0x12b))/0x2+-parseInt(_0xf8897f(0x11c))/0x3+-parseInt(_0xf8897f(0x121))/0x4+parseInt(_0xf8897f(0x12a))/0x5+parseInt(_0xf8897f(0x134))/0x6+parseInt(_0xf8897f(0x11e))/0x7*(parseInt(_0xf8897f(0x128))/0x8);if(_0x4370e6===_0x1223aa)break;else _0x43893e['push'](_0x43893e['shift']());}catch(_0x61159e){_0x43893e['push'](_0x43893e['shift']());}}}(a343_0x2a1a,0x3233b));export async function httpRequest(_0x4ca2aa,_0x3bcaac={}){const _0x3d2f74=a343_0x1758,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x3bcaac;let _0x334b12=null;for(let _0x4c12a1=0x0;_0x4c12a1<=retries;_0x4c12a1++){try{const _0x195fad=new AbortController(),_0x1c65e0=setTimeout(()=>_0x195fad[_0x3d2f74(0x131)](),timeout),_0x2801ba=await fetch(_0x4ca2aa,{'headers':headers,'signal':_0x195fad['signal']});clearTimeout(_0x1c65e0);let _0x348bdf;const _0xe4ace=_0x2801ba[_0x3d2f74(0x12d)][_0x3d2f74(0x127)](_0x3d2f74(0x129));return _0xe4ace?.[_0x3d2f74(0x120)](_0x3d2f74(0x11d))?_0x348bdf=await _0x2801ba[_0x3d2f74(0x123)]():_0x348bdf=await _0x2801ba[_0x3d2f74(0x124)](),{'ok':_0x2801ba['ok'],'status':_0x2801ba[_0x3d2f74(0x11a)],'statusText':_0x2801ba[_0x3d2f74(0x11b)],'data':_0x348bdf,'headers':_0x2801ba[_0x3d2f74(0x12d)],'url':_0x2801ba[_0x3d2f74(0x126)],'text':()=>_0x2801ba[_0x3d2f74(0x124)]()};}catch(_0x409ed5){_0x334b12=_0x409ed5 instanceof Error?_0x409ed5:new Error(String(_0x409ed5));if(_0x4c12a1===retries)break;if(shouldRetry(_0x409ed5)){console[_0x3d2f74(0x133)]('*\x20Request\x20failed;\x20retry\x20'+(_0x4c12a1+0x1)+_0x3d2f74(0x130)+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0x334b12||new Error('Request\x20failed');}function shouldRetry(_0x43a2f9){const _0x2dadbf=a343_0x1758;if(_0x43a2f9 instanceof Error){if(_0x43a2f9[_0x2dadbf(0x12f)]==='AbortError')return![];if(_0x43a2f9[_0x2dadbf(0x12f)]===_0x2dadbf(0x132)&&_0x43a2f9[_0x2dadbf(0x12e)][_0x2dadbf(0x120)](_0x2dadbf(0x11f)))return!![];if(_0x43a2f9[_0x2dadbf(0x12e)]['includes'](_0x2dadbf(0x12c)))return!![];if(_0x43a2f9[_0x2dadbf(0x12e)][_0x2dadbf(0x120)](_0x2dadbf(0x122)))return![];}return![];}function a343_0x1758(_0x4131b0,_0x18321a){_0x4131b0=_0x4131b0-0x11a;const _0x2a1a97=a343_0x2a1a();let _0x17587d=_0x2a1a97[_0x4131b0];return _0x17587d;}function sleep(_0xada532){return new Promise(_0xce0951=>setTimeout(_0xce0951,_0xada532));}export function validateUrl(_0x41fc7c){try{return new URL(_0x41fc7c),!![];}catch{return![];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2a6e40,_0x2dee29){const _0x4e3e09=a344_0x340f,_0x2a2e69=_0x2a6e40();while(!![]){try{const _0x2c976a=-parseInt(_0x4e3e09(0x191))/0x1+parseInt(_0x4e3e09(0x190))/0x2*(-parseInt(_0x4e3e09(0x198))/0x3)+parseInt(_0x4e3e09(0x194))/0x4*(parseInt(_0x4e3e09(0x18c))/0x5)+-parseInt(_0x4e3e09(0x18d))/0x6*(-parseInt(_0x4e3e09(0x196))/0x7)+parseInt(_0x4e3e09(0x193))/0x8+-parseInt(_0x4e3e09(0x192))/0x9*(parseInt(_0x4e3e09(0x19a))/0xa)+-parseInt(_0x4e3e09(0x197))/0xb*(-parseInt(_0x4e3e09(0x199))/0xc);if(_0x2c976a===_0x2dee29)break;else _0x2a2e69['push'](_0x2a2e69['shift']());}catch(_0xf13ea9){_0x2a2e69['push'](_0x2a2e69['shift']());}}}(a344_0x17c0,0x96f85));function a344_0x17c0(){const _0x56b039=['406040dXhxRG','495LXETwx','7626136Ucjczn','327268yFQQmw','stdin','56DrPIQD','979TSHhuV','3gzqvFs','42132XPHbml','52090qywLvO','true','isTTY','5EGRfSq','795720HVfuSW','isRaw','setRawMode','2195230fHYPgV'];a344_0x17c0=function(){return _0x56b039;};return a344_0x17c0();}function env(_0x37b5d7){return process.env[`RABETBASE_${_0x37b5d7}`]||process.env[`LOVRABET_${_0x37b5d7}`]||undefined;}export function isNonInteractive(_0x31604c){const _0x2175b0=a344_0x340f;return!!(_0x31604c['nonInteractive']||_0x31604c['ci']||env('CI')===_0x2175b0(0x19b)||process.env.CI===_0x2175b0(0x19b)||!process['stdout'][_0x2175b0(0x19c)]||!isStdinRawModeSupported());}function a344_0x340f(_0x24390d,_0x35bc46){_0x24390d=_0x24390d-0x18c;const _0x17c02d=a344_0x17c0();let _0x340fd8=_0x17c02d[_0x24390d];return _0x340fd8;}function isStdinRawModeSupported(){const _0x31d8e6=a344_0x340f;if(!process[_0x31d8e6(0x195)][_0x31d8e6(0x19c)])return![];try{const _0x4524a7=process[_0x31d8e6(0x195)][_0x31d8e6(0x18e)];return process[_0x31d8e6(0x195)][_0x31d8e6(0x18f)](!![]),process[_0x31d8e6(0x195)][_0x31d8e6(0x18f)](_0x4524a7??![]),!![];}catch{return![];}}
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a345_0x10e0e5=a345_0xc334;function a345_0xc334(_0x20e871,_0x1f45df){_0x20e871=_0x20e871-0x15e;const _0x27df78=a345_0x27df();let _0xc3348a=_0x27df78[_0x20e871];return _0xc3348a;}(function(_0x2401c7,_0x35e2d2){const _0xfbd7aa=a345_0xc334,_0x28164f=_0x2401c7();while(!![]){try{const _0x339f18=parseInt(_0xfbd7aa(0x165))/0x1*(-parseInt(_0xfbd7aa(0x162))/0x2)+parseInt(_0xfbd7aa(0x182))/0x3*(parseInt(_0xfbd7aa(0x15f))/0x4)+parseInt(_0xfbd7aa(0x187))/0x5+parseInt(_0xfbd7aa(0x169))/0x6+parseInt(_0xfbd7aa(0x17b))/0x7+parseInt(_0xfbd7aa(0x172))/0x8+-parseInt(_0xfbd7aa(0x163))/0x9;if(_0x339f18===_0x35e2d2)break;else _0x28164f['push'](_0x28164f['shift']());}catch(_0x2ae269){_0x28164f['push'](_0x28164f['shift']());}}}(a345_0x27df,0xe10e8));import a345_0x2305c9 from'winston';import a345_0x482b71 from'node:fs';import a345_0x119fd4 from'node:path';class Logger{[a345_0x10e0e5(0x175)];['logFilePath'];[a345_0x10e0e5(0x17a)]='';constructor(){this['logFilePath']='';}['setRawCommand'](_0x326d9f){const _0x3d86e3=a345_0x10e0e5;this[_0x3d86e3(0x17a)]=_0x326d9f;}[a345_0x10e0e5(0x181)](){const _0x31078e=a345_0x10e0e5,_0x75fafc=a345_0x119fd4[_0x31078e(0x16c)](this['logFilePath']);!a345_0x482b71[_0x31078e(0x183)](_0x75fafc)&&a345_0x482b71[_0x31078e(0x178)](_0x75fafc,{'recursive':!![]});const _0x16bb64=a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x16e)](a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x173)](),a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x160)]({'stack':!![]}),a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x186)](_0x34b611=>{const _0x2fe422=_0x31078e,_0x4b864d={'timestamp':_0x34b611['timestamp']||new Date()['toISOString'](),'level':_0x34b611['level']||_0x2fe422(0x189),'command':_0x34b611[_0x2fe422(0x171)]||_0x2fe422(0x177),'rawCommand':_0x34b611[_0x2fe422(0x18b)]||this[_0x2fe422(0x17a)]||undefined,'message':_0x34b611[_0x2fe422(0x174)]||'','duration':_0x34b611['duration']||undefined,'details':_0x34b611[_0x2fe422(0x17e)]||undefined};return JSON['stringify'](_0x4b864d);}));this['winstonLogger']=a345_0x2305c9[_0x31078e(0x170)]({'level':_0x31078e(0x189),'format':_0x16bb64,'transports':[new a345_0x2305c9['transports'][(_0x31078e(0x192))]({'filename':this[_0x31078e(0x17f)],'level':_0x31078e(0x189)})],'silent':![]}),a345_0x2305c9[_0x31078e(0x161)]({'success':'green','error':_0x31078e(0x179),'warn':_0x31078e(0x164),'info':'blue'});}[a345_0x10e0e5(0x18c)](_0x504ff5){const _0x40e224=a345_0x10e0e5;this[_0x40e224(0x17f)]=a345_0x119fd4[_0x40e224(0x191)](_0x504ff5,_0x40e224(0x185)),this[_0x40e224(0x175)]&&this['winstonLogger'][_0x40e224(0x18f)](),this[_0x40e224(0x181)]();}[a345_0x10e0e5(0x189)](_0x1ed2a2,_0x4c372a,_0x4da0fd){const _0x5ec54e=a345_0x10e0e5;if(!this[_0x5ec54e(0x17f)]||!this['winstonLogger'])return;this[_0x5ec54e(0x175)]['info'](_0x4c372a,{'command':_0x1ed2a2,'details':_0x4da0fd});}[a345_0x10e0e5(0x17d)](_0x163fe6,_0x9731e5,_0x420f31,_0x28d8bd){const _0x246567=a345_0x10e0e5;if(!this[_0x246567(0x17f)]||!this[_0x246567(0x175)])return;this['winstonLogger'][_0x246567(0x180)](_0x246567(0x189),_0x9731e5,{'level':'success','command':_0x163fe6,'duration':_0x420f31,'details':_0x28d8bd});}[a345_0x10e0e5(0x190)](_0x289b36,_0x96ea97,_0x3c2661){const _0x4099db=a345_0x10e0e5;if(!this['logFilePath']||!this[_0x4099db(0x175)])return;this['winstonLogger'][_0x4099db(0x190)](_0x96ea97,{'command':_0x289b36,'details':_0x3c2661});}[a345_0x10e0e5(0x184)](_0xd671c9,_0x3b3ba7,_0x5c87ca){const _0x4d3de7=a345_0x10e0e5;if(!this[_0x4d3de7(0x17f)]||!this[_0x4d3de7(0x175)])return;this[_0x4d3de7(0x175)][_0x4d3de7(0x184)](_0x3b3ba7,{'command':_0xd671c9,'details':_0x5c87ca});}async['logTask'](_0xa2c28d,_0x33d92f,_0x1685d6){const _0xcd5957=a345_0x10e0e5,_0x1248b0=Date[_0xcd5957(0x188)]();this['info'](_0xa2c28d,_0xcd5957(0x18e)+_0x33d92f);try{const _0x498685=await _0x1685d6(),_0x4d53aa=Date['now']()-_0x1248b0;return this[_0xcd5957(0x17d)](_0xa2c28d,'Completed:\x20'+_0x33d92f,_0x4d53aa),_0x498685;}catch(_0x24175f){const _0x3a30b5=Date['now']()-_0x1248b0;this[_0xcd5957(0x190)](_0xa2c28d,_0xcd5957(0x15e)+_0x33d92f,{'error':_0x24175f instanceof Error?_0x24175f[_0xcd5957(0x174)]:String(_0x24175f),'duration':_0x3a30b5});throw _0x24175f;}}[a345_0x10e0e5(0x16d)](){const _0x54d8a2=a345_0x10e0e5;try{if(!a345_0x482b71['existsSync'](this[_0x54d8a2(0x17f)]))return[];const _0x4a4fe2=a345_0x482b71[_0x54d8a2(0x16b)](this[_0x54d8a2(0x17f)],'utf8');return _0x4a4fe2[_0x54d8a2(0x168)]('\x0a')[_0x54d8a2(0x166)](_0x3f1878=>_0x3f1878['trim']())[_0x54d8a2(0x16f)](_0x16b44c=>JSON['parse'](_0x16b44c));}catch(_0x176449){return console[_0x54d8a2(0x184)](_0x54d8a2(0x18a),_0x176449),[];}}[a345_0x10e0e5(0x16a)](){const _0x3c77ce=a345_0x10e0e5;try{a345_0x482b71[_0x3c77ce(0x183)](this['logFilePath'])&&a345_0x482b71['writeFileSync'](this['logFilePath'],'',_0x3c77ce(0x18d));}catch(_0x3991d2){console['warn'](_0x3c77ce(0x17c),_0x3991d2);}}[a345_0x10e0e5(0x176)](){const _0x3babb8=a345_0x10e0e5;return this[_0x3babb8(0x175)];}}export const logger=new Logger();function a345_0x27df(){const _0x3ce053=['Starting:\x20','clear','error','join','File','Failed:\x20','1544oXDOjE','errors','addColors','4yKenJA','12451122LSjzhj','yellow','800948CKAXYI','filter','format','split','8006568nwgNpW','clearLogs','readFileSync','dirname','readLogs','combine','map','createLogger','command','144776scxABJ','timestamp','message','winstonLogger','getWinstonInstance','unknown','mkdirSync','red','currentRawCommand','10870307XpfqMk','Failed\x20to\x20clear\x20logs:','success','details','logFilePath','log','initWinstonLogger','4173HwGqzy','existsSync','warn','.lovrabet.log','printf','2324170fVnZOi','now','info','Failed\x20to\x20read\x20logs:','rawCommand','setLogPath','utf8'];a345_0x27df=function(){return _0x3ce053;};return a345_0x27df();}
|
package/lib/utils/params.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x4e5bb4,_0x3d0f2c){const _0x2b3d6d=a346_0x45ed,_0x4bafb5=_0x4e5bb4();while(!![]){try{const _0x4a37c9=parseInt(_0x2b3d6d(0x124))/0x1+-parseInt(_0x2b3d6d(0x123))/0x2*(-parseInt(_0x2b3d6d(0x122))/0x3)+-parseInt(_0x2b3d6d(0x12b))/0x4*(-parseInt(_0x2b3d6d(0x125))/0x5)+-parseInt(_0x2b3d6d(0x128))/0x6+-parseInt(_0x2b3d6d(0x12c))/0x7*(parseInt(_0x2b3d6d(0x12f))/0x8)+parseInt(_0x2b3d6d(0x12a))/0x9+parseInt(_0x2b3d6d(0x121))/0xa*(parseInt(_0x2b3d6d(0x126))/0xb);if(_0x4a37c9===_0x3d0f2c)break;else _0x4bafb5['push'](_0x4bafb5['shift']());}catch(_0x3258e4){_0x4bafb5['push'](_0x4bafb5['shift']());}}}(a346_0x3ba2,0x19f77));function a346_0x3ba2(){const _0x1fd8de=['Invalid\x20JSON\x20for\x20--params:\x20','19336SJWIfx','validation','518260jToCXC','244293ziXron','2iXejNb','10519EAnzcD','5vyJQuL','11ZpZzdR','object','876108izCvkO','isArray','1398105NasLry','286756wibimK','343GFUIIQ','Example:\x20--params\x20\x27{\x22id\x22:123}\x27'];a346_0x3ba2=function(){return _0x1fd8de;};return a346_0x3ba2();}import{CliErrors}from'../errors.js';function a346_0x45ed(_0x3c633e,_0x2095fc){_0x3c633e=_0x3c633e-0x120;const _0x3ba2b8=a346_0x3ba2();let _0x45ed18=_0x3ba2b8[_0x3c633e];return _0x45ed18;}export function parseJsonParams(_0x488f90){const _0x4148e5=a346_0x45ed;if(!_0x488f90)return undefined;let _0x340acd;try{_0x340acd=JSON['parse'](_0x488f90);}catch{throw CliErrors[_0x4148e5(0x120)](_0x4148e5(0x12e)+_0x488f90);}if(!_0x340acd||typeof _0x340acd!==_0x4148e5(0x127)||Array[_0x4148e5(0x129)](_0x340acd))throw CliErrors[_0x4148e5(0x120)]('--params\x20must\x20be\x20a\x20JSON\x20object',_0x4148e5(0x12d));return _0x340acd;}
|
package/lib/utils/platform.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a347_0x2d22(_0x434e10,_0x36c690){_0x434e10=_0x434e10-0x13d;const _0x2b88de=a347_0x2b88();let _0x2d2238=_0x2b88de[_0x434e10];return _0x2d2238;}const a347_0x50b09c=a347_0x2d22;function a347_0x2b88(){const _0x152339=['.cmd','140hUAjVE','6835ewKCVC','10510FYBoXj','win32','7XykNJz','35736Gojymd','6292wnjaod','2251392gthofc','176WzTIyN','4039065qgfMMf','2180730NkgQUa','35025OoaMbw','platform'];a347_0x2b88=function(){return _0x152339;};return a347_0x2b88();}(function(_0x103455,_0x430c12){const _0x2fa376=a347_0x2d22,_0x2e3fcd=_0x103455();while(!![]){try{const _0x2124e4=-parseInt(_0x2fa376(0x145))/0x1*(parseInt(_0x2fa376(0x144))/0x2)+parseInt(_0x2fa376(0x141))/0x3*(parseInt(_0x2fa376(0x13e))/0x4)+-parseInt(_0x2fa376(0x140))/0x5+-parseInt(_0x2fa376(0x13d))/0x6+parseInt(_0x2fa376(0x148))/0x7*(-parseInt(_0x2fa376(0x149))/0x8)+parseInt(_0x2fa376(0x13f))/0x9+parseInt(_0x2fa376(0x146))/0xa*(parseInt(_0x2fa376(0x14a))/0xb);if(_0x2124e4===_0x430c12)break;else _0x2e3fcd['push'](_0x2e3fcd['shift']());}catch(_0x5c2f93){_0x2e3fcd['push'](_0x2e3fcd['shift']());}}}(a347_0x2b88,0x41c32));export const isWindows=process[a347_0x50b09c(0x142)]===a347_0x50b09c(0x147);export function resolveNpmBin(_0x3f46ca){const _0x9f060b=a347_0x50b09c;return isWindows?_0x3f46ca+_0x9f060b(0x143):_0x3f46ca;}
|
package/lib/utils/sleep.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export function sleep(
|
|
1
|
+
export function sleep(_0x393292){return new Promise(_0x7802f=>setTimeout(_0x7802f,_0x393292));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a349_0x4f82ed=a349_0x3e0f;(function(_0x3210ea,_0x4bdd0a){const _0x3f5191=a349_0x3e0f,_0xa3ce24=_0x3210ea();while(!![]){try{const _0x4fe6ba=parseInt(_0x3f5191(0x87))/0x1+-parseInt(_0x3f5191(0x73))/0x2+parseInt(_0x3f5191(0x8e))/0x3*(-parseInt(_0x3f5191(0x85))/0x4)+-parseInt(_0x3f5191(0xa5))/0x5*(-parseInt(_0x3f5191(0x8b))/0x6)+parseInt(_0x3f5191(0x99))/0x7+parseInt(_0x3f5191(0x81))/0x8+parseInt(_0x3f5191(0x9a))/0x9*(parseInt(_0x3f5191(0x72))/0xa);if(_0x4fe6ba===_0x4bdd0a)break;else _0xa3ce24['push'](_0xa3ce24['shift']());}catch(_0x23e142){_0xa3ce24['push'](_0xa3ce24['shift']());}}}(a349_0x1a9b,0xeece3));import a349_0x59f5a4 from'node:fs';import a349_0x1acca6 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';function a349_0x3e0f(_0x38f10c,_0x1f63e3){_0x38f10c=_0x38f10c-0x66;const _0x1a9ba9=a349_0x1a9b();let _0x3e0fa2=_0x1a9ba9[_0x38f10c];return _0x3e0fa2;}const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a349_0x4f82ed(0x74)](_0x48035d){const _0x28e270=a349_0x4f82ed;return String(_0x48035d)[_0x28e270(0x68)](0x2,'0');}static['formatLocalTimestamp'](_0x4b2e40){const _0x231905=a349_0x4f82ed,_0x232af0=_0x4b2e40[_0x231905(0x94)](),_0x26d276=this[_0x231905(0x74)](_0x4b2e40['getMonth']()+0x1),_0x2dd378=this['pad'](_0x4b2e40[_0x231905(0x88)]()),_0x55dbb3=this[_0x231905(0x74)](_0x4b2e40[_0x231905(0x9d)]()),_0x164971=this[_0x231905(0x74)](_0x4b2e40[_0x231905(0x8d)]()),_0x305815=this['pad'](_0x4b2e40[_0x231905(0x9e)]());return{'createdAt':_0x232af0+'-'+_0x26d276+'-'+_0x2dd378+'\x20'+_0x55dbb3+':'+_0x164971+':'+_0x305815,'createdDate':_0x232af0+'-'+_0x26d276+'-'+_0x2dd378,'createdTime':_0x55dbb3+':'+_0x164971+':'+_0x305815};}static[a349_0x4f82ed(0xa2)](_0xd8a27f){const _0xd3d6fb=a349_0x4f82ed,_0x175333=_0xd8a27f['split']('/')[_0xd3d6fb(0x7b)]()||_0xd8a27f;return _0x175333['split']('-')['map'](_0xfbbaff=>_0xfbbaff['charAt'](0x0)['toUpperCase']()+_0xfbbaff[_0xd3d6fb(0x95)](0x1)[_0xd3d6fb(0x6e)]())[_0xd3d6fb(0x75)]('');}static[a349_0x4f82ed(0xa1)](_0x3c1b40){const _0x297252=a349_0x4f82ed,_0x1a922b=_0x3c1b40[_0x297252(0x80)]('/')[_0x297252(0x7b)]()||_0x3c1b40;return _0x1a922b[_0x297252(0x80)]('-')[_0x297252(0xa4)](_0x5a3e2e=>_0x5a3e2e['charAt'](0x0)[_0x297252(0x92)]()+_0x5a3e2e[_0x297252(0x95)](0x1)[_0x297252(0x6e)]())[_0x297252(0x75)]('\x20');}static[a349_0x4f82ed(0x67)](_0x466ec2,_0x4e90fb,_0x2a3483){const _0x3fa9df=a349_0x4f82ed,_0x2eb42b=this[_0x3fa9df(0xa2)](_0x4e90fb),_0x4a764f=this[_0x3fa9df(0xa1)](_0x4e90fb),{createdAt:_0x385868,createdDate:_0xa15a9c,createdTime:_0x32003a}=this['formatLocalTimestamp'](new Date());let _0x2aacdf=_0x466ec2['replace'](/\{CliVersion\}/g,CLI_VERSION)[_0x3fa9df(0x6c)](/\{ComponentName\}/g,_0x2eb42b)[_0x3fa9df(0x6c)](/\{DisplayTitle\}/g,_0x4a764f)[_0x3fa9df(0x6c)](/\{PageName\}/g,_0x4e90fb)[_0x3fa9df(0x6c)](/\{TemplateName\}/g,_0x2a3483)[_0x3fa9df(0x6c)](/\{CreatedAt\}/g,_0x385868)[_0x3fa9df(0x6c)](/\{CreatedDate\}/g,_0xa15a9c)['replace'](/\{CreatedTime\}/g,_0x32003a);return _0x2aacdf;}static[a349_0x4f82ed(0xa7)](_0x43bd7e,_0x16e64a,_0x3b32bd,_0x119804,_0x3cae24,_0xa45498,_0x538efc,_0xb658cd,_0xadc637){const _0x3fdf0c=a349_0x4f82ed,_0x71e064=new Date(),_0x3e5454=_0x71e064['toISOString'](),_0x32507f=_0x3b32bd[_0x3fdf0c(0xa4)](_0x514129=>{const _0x101aa1=_0x3fdf0c,_0x49f84d=[_0x101aa1(0x69)+_0x514129['datasetCode']+'\x22',_0x101aa1(0xa6)+_0x514129['tableName']+'\x22',_0x101aa1(0x83)+_0x514129['name']+'\x22'];return _0x514129[_0x101aa1(0x7e)]&&_0x49f84d[_0x101aa1(0x86)](_0x101aa1(0x98)+_0x514129[_0x101aa1(0x7e)]+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x49f84d[_0x101aa1(0x75)](',\x20')+_0x101aa1(0x71);})[_0x3fdf0c(0x75)](''),_0x4c906d=_0x119804||_0x3b32bd[0x0]?.[_0x3fdf0c(0x7e)]||_0x3fdf0c(0x78);let _0x193ee0=_0x43bd7e[_0x3fdf0c(0x6c)](/\{AppCode\}/g,_0x16e64a)[_0x3fdf0c(0x6c)](/\{ModelConfigs\}/g,_0x32507f)[_0x3fdf0c(0x6c)](/\{ExampleModelName\}/g,_0x4c906d)[_0x3fdf0c(0x6c)](/\{ApiFileName\}/g,_0x3cae24||_0x3fdf0c(0x89))[_0x3fdf0c(0x6c)](/\{ConfigName\}/g,_0xa45498||'default')[_0x3fdf0c(0x6c)](/\{ClientConfigParam\}/g,_0x538efc||'')[_0x3fdf0c(0x6c)](/\{SdkConfigFileName\}/g,_0xadc637||_0x3fdf0c(0x7a))['replace'](/\{VarPrefix\}/g,_0xb658cd||_0x3fdf0c(0x66))['replace'](/\{CreatedAt\}/g,_0x3e5454);return _0x193ee0;}static async[a349_0x4f82ed(0x6f)](_0x34947a,_0x2b5a61,_0x1d1e60,_0x4ab937,_0xd08d48=!![]){const _0x3f11ab=a349_0x4f82ed,_0x9da85d=Date['now']();try{_0xd08d48&&logger[_0x3f11ab(0x9f)]('template',_0x3f11ab(0x9c),{'templatePath':_0x34947a,'targetPath':_0x2b5a61,'pageName':_0x1d1e60,'templateName':_0x4ab937});await a349_0x59f5a4[_0x3f11ab(0x70)]['mkdir'](_0x2b5a61,{'recursive':!![]}),await this[_0x3f11ab(0x76)](_0x34947a,_0x2b5a61,_0x1d1e60,_0x4ab937);if(_0xd08d48){const _0x3175b6=Date[_0x3f11ab(0x91)]()-_0x9da85d;logger['success'](_0x3f11ab(0x96),_0x3f11ab(0x8c),_0x3175b6,{'pageName':_0x1d1e60,'templateName':_0x4ab937});}}catch(_0x1f6943){if(_0xd08d48){const _0x1dc257=Date[_0x3f11ab(0x91)]()-_0x9da85d;logger[_0x3f11ab(0x7c)]('template',_0x3f11ab(0xa0),{'templatePath':_0x34947a,'targetPath':_0x2b5a61,'pageName':_0x1d1e60,'templateName':_0x4ab937,'error':_0x1f6943 instanceof Error?_0x1f6943[_0x3f11ab(0xa8)]:String(_0x1f6943),'duration':_0x1dc257});}throw _0x1f6943;}}static async['processDirectory'](_0x3b6cf7,_0x7cf0db,_0x1f1e5d,_0x412263){const _0x5a2fc4=a349_0x4f82ed,_0x2e78c2=await a349_0x59f5a4[_0x5a2fc4(0x70)][_0x5a2fc4(0x97)](_0x3b6cf7,{'withFileTypes':!![]});for(const _0x1c6524 of _0x2e78c2){const _0x599f56=a349_0x1acca6[_0x5a2fc4(0x75)](_0x3b6cf7,_0x1c6524[_0x5a2fc4(0x82)]);let _0x329727=a349_0x1acca6[_0x5a2fc4(0x75)](_0x7cf0db,_0x1c6524[_0x5a2fc4(0x82)]);_0x1c6524[_0x5a2fc4(0x82)][_0x5a2fc4(0x90)](_0x5a2fc4(0x7f))&&(_0x329727=a349_0x1acca6[_0x5a2fc4(0x75)](_0x7cf0db,_0x1c6524[_0x5a2fc4(0x82)]['replace'](/\.tpl$/,'')));if(_0x1c6524['isDirectory']())await a349_0x59f5a4['promises']['mkdir'](_0x329727,{'recursive':!![]}),await this[_0x5a2fc4(0x76)](_0x599f56,_0x329727,_0x1f1e5d,_0x412263);else _0x1c6524[_0x5a2fc4(0x8f)]()&&await this['processFile'](_0x599f56,_0x329727,_0x1f1e5d,_0x412263);}}static async[a349_0x4f82ed(0x9b)](_0x45550e,_0x3554ad,_0x28a565,_0x30de2f){const _0x9fcaf=a349_0x4f82ed,_0x37c912=a349_0x1acca6['extname'](_0x45550e)[_0x9fcaf(0x6e)]();_0x45550e[_0x9fcaf(0x90)](_0x9fcaf(0x7f))&&(_0x3554ad=_0x3554ad[_0x9fcaf(0x6c)](/\.tpl$/,''));const _0x433caf=[_0x9fcaf(0x6d),_0x9fcaf(0x84),_0x9fcaf(0x6b),'.js',_0x9fcaf(0x7d),_0x9fcaf(0x8a),_0x9fcaf(0x77),_0x9fcaf(0x79),_0x9fcaf(0x7f)];if(_0x433caf[_0x9fcaf(0x6a)](_0x37c912)||_0x45550e[_0x9fcaf(0x90)](_0x9fcaf(0x7f))){const _0x6229c6=await a349_0x59f5a4[_0x9fcaf(0x70)]['readFile'](_0x45550e,_0x9fcaf(0x93)),_0x9b159d=this['replaceContent'](_0x6229c6,_0x28a565,_0x30de2f);await a349_0x59f5a4[_0x9fcaf(0x70)][_0x9fcaf(0xa3)](_0x3554ad,_0x9b159d,_0x9fcaf(0x93));}else await a349_0x59f5a4[_0x9fcaf(0x70)]['copyFile'](_0x45550e,_0x3554ad);}}function a349_0x1a9b(){const _0x4623e2=['now','toUpperCase','utf8','getFullYear','slice','template','readdir','alias:\x20\x22','3706346HDCUqe','738NeOIXd','processFile','Starting\x20template\x20content\x20replacement','getHours','getSeconds','info','Template\x20content\x20replacement\x20failed','toDisplayTitle','toComponentName','writeFile','map','170srNRlD','tableName:\x20\x22','replaceApiContent','message','LOVRABET','replaceContent','padStart','datasetCode:\x20\x22','includes','.jsx','replace','.tsx','toLowerCase','processTemplate','promises','\x20},','89970vClNeB','2490808dKVFgt','pad','join','processDirectory','.css','YourModel','.scss','sdk-config','pop','error','.json','alias','.tpl','split','6516200riDMXp','name','name:\x20\x22','.ts','72JGamaR','push','186286UNxwKC','getDate','api','.md','11598SztaYC','Template\x20content\x20replacement\x20completed','getMinutes','18369vDhNQV','isFile','endsWith'];a349_0x1a9b=function(){return _0x4623e2;};return a349_0x1a9b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1e47b5,_0x374e3a){const _0x5b9a46=a350_0x2416,_0x1326a2=_0x1e47b5();while(!![]){try{const _0x1dfb9f=parseInt(_0x5b9a46(0x1ea))/0x1+-parseInt(_0x5b9a46(0x1e5))/0x2+-parseInt(_0x5b9a46(0x1fc))/0x3*(parseInt(_0x5b9a46(0x1f9))/0x4)+-parseInt(_0x5b9a46(0x1f0))/0x5*(-parseInt(_0x5b9a46(0x1ed))/0x6)+-parseInt(_0x5b9a46(0x1e7))/0x7+-parseInt(_0x5b9a46(0x1fb))/0x8+-parseInt(_0x5b9a46(0x1fe))/0x9*(-parseInt(_0x5b9a46(0x1f6))/0xa);if(_0x1dfb9f===_0x374e3a)break;else _0x1326a2['push'](_0x1326a2['shift']());}catch(_0x430b65){_0x1326a2['push'](_0x1326a2['shift']());}}}(a350_0x3135,0x30322));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a350_0x167b1c from'semver';function a350_0x3135(){const _0x2f9a8a=['rabetbase-cli','update-check.json','12bjUJza','https://www.npmjs.com/package/','latest','733520aysgjH','number','lastNotifiedAt','/v/','\x20update','.cache','10aCtZuW','toLowerCase','yes','564CuqLyx','gte','1154208QiAMhI','1068FUGLov','valid','5340591RLyRZe','object','now',',\x20run:\x20','\x20available,\x20current\x20','checkedAt','584986RyukLX','lastNotifiedVersion','2536597uEZfVG','trim','true','159939WYPAbp'];a350_0x3135=function(){return _0x2f9a8a;};return a350_0x3135();}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a350_0x2416(_0xca5fc,_0x337606){_0xca5fc=_0xca5fc-0x1e2;const _0x313558=a350_0x3135();let _0x241643=_0x313558[_0xca5fc];return _0x241643;}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 _0x1bc6ea=a350_0x2416,_0x46473a=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x1bc6ea(0x1e8)]()[_0x1bc6ea(0x1f7)]();return _0x46473a==='1'||_0x46473a===_0x1bc6ea(0x1e9)||_0x46473a===_0x1bc6ea(0x1f8);}function cacheRoot(){const _0x3c1189=a350_0x2416;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x3c1189(0x1f5));}export function getUpdateNoticeCachePath(){const _0x4f6663=a350_0x2416;return join(cacheRoot(),_0x4f6663(0x1eb),_0x4f6663(0x1ec));}async function readUpdateNoticeCache(){const _0x19061e=a350_0x2416;try{const _0x1ce412=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x38a165=JSON['parse'](_0x1ce412);if(!_0x38a165||typeof _0x38a165!==_0x19061e(0x1ff))return{};return _0x38a165;}catch{return{};}}async function writeUpdateNoticeCache(_0x127372){try{const _0x206af0=getUpdateNoticeCachePath();await mkdir(dirname(_0x206af0),{'recursive':!![]}),await writeFile(_0x206af0,JSON['stringify'](_0x127372,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x34470a,_0x864308){const _0x351abf=a350_0x2416;return typeof _0x34470a[_0x351abf(0x1e4)]===_0x351abf(0x1f1)&&_0x864308-_0x34470a['checkedAt']<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x2d59ca,_0x2295ec,_0x277ed4){const _0xb415aa=a350_0x2416;return _0x2d59ca[_0xb415aa(0x1e6)]===_0x2295ec&&typeof _0x2d59ca[_0xb415aa(0x1f2)]==='number'&&_0x277ed4-_0x2d59ca['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1db996){const _0x168d65=a350_0x2416;return _0x168d65(0x1ee)+NPM_PACKAGE_NAME+_0x168d65(0x1f3)+_0x1db996;}export async function resolveLatestUpdateNotice(){const _0x4fda3e=a350_0x2416;if(isUpdateNoticeDisabled())return null;try{const _0x5dcfcb=Date[_0x4fda3e(0x200)](),_0x280f8e=getCliVersion(),_0x27a970=await readUpdateNoticeCache();let _0x333e26=isFreshCheck(_0x27a970,_0x5dcfcb)?_0x27a970[_0x4fda3e(0x1ef)]?.[_0x4fda3e(0x1e8)]():undefined;if(!_0x333e26&&!isFreshCheck(_0x27a970,_0x5dcfcb)){const _0x5e8d6a=await getCliVersionPolicy();_0x333e26=_0x5e8d6a?.['stableVersion']?.[_0x4fda3e(0x1e8)]()||undefined,await writeUpdateNoticeCache({..._0x27a970,'checkedAt':_0x5dcfcb,'latest':_0x333e26,'failed':!_0x333e26});}if(!_0x333e26||!a350_0x167b1c[_0x4fda3e(0x1fd)](_0x280f8e)||!a350_0x167b1c['valid'](_0x333e26))return null;if(a350_0x167b1c[_0x4fda3e(0x1fa)](_0x280f8e,_0x333e26))return null;if(isRecentlyNotified(_0x27a970,_0x333e26,_0x5dcfcb))return null;const _0x3fd0e4=CLI_BIN_NAME+_0x4fda3e(0x1f4);return await writeUpdateNoticeCache({..._0x27a970,'checkedAt':isFreshCheck(_0x27a970,_0x5dcfcb)?_0x27a970[_0x4fda3e(0x1e4)]:_0x5dcfcb,'latest':_0x333e26,'failed':![],'lastNotifiedVersion':_0x333e26,'lastNotifiedAt':_0x5dcfcb}),{'command':_0x3fd0e4,'current':_0x280f8e,'latest':_0x333e26,'url':buildNpmVersionUrl(_0x333e26),'message':CLI_BIN_NAME+'\x20'+_0x333e26+_0x4fda3e(0x1e3)+_0x280f8e+_0x4fda3e(0x1e2)+_0x3fd0e4};}catch{return null;}}
|
package/lib/utils/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2a95ff,_0x5f3783){var _0x3622ad=a351_0x44b8,_0x22606c=_0x2a95ff();while(!![]){try{var _0x1b9df9=-parseInt(_0x3622ad(0x13d))/0x1*(-parseInt(_0x3622ad(0x140))/0x2)+parseInt(_0x3622ad(0x13f))/0x3+-parseInt(_0x3622ad(0x143))/0x4+parseInt(_0x3622ad(0x145))/0x5+-parseInt(_0x3622ad(0x142))/0x6*(-parseInt(_0x3622ad(0x141))/0x7)+-parseInt(_0x3622ad(0x144))/0x8*(parseInt(_0x3622ad(0x146))/0x9)+parseInt(_0x3622ad(0x13e))/0xa;if(_0x1b9df9===_0x5f3783)break;else _0x22606c['push'](_0x22606c['shift']());}catch(_0x2367e8){_0x22606c['push'](_0x22606c['shift']());}}}(a351_0x355a,0xb1149));function a351_0x44b8(_0x304148,_0xf80447){_0x304148=_0x304148-0x13d;var _0x355a98=a351_0x355a();var _0x44b87e=_0x355a98[_0x304148];return _0x44b87e;}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}function a351_0x355a(){var _0xaef9da=['961206GFSSnR','3059108qCNOXQ','64YSyWdy','1633645yPuYDm','1434681vgLtMy','95hJTrJn','1913070NcJWvD','2403354FtudDi','27074dYglYP','7jaCKCY'];a351_0x355a=function(){return _0xaef9da;};return a351_0x355a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x55779b,_0x1ad9e1){var _0x28f966=a352_0x38ed,_0x210ba0=_0x55779b();while(!![]){try{var _0x268b41=-parseInt(_0x28f966(0x88))/0x1+-parseInt(_0x28f966(0x8c))/0x2+parseInt(_0x28f966(0x86))/0x3+parseInt(_0x28f966(0x8d))/0x4*(parseInt(_0x28f966(0x89))/0x5)+-parseInt(_0x28f966(0x8e))/0x6*(-parseInt(_0x28f966(0x87))/0x7)+-parseInt(_0x28f966(0x8b))/0x8+parseInt(_0x28f966(0x8a))/0x9;if(_0x268b41===_0x1ad9e1)break;else _0x210ba0['push'](_0x210ba0['shift']());}catch(_0x22ce22){_0x210ba0['push'](_0x210ba0['shift']());}}}(a352_0x12fa,0xa558e));function a352_0x12fa(){var _0x342add=['1224249SWePnE','70EykLJN','910361bzDydF','5jRCUgd','11514510fgaRYn','3430712lPuHES','2245496IztSBh','3683708lqWlHG','318486YfOFoC'];a352_0x12fa=function(){return _0x342add;};return a352_0x12fa();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a352_0x38ed(_0x24f7be,_0x2d02ca){_0x24f7be=_0x24f7be-0x86;var _0x12fa32=a352_0x12fa();var _0x38ed46=_0x12fa32[_0x24f7be];return _0x38ed46;}export async function withActiveCookie(_0xfcbb83,_0x4543e1){setActiveCookie(_0xfcbb83);try{return await _0x4543e1();}finally{clearActiveCookie();}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a353_0x578e(){var _0x178ae3=['14408EnXFbN','200045YhpaMJ','10ZduQMz','10040933hpehEy','37671007HPXsrN','2194917fMabiM','7705122hVJsdx','636618QuQPiI','3762pBLIjg','stderr','36miwTQn','2ksvKkP'];a353_0x578e=function(){return _0x178ae3;};return a353_0x578e();}function a353_0x59ed(_0x88a6f8,_0x13e088){_0x88a6f8=_0x88a6f8-0x1a2;var _0x578e79=a353_0x578e();var _0x59ed15=_0x578e79[_0x88a6f8];return _0x59ed15;}(function(_0x396177,_0x4a84e0){var _0x2b4b8a=a353_0x59ed,_0x46c06f=_0x396177();while(!![]){try{var _0x46c404=-parseInt(_0x2b4b8a(0x1a4))/0x1+-parseInt(_0x2b4b8a(0x1a8))/0x2*(parseInt(_0x2b4b8a(0x1a2))/0x3)+-parseInt(_0x2b4b8a(0x1a7))/0x4*(parseInt(_0x2b4b8a(0x1aa))/0x5)+parseInt(_0x2b4b8a(0x1a3))/0x6+-parseInt(_0x2b4b8a(0x1ac))/0x7+parseInt(_0x2b4b8a(0x1a9))/0x8*(-parseInt(_0x2b4b8a(0x1a5))/0x9)+-parseInt(_0x2b4b8a(0x1ab))/0xa*(-parseInt(_0x2b4b8a(0x1ad))/0xb);if(_0x46c404===_0x4a84e0)break;else _0x46c06f['push'](_0x46c06f['shift']());}catch(_0x504ab7){_0x46c06f['push'](_0x46c06f['shift']());}}}(a353_0x578e,0xc1aa1));export function writeCliSideChannelLine(_0x209f78){var _0x5ee828=a353_0x59ed;process[_0x5ee828(0x1a6)]['write'](_0x209f78+'\x0a');}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovrabet/rabetbase-cli",
|
|
3
|
-
"version": "2.5.3
|
|
3
|
+
"version": "2.5.3",
|
|
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": [
|
|
@@ -45,8 +45,10 @@
|
|
|
45
45
|
"start": "tsc --watch",
|
|
46
46
|
"sync:cdn": "node scripts/sync-cdn-assets.js",
|
|
47
47
|
"sync:cdn:beta": "node scripts/sync-cdn-assets.js --beta",
|
|
48
|
+
"sync:cdn:all": "node scripts/sync-cdn-assets.js --all",
|
|
48
49
|
"check:cdn": "node scripts/sync-cdn-assets.js --check",
|
|
49
50
|
"check:cdn:beta": "node scripts/sync-cdn-assets.js --beta --check",
|
|
51
|
+
"check:cdn:all": "node scripts/sync-cdn-assets.js --all --check",
|
|
50
52
|
"verify:bundled-jq": "node scripts/verify-bundled-jq.mjs",
|
|
51
53
|
"regression:release-smoke": "node scripts/regression-release-smoke.mjs",
|
|
52
54
|
"release:summary:prepare": "node scripts/release-summary-preparation.mjs",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rabetbase
|
|
3
|
-
version: 2.5.3
|
|
3
|
+
version: 2.5.3
|
|
4
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:
|
|
@@ -45,14 +45,14 @@ metadata:
|
|
|
45
45
|
- 表单审批流或独立工作流定义 → 先读 [`approval-flow-development-workflow.md`](guides/approval-flow-development-workflow.md),先确定 `flowType`,再使用 `flow validate/create/update/publish`
|
|
46
46
|
- Instant API 标准数据记录操作 → SDK filter/getOne/create/batchCreate/update/delete;批量更新使用 `update({ id: [...] })`,不存在 `batchUpdate()`
|
|
47
47
|
- 简单聚合且数据集是 DB_TABLE → SDK aggregate;聚合列用 `aggregate[].column`,不要用旧别名 `field`
|
|
48
|
-
-
|
|
48
|
+
- 同库 DB_TABLE 的复杂 JOIN / 数据库函数 → 评估 Custom SQL;跨库查询 → 按 [跨库 BFF 指南](guides/cross-database-bff.md)分别读取并拼接
|
|
49
49
|
- 图表、统计卡片或数据大屏 → 自定义页面 + ECharts;数据层根据查询复杂度选择 Dataset 或 Custom SQL
|
|
50
50
|
- 当前用户、角色、数据范围、外部系统、跨表事务或复杂业务编排 → Backend Function;Backend Function HOOK 可挂 DB_TABLE 或 METADATA,具体 operation 以后端返回为准
|
|
51
51
|
2. **先拿元数据,再写代码**
|
|
52
52
|
- 至少先查 `rabetbase dataset detail --code xxx --format compress`(或 `json`)获取表结构
|
|
53
53
|
- 跨表场景还需查目标表的结构
|
|
54
54
|
- 写入前用 `data.fields[]` 确认真实字段、必填字段、枚举选项;枚举/选择字段写入 `options[].value`,不是展示 `label`
|
|
55
|
-
-
|
|
55
|
+
- 默认关联关系指同库关联关系;同库/跨库按平台数据库连接区分,执行时核对真实连接信息。同库关系用 `rabetbase dataset relations --format compress`(或 `json`)查询,用 `rabetbase dataset relation-audit --format compress` 审计关系事实错误和人工复核项
|
|
56
56
|
- 需要管理不同数据库连接之间的 DB_TABLE 关联时,先读 [跨库关系](references/rabetbase-dataset-cross-relations.md),使用 `dataset cross-relation-list/create/update/delete`;源数据集+字段定位,更新/删除必须唯一匹配,写前 dry-run,写后以跨库 list 回读为准
|
|
57
57
|
- 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
|
|
58
58
|
- **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
|
|
@@ -70,6 +70,7 @@ metadata:
|
|
|
70
70
|
- 先使用 `sql list/detail` 查找可复用的 Custom SQL;没有满足需求的资源时,按照 [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) 与 [`sql-mybatis.md`](guides/sql-mybatis.md) 创建、校验、发布并验证
|
|
71
71
|
- 页面执行已发布的 Custom SQL 时使用 `sqlCode` + `params`;Backend Function 默认使用 `context.client.sql.byName(sqlName).execute({ params })`,`sql.execute({ sqlCode, params })` 仅作兼容路径
|
|
72
72
|
4. **Backend Function 工作流严格分步**
|
|
73
|
+
- 跨数据库连接的业务查询、关联筛选或聚合,先读 [跨库 BFF 查询与拼接](guides/cross-database-bff.md),确认完整键、执行顺序、各端授权和结果完整性
|
|
73
74
|
- 查现有 → 确认字段或通知配置 → 查公共函数 → 本地创建(`bff create`) → 检查状态(`bff status`) → 先预览(`--dry-run`) → 再拉取/推送/删除;运行行为异常时用 `bff logs` 按时间、级别和关键字查询日志
|
|
74
75
|
- `bff pull` / `bff push` 返回 `data.conflicts` 时,逐项报告 `lockKey` 和 `code`,并只在审阅后执行该项 `nextAction`;不得把同步冲突说成失败、自动使用 `--force`,或盲目重试整批脚本
|
|
75
76
|
- 创建会发送消息通知的 Backend Function 时,先读取 [`backend-function.md`](guides/backend-function.md) 的“消息通知扩展”契约,再执行 [`rabetbase notification config-list --type EMAIL`](references/rabetbase-notification-config-list.md) 获取当前应用的 `configCode`;不得猜测渠道、收件人或把密钥写进脚本
|
|
@@ -235,7 +236,7 @@ metadata:
|
|
|
235
236
|
|
|
236
237
|
1. **标准 SDK 接口**(filter/getOne/create 等)— 能用就不写 SQL
|
|
237
238
|
2. **aggregate 聚合接口** — DB_TABLE 的简单分组汇总;METADATA 不默认支持 aggregate;聚合定义使用 `column` 指定列,`field` 仅作为历史兼容别名
|
|
238
|
-
3. **自定义 SQL** — DB_TABLE 的复杂 JOIN
|
|
239
|
+
3. **自定义 SQL** — 同库 DB_TABLE 的复杂 JOIN、数据库函数、跨表统计;跨库查询由 Backend Function 分别读取并拼接,METADATA 不支持 SQL 路径
|
|
239
240
|
4. **Backend Function** — 外部系统调用、跨表事务、复杂业务编排
|
|
240
241
|
|
|
241
242
|
## SDK 核心规则
|
|
@@ -461,7 +462,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
461
462
|
| 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) |
|
|
462
463
|
| Deployment | [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync-all.md)(管理员初始化、回填与恢复) |
|
|
463
464
|
| api commands | [`pull`](references/rabetbase-api-pull.md) / [`list`](references/rabetbase-api-list.md) |
|
|
464
|
-
| 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) / [`
|
|
465
|
+
| 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) / [`exec`](references/rabetbase-sql-exec.md) |
|
|
465
466
|
| bff commands | [`list`](references/rabetbase-bff-list.md) / [`detail`](references/rabetbase-bff-detail.md) / [`logs`](references/rabetbase-bff-logs.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) |
|
|
466
467
|
| file / ocr commands | [`file upload/query-url`](references/rabetbase-file.md) / [`ocr recognize`](references/rabetbase-ocr.md) |
|
|
467
468
|
| codegen commands | [`sdk`](references/rabetbase-codegen-sdk.md) / [`sql`](references/rabetbase-codegen-sql.md) |
|
|
@@ -539,6 +540,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
539
540
|
| 数据接口访问 | 先 detail 再编码、外键/枚举、禁止 N+1、批量与关联查询;验证真实行数据时交接 `lovrabet data`(**`lovrabet` CLI ≥ 2.0**) | [`data-api-guidelines.md`](guides/data-api-guidelines.md) |
|
|
540
541
|
| SQL 创建工作流 | list/detail → pull/create → edit → validate → status → push/delete → exec 全链路 | [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) |
|
|
541
542
|
| Backend Function 创建工作流 | new → status → dry-run → pull/push | [`bff-creation-workflow.md`](guides/bff-creation-workflow.md) |
|
|
543
|
+
| 跨库 BFF 查询与拼接 | 完整键、分库批量读取、分页筛选排序、授权与一致性边界 | [`cross-database-bff.md`](guides/cross-database-bff.md) |
|
|
542
544
|
| 冲突检测与保存 | `blocked`、未保存时的用户沟通、响应结构 | [`conflict-detection.md`](guides/conflict-detection.md) |
|
|
543
545
|
| 质量与最佳实践 | 审查 SQL/Backend Function、命名、高危边界、描述字段 | [`best-practices.md`](guides/best-practices.md) |
|
|
544
546
|
| 数据库连接与分析 | 接入/改连/测连、`traceId` 来源、`db analyze-*` 与 dataset 分工;子命令速查见上文 **「数据库连接(db)」** | [`database-connection-workflow.md`](guides/database-connection-workflow.md) |
|