@lovrabet/rabetbase-cli 2.5.1 → 2.5.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/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 +0 -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/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 +3 -3
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +16 -44
- package/skills/rabetbase.manifest.json +3 -3
- package/lib/config/deployment-sync.d.ts +0 -10
- package/lib/config/deployment-sync.js +0 -1
package/lib/utils/file-utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3888d7,_0x4894b2){const _0x2b2313=a300_0x3aa9,_0x38921c=_0x3888d7();while(!![]){try{const _0x204798=parseInt(_0x2b2313(0x1bf))/0x1+-parseInt(_0x2b2313(0x1c4))/0x2+-parseInt(_0x2b2313(0x1c5))/0x3*(parseInt(_0x2b2313(0x1c2))/0x4)+-parseInt(_0x2b2313(0x1c1))/0x5+-parseInt(_0x2b2313(0x1bb))/0x6*(-parseInt(_0x2b2313(0x1c0))/0x7)+parseInt(_0x2b2313(0x1bd))/0x8*(parseInt(_0x2b2313(0x1be))/0x9)+parseInt(_0x2b2313(0x1c3))/0xa*(parseInt(_0x2b2313(0x1bc))/0xb);if(_0x204798===_0x4894b2)break;else _0x38921c['push'](_0x38921c['shift']());}catch(_0x3b222d){_0x38921c['push'](_0x38921c['shift']());}}}(a300_0x33a1,0x1eaf5));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';function a300_0x3aa9(_0x2070ee,_0x2a2b4a){_0x2070ee=_0x2070ee-0x1bb;const _0x33a1d3=a300_0x33a1();let _0x3aa94a=_0x33a1d3[_0x2070ee];return _0x3aa94a;}import{join}from'node:path';export async function copyDir(_0x59e7ab,_0x229230){const _0x121bd8=statSync(_0x59e7ab);if(_0x121bd8['isDirectory']()){!existsSync(_0x229230)&&mkdirSync(_0x229230,{'recursive':!![]});const _0x5cbfec=readdirSync(_0x59e7ab);for(const _0x49d32b of _0x5cbfec){await copyDir(join(_0x59e7ab,_0x49d32b),join(_0x229230,_0x49d32b));}}else copyFileSync(_0x59e7ab,_0x229230);}export function ensureDir(_0x53a84e){!existsSync(_0x53a84e)&&mkdirSync(_0x53a84e,{'recursive':!![]});}function a300_0x33a1(){const _0x11d725=['64161wxgBcG','1057Whvwog','688140OMafcX','68pvvCXz','76030wXMWqS','320324prdizg','36669CPzfNa','3450KUzoBh','649IUNUqJ','8aDzOFG','285327lmzsEm'];a300_0x33a1=function(){return _0x11d725;};return a300_0x33a1();}export function pathExists(_0x365e53){return existsSync(_0x365e53);}
|
package/lib/utils/guides-cdn.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a301_0x28eddb=a301_0x5e52;(function(_0x151f9b,_0x2d1e8c){const _0xd3e856=a301_0x5e52,_0x127d49=_0x151f9b();while(!![]){try{const _0x499c64=-parseInt(_0xd3e856(0x1ba))/0x1+-parseInt(_0xd3e856(0x1c2))/0x2+parseInt(_0xd3e856(0x1c5))/0x3*(parseInt(_0xd3e856(0x1be))/0x4)+-parseInt(_0xd3e856(0x1b6))/0x5*(-parseInt(_0xd3e856(0x1b0))/0x6)+parseInt(_0xd3e856(0x1c3))/0x7*(-parseInt(_0xd3e856(0x1b7))/0x8)+parseInt(_0xd3e856(0x1cc))/0x9*(-parseInt(_0xd3e856(0x1c7))/0xa)+-parseInt(_0xd3e856(0x1ad))/0xb*(-parseInt(_0xd3e856(0x1ca))/0xc);if(_0x499c64===_0x2d1e8c)break;else _0x127d49['push'](_0x127d49['shift']());}catch(_0x592141){_0x127d49['push'](_0x127d49['shift']());}}}(a301_0x1b95,0x7b2a4));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{homedir}from'node:os';function a301_0x1b95(){const _0xff3fce=['skillTemplate','entries','.lovrabet','34092wbWIXo','.lovrabet/skill/guides','trimEnd','CDN\x20returned\x20invalid\x20data','990850MtXEyh','7jQLNPz','guides','138xmjden','path','10UPkufY','join','push','36kRfGQC','json','2773269hKtbjy','replace','map','8313283HUuZoW','statusText','object','2872434EVDUhF','CDN\x20data\x20is\x20missing\x20skillTemplate','extendContent','CDN\x20request\x20failed:\x20','application/json','content','5WmmRzB','7411400qoEMMQ','utf-8','lastUpdated','903581MzKFoh'];a301_0x1b95=function(){return _0xff3fce;};return a301_0x1b95();}import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x3af5ff=getTemplateBaseUrl();return _0x3af5ff+'/skills/guides.json';}const CACHE_DIR=join(homedir(),a301_0x28eddb(0x1bd),'cache');export async function fetchGuidesFromCDN(){const _0x31767d=a301_0x28eddb,_0x3558b5=getGuidesCdnUrl(),_0x281ed2=await fetch(_0x3558b5,{'headers':{'Accept':_0x31767d(0x1b4)}});if(!_0x281ed2['ok'])throw new Error(_0x31767d(0x1b3)+_0x281ed2['status']+'\x20'+_0x281ed2[_0x31767d(0x1ae)]);const _0x4fd0eb=await _0x281ed2[_0x31767d(0x1cb)]();if(!_0x4fd0eb[_0x31767d(0x1c4)]||typeof _0x4fd0eb[_0x31767d(0x1c4)]!==_0x31767d(0x1af))throw new Error(_0x31767d(0x1c1));return _0x4fd0eb;}export function writeGuidesToProject(_0x8dcbcf,_0x5a0cdc,_0x57b3cf=a301_0x28eddb(0x1bf),_0x1ead1a){const _0x58628e=a301_0x28eddb,_0x4c9896=join(_0x5a0cdc,_0x57b3cf);mkdirSync(_0x4c9896,{'recursive':!![]});for(const [_0x2f787b,_0x316ef8]of Object[_0x58628e(0x1bc)](_0x8dcbcf['guides'])){let _0x1f1d4c=_0x316ef8[_0x58628e(0x1b5)];_0x316ef8['lastUpdated']&&(_0x1f1d4c=appendUpdateTime(_0x1f1d4c,_0x316ef8[_0x58628e(0x1b9)])),writeFileSync(join(_0x4c9896,_0x2f787b+'.md'),_0x1f1d4c,_0x58628e(0x1b8));}}export function appendUpdateTime(_0x3f10c7,_0x1f5293){const _0x5e39f2=a301_0x28eddb;return _0x3f10c7=_0x3f10c7[_0x5e39f2(0x1cd)](/\n*>更新时间:.*$/m,''),_0x3f10c7[_0x5e39f2(0x1c0)]()+('\x0a\x0a>更新时间:'+_0x1f5293);}function a301_0x5e52(_0x401c30,_0x48f827){_0x401c30=_0x401c30-0x1ad;const _0x1b95ee=a301_0x1b95();let _0x5e5232=_0x1b95ee[_0x401c30];return _0x5e5232;}export function getSkillTemplate(_0x445543){const _0x2715cc=a301_0x28eddb;return _0x445543[_0x2715cc(0x1bb)]?.[_0x2715cc(0x1b5)]||'';}export function appendExtendContents(_0x463c71,_0x1e87eb,_0x2f466a){const _0x2a0b2c=a301_0x28eddb,_0x5b4563=[];for(const [,_0x23949d]of Object[_0x2a0b2c(0x1bc)](_0x1e87eb[_0x2a0b2c(0x1c4)])){_0x23949d[_0x2a0b2c(0x1b2)]&&_0x5b4563[_0x2a0b2c(0x1c9)](_0x23949d[_0x2a0b2c(0x1b2)][_0x2a0b2c(0x1c0)]());}if(_0x5b4563['length']===0x0)return _0x463c71;return _0x463c71['trimEnd']()+'\x0a\x0a'+_0x5b4563[_0x2a0b2c(0x1c8)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x4d461f,_0x450d13,_0x590a90){const _0x47caf5=a301_0x28eddb,_0x4b5c33=getSkillTemplate(_0x4d461f);if(!_0x4b5c33)throw new Error(_0x47caf5(0x1b1));const _0x46903f=dirname(_0x450d13);mkdirSync(_0x46903f,{'recursive':!![]});let _0x148734=_0x4b5c33['replace'](/\{\{IDE_NAME\}\}/g,_0x590a90);_0x148734=appendExtendContents(_0x148734,_0x4d461f),_0x4d461f[_0x47caf5(0x1bb)][_0x47caf5(0x1b9)]&&(_0x148734=appendUpdateTime(_0x148734,_0x4d461f['skillTemplate'][_0x47caf5(0x1b9)])),writeFileSync(_0x450d13,_0x148734,_0x47caf5(0x1b8));}export async function installGuides(_0x48875b){const _0x1b5b47=a301_0x28eddb,_0x4b7a37=await fetchGuidesFromCDN();return writeGuidesToProject(_0x4b7a37,_0x48875b),Object['keys'](_0x4b7a37[_0x1b5b47(0x1c4)])['length'];}export function getGuidesSummary(_0x261436){const _0x45bc5b=a301_0x28eddb;return Object[_0x45bc5b(0x1bc)](_0x261436[_0x45bc5b(0x1c4)])[_0x45bc5b(0x1ce)](([_0x331541,_0x12d913])=>({'key':_0x331541,'title':_0x12d913['title'],'path':_0x12d913[_0x45bc5b(0x1c6)]}));}
|
package/lib/utils/http-client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3d0e1c,_0x557103){const _0xeba4bb=a302_0x2be4,_0x22d591=_0x3d0e1c();while(!![]){try{const _0x97175f=-parseInt(_0xeba4bb(0x7f))/0x1+parseInt(_0xeba4bb(0x89))/0x2*(-parseInt(_0xeba4bb(0x74))/0x3)+-parseInt(_0xeba4bb(0x78))/0x4*(-parseInt(_0xeba4bb(0x77))/0x5)+parseInt(_0xeba4bb(0x76))/0x6+-parseInt(_0xeba4bb(0x7b))/0x7+-parseInt(_0xeba4bb(0x7d))/0x8+parseInt(_0xeba4bb(0x83))/0x9;if(_0x97175f===_0x557103)break;else _0x22d591['push'](_0x22d591['shift']());}catch(_0xf5b1cd){_0x22d591['push'](_0x22d591['shift']());}}}(a302_0x1e25,0x6edc4));export async function httpRequest(_0x11fc83,_0xbc178e={}){const _0x1cf52a=a302_0x2be4,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0xbc178e;let _0x2fa353=null;for(let _0x363646=0x0;_0x363646<=retries;_0x363646++){try{const _0x341d49=new AbortController(),_0x4358fe=setTimeout(()=>_0x341d49[_0x1cf52a(0x7e)](),timeout),_0x4b1b82=await fetch(_0x11fc83,{'headers':headers,'signal':_0x341d49['signal']});clearTimeout(_0x4358fe);let _0x4d471b;const _0x26a7cd=_0x4b1b82['headers'][_0x1cf52a(0x75)](_0x1cf52a(0x7c));return _0x26a7cd?.[_0x1cf52a(0x86)](_0x1cf52a(0x85))?_0x4d471b=await _0x4b1b82[_0x1cf52a(0x80)]():_0x4d471b=await _0x4b1b82[_0x1cf52a(0x87)](),{'ok':_0x4b1b82['ok'],'status':_0x4b1b82['status'],'statusText':_0x4b1b82['statusText'],'data':_0x4d471b,'headers':_0x4b1b82[_0x1cf52a(0x88)],'url':_0x4b1b82['url'],'text':()=>_0x4b1b82[_0x1cf52a(0x87)]()};}catch(_0x14f283){_0x2fa353=_0x14f283 instanceof Error?_0x14f283:new Error(String(_0x14f283));if(_0x363646===retries)break;if(shouldRetry(_0x14f283)){console['log'](_0x1cf52a(0x84)+(_0x363646+0x1)+_0x1cf52a(0x82)+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0x2fa353||new Error(_0x1cf52a(0x79));}function a302_0x2be4(_0x3c43b0,_0x4d32be){_0x3c43b0=_0x3c43b0-0x74;const _0x1e2596=a302_0x1e25();let _0x2be474=_0x1e2596[_0x3c43b0];return _0x2be474;}function shouldRetry(_0x179752){const _0x1c99f2=a302_0x2be4;if(_0x179752 instanceof Error){if(_0x179752['name']==='AbortError')return![];if(_0x179752['name']==='TypeError'&&_0x179752[_0x1c99f2(0x81)]['includes'](_0x1c99f2(0x8a)))return!![];if(_0x179752[_0x1c99f2(0x81)][_0x1c99f2(0x86)]('ECONNRESET'))return!![];if(_0x179752['message'][_0x1c99f2(0x86)](_0x1c99f2(0x7a)))return![];}return![];}function sleep(_0x44ba9b){return new Promise(_0x9c5f43=>setTimeout(_0x9c5f43,_0x44ba9b));}function a302_0x1e25(){const _0x56e926=['abort','553109xMGwZY','json','message','\x20in\x20','25273341MzofCf','*\x20Request\x20failed;\x20retry\x20','application/json','includes','text','headers','8PZlJHt','fetch','466869XwJlkm','get','472542RFAjGt','1105KuzAbq','1340AZpDzy','Request\x20failed','ENOTFOUND','6228558fsSRJE','content-type','3531696ksVojd'];a302_0x1e25=function(){return _0x56e926;};return a302_0x1e25();}export function validateUrl(_0x2c7f68){try{return new URL(_0x2c7f68),!![];}catch{return![];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x1f4d6f,_0x2ca792){const _0x27f915=a303_0x1f8c,_0x92f27b=_0x1f4d6f();while(!![]){try{const _0xa61479=-parseInt(_0x27f915(0x1f5))/0x1*(-parseInt(_0x27f915(0x1f6))/0x2)+-parseInt(_0x27f915(0x1fa))/0x3+-parseInt(_0x27f915(0x1fc))/0x4+-parseInt(_0x27f915(0x1fe))/0x5*(parseInt(_0x27f915(0x1f4))/0x6)+-parseInt(_0x27f915(0x201))/0x7+parseInt(_0x27f915(0x1fd))/0x8+parseInt(_0x27f915(0x1f3))/0x9;if(_0xa61479===_0x2ca792)break;else _0x92f27b['push'](_0x92f27b['shift']());}catch(_0xab89e1){_0x92f27b['push'](_0x92f27b['shift']());}}}(a303_0x984e,0x9e69c));function a303_0x984e(){const _0x76bd52=['true','3833592WEivyT','28784223eAwuUi','6ETddVv','1UVZkXP','329858FWwHgK','setRawMode','isRaw','isTTY','1242963oEOIlB','stdin','4113012JBiNUR','1019600LFFoBy','4257680ERacyH','stdout'];a303_0x984e=function(){return _0x76bd52;};return a303_0x984e();}function env(_0xfd8a78){return process.env[`RABETBASE_${_0xfd8a78}`]||process.env[`LOVRABET_${_0xfd8a78}`]||undefined;}function a303_0x1f8c(_0x182da5,_0x2f8036){_0x182da5=_0x182da5-0x1f3;const _0x984ea6=a303_0x984e();let _0x1f8c31=_0x984ea6[_0x182da5];return _0x1f8c31;}export function isNonInteractive(_0x1989b2){const _0x5b62c2=a303_0x1f8c;return!!(_0x1989b2['nonInteractive']||_0x1989b2['ci']||env('CI')===_0x5b62c2(0x200)||process.env.CI===_0x5b62c2(0x200)||!process[_0x5b62c2(0x1ff)][_0x5b62c2(0x1f9)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x13a198=a303_0x1f8c;if(!process[_0x13a198(0x1fb)][_0x13a198(0x1f9)])return![];try{const _0x1fbdd8=process['stdin'][_0x13a198(0x1f8)];return process[_0x13a198(0x1fb)][_0x13a198(0x1f7)](!![]),process['stdin']['setRawMode'](_0x1fbdd8??![]),!![];}catch{return![];}}
|
package/lib/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a304_0x1e3c16=a304_0x34f4;function a304_0x34f4(_0x46a943,_0x4b7b0f){_0x46a943=_0x46a943-0x153;const _0x48cb4d=a304_0x48cb();let _0x34f4a3=_0x48cb4d[_0x46a943];return _0x34f4a3;}(function(_0x58e0ec,_0x33dbdb){const _0x396e71=a304_0x34f4,_0x407daf=_0x58e0ec();while(!![]){try{const _0xc7ab18=parseInt(_0x396e71(0x162))/0x1+parseInt(_0x396e71(0x17c))/0x2*(parseInt(_0x396e71(0x15b))/0x3)+parseInt(_0x396e71(0x15d))/0x4+-parseInt(_0x396e71(0x187))/0x5*(-parseInt(_0x396e71(0x158))/0x6)+-parseInt(_0x396e71(0x165))/0x7+parseInt(_0x396e71(0x16b))/0x8+parseInt(_0x396e71(0x168))/0x9*(-parseInt(_0x396e71(0x180))/0xa);if(_0xc7ab18===_0x33dbdb)break;else _0x407daf['push'](_0x407daf['shift']());}catch(_0x178f7a){_0x407daf['push'](_0x407daf['shift']());}}}(a304_0x48cb,0x85502));function a304_0x48cb(){const _0x382b85=['Failed:\x20','logTask','getWinstonInstance','combine','green','Starting:\x20','5019645EZvpGX','setLogPath','stringify','rawCommand','map','Completed:\x20','File','writeFileSync','6gnXPGh','format','info','2116896qRAJPD','level','1684044sYJMhs','trim','winstonLogger','unknown','details','348099lVQXOd','now','clearLogs','3914617gxxDgP','initWinstonLogger','utf8','21819159bKPvBt','logFilePath','mkdirSync','8407688BAsPCD','error','success','readLogs','existsSync','warn','filter','message','yellow','parse','.lovrabet.log','currentRawCommand','createLogger','addColors','Failed\x20to\x20read\x20logs:','toISOString','printf','2FaTfls','timestamp','dirname','setRawCommand','10onEkCG'];a304_0x48cb=function(){return _0x382b85;};return a304_0x48cb();}import a304_0x333198 from'winston';import a304_0xe04c9d from'node:fs';import a304_0x502012 from'node:path';class Logger{[a304_0x1e3c16(0x15f)];[a304_0x1e3c16(0x169)];[a304_0x1e3c16(0x176)]='';constructor(){const _0x8ae518=a304_0x1e3c16;this[_0x8ae518(0x169)]='';}[a304_0x1e3c16(0x17f)](_0x12b524){this['currentRawCommand']=_0x12b524;}[a304_0x1e3c16(0x166)](){const _0x5b7e94=a304_0x1e3c16,_0x14a0e1=a304_0x502012[_0x5b7e94(0x17e)](this[_0x5b7e94(0x169)]);!a304_0xe04c9d['existsSync'](_0x14a0e1)&&a304_0xe04c9d[_0x5b7e94(0x16a)](_0x14a0e1,{'recursive':!![]});const _0x1edb30=a304_0x333198[_0x5b7e94(0x159)][_0x5b7e94(0x184)](a304_0x333198['format'][_0x5b7e94(0x17d)](),a304_0x333198[_0x5b7e94(0x159)]['errors']({'stack':!![]}),a304_0x333198[_0x5b7e94(0x159)][_0x5b7e94(0x17b)](_0xc70fc2=>{const _0x576da3=_0x5b7e94,_0x2be399={'timestamp':_0xc70fc2['timestamp']||new Date()[_0x576da3(0x17a)](),'level':_0xc70fc2[_0x576da3(0x15c)]||'info','command':_0xc70fc2['command']||_0x576da3(0x160),'rawCommand':_0xc70fc2[_0x576da3(0x153)]||this[_0x576da3(0x176)]||undefined,'message':_0xc70fc2[_0x576da3(0x172)]||'','duration':_0xc70fc2['duration']||undefined,'details':_0xc70fc2[_0x576da3(0x161)]||undefined};return JSON[_0x576da3(0x189)](_0x2be399);}));this[_0x5b7e94(0x15f)]=a304_0x333198[_0x5b7e94(0x177)]({'level':_0x5b7e94(0x15a),'format':_0x1edb30,'transports':[new a304_0x333198['transports'][(_0x5b7e94(0x156))]({'filename':this[_0x5b7e94(0x169)],'level':_0x5b7e94(0x15a)})],'silent':![]}),a304_0x333198[_0x5b7e94(0x178)]({'success':_0x5b7e94(0x185),'error':'red','warn':_0x5b7e94(0x173),'info':'blue'});}[a304_0x1e3c16(0x188)](_0x10b811){const _0x457dfa=a304_0x1e3c16;this['logFilePath']=a304_0x502012['join'](_0x10b811,_0x457dfa(0x175)),this['winstonLogger']&&this[_0x457dfa(0x15f)]['clear'](),this[_0x457dfa(0x166)]();}['info'](_0x276e65,_0x1c4bc8,_0x991239){const _0xc4eb6a=a304_0x1e3c16;if(!this[_0xc4eb6a(0x169)]||!this[_0xc4eb6a(0x15f)])return;this['winstonLogger'][_0xc4eb6a(0x15a)](_0x1c4bc8,{'command':_0x276e65,'details':_0x991239});}[a304_0x1e3c16(0x16d)](_0x19baca,_0x1ef224,_0x3a7af8,_0x33c02c){const _0x5b8355=a304_0x1e3c16;if(!this[_0x5b8355(0x169)]||!this['winstonLogger'])return;this[_0x5b8355(0x15f)]['log']('info',_0x1ef224,{'level':_0x5b8355(0x16d),'command':_0x19baca,'duration':_0x3a7af8,'details':_0x33c02c});}[a304_0x1e3c16(0x16c)](_0x3a6350,_0x2aa46a,_0x32ed81){const _0x2dfbc4=a304_0x1e3c16;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x2dfbc4(0x15f)][_0x2dfbc4(0x16c)](_0x2aa46a,{'command':_0x3a6350,'details':_0x32ed81});}[a304_0x1e3c16(0x170)](_0x8f95b3,_0x574687,_0x2560d7){const _0xc7cde1=a304_0x1e3c16;if(!this[_0xc7cde1(0x169)]||!this[_0xc7cde1(0x15f)])return;this['winstonLogger'][_0xc7cde1(0x170)](_0x574687,{'command':_0x8f95b3,'details':_0x2560d7});}async[a304_0x1e3c16(0x182)](_0x38068c,_0xf85942,_0x3cbf32){const _0x307824=a304_0x1e3c16,_0x2a8c3a=Date[_0x307824(0x163)]();this[_0x307824(0x15a)](_0x38068c,_0x307824(0x186)+_0xf85942);try{const _0xca375c=await _0x3cbf32(),_0x46b8f1=Date[_0x307824(0x163)]()-_0x2a8c3a;return this[_0x307824(0x16d)](_0x38068c,_0x307824(0x155)+_0xf85942,_0x46b8f1),_0xca375c;}catch(_0x2e2ee7){const _0x26bb9e=Date[_0x307824(0x163)]()-_0x2a8c3a;this[_0x307824(0x16c)](_0x38068c,_0x307824(0x181)+_0xf85942,{'error':_0x2e2ee7 instanceof Error?_0x2e2ee7[_0x307824(0x172)]:String(_0x2e2ee7),'duration':_0x26bb9e});throw _0x2e2ee7;}}[a304_0x1e3c16(0x16e)](){const _0x59cd43=a304_0x1e3c16;try{if(!a304_0xe04c9d['existsSync'](this['logFilePath']))return[];const _0x2093bd=a304_0xe04c9d['readFileSync'](this['logFilePath'],_0x59cd43(0x167));return _0x2093bd['split']('\x0a')[_0x59cd43(0x171)](_0x1aa9d5=>_0x1aa9d5[_0x59cd43(0x15e)]())[_0x59cd43(0x154)](_0x5033f9=>JSON[_0x59cd43(0x174)](_0x5033f9));}catch(_0x2b20e1){return console[_0x59cd43(0x170)](_0x59cd43(0x179),_0x2b20e1),[];}}[a304_0x1e3c16(0x164)](){const _0x4387ce=a304_0x1e3c16;try{a304_0xe04c9d[_0x4387ce(0x16f)](this['logFilePath'])&&a304_0xe04c9d[_0x4387ce(0x157)](this[_0x4387ce(0x169)],'',_0x4387ce(0x167));}catch(_0x32d78c){console[_0x4387ce(0x170)]('Failed\x20to\x20clear\x20logs:',_0x32d78c);}}[a304_0x1e3c16(0x183)](){const _0x222d1a=a304_0x1e3c16;return this[_0x222d1a(0x15f)];}}export const logger=new Logger();
|
package/lib/utils/params.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x57f756,_0x1fb450){const _0x20520e=a305_0x5993,_0x2f9b39=_0x57f756();while(!![]){try{const _0x4e2f71=-parseInt(_0x20520e(0x157))/0x1+-parseInt(_0x20520e(0x153))/0x2+-parseInt(_0x20520e(0x158))/0x3*(parseInt(_0x20520e(0x152))/0x4)+parseInt(_0x20520e(0x14f))/0x5+-parseInt(_0x20520e(0x150))/0x6*(-parseInt(_0x20520e(0x155))/0x7)+parseInt(_0x20520e(0x156))/0x8+parseInt(_0x20520e(0x151))/0x9*(parseInt(_0x20520e(0x154))/0xa);if(_0x4e2f71===_0x1fb450)break;else _0x2f9b39['push'](_0x2f9b39['shift']());}catch(_0x1c3c52){_0x2f9b39['push'](_0x2f9b39['shift']());}}}(a305_0x211d,0xb65e5));function a305_0x211d(){const _0xcb567c=['4443614ZoIXmk','6236248LVYpjr','1380573PJzFTy','3cnEZob','Invalid\x20JSON\x20for\x20--params:\x20','isArray','6163325mWPoUt','6fquFCz','8433081IHZCRA','2405332IGynYQ','1710240urKROK','10YaBDqw'];a305_0x211d=function(){return _0xcb567c;};return a305_0x211d();}import{CliErrors}from'../errors.js';function a305_0x5993(_0x332647,_0x57fd89){_0x332647=_0x332647-0x14e;const _0x211db9=a305_0x211d();let _0x599397=_0x211db9[_0x332647];return _0x599397;}export function parseJsonParams(_0x501025){const _0x48cf4d=a305_0x5993;if(!_0x501025)return undefined;let _0x377c1d;try{_0x377c1d=JSON['parse'](_0x501025);}catch{throw CliErrors['validation'](_0x48cf4d(0x159)+_0x501025);}if(!_0x377c1d||typeof _0x377c1d!=='object'||Array[_0x48cf4d(0x14e)](_0x377c1d))throw CliErrors['validation']('--params\x20must\x20be\x20a\x20JSON\x20object','Example:\x20--params\x20\x27{\x22id\x22:123}\x27');return _0x377c1d;}
|
package/lib/utils/platform.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a306_0x5b97c1=a306_0x1cd8;(function(_0x43956f,_0x416811){const _0x1373a8=a306_0x1cd8,_0x174dab=_0x43956f();while(!![]){try{const _0x174774=-parseInt(_0x1373a8(0xa1))/0x1+parseInt(_0x1373a8(0x9e))/0x2+parseInt(_0x1373a8(0xa0))/0x3*(parseInt(_0x1373a8(0x9c))/0x4)+-parseInt(_0x1373a8(0x97))/0x5+-parseInt(_0x1373a8(0x9d))/0x6+parseInt(_0x1373a8(0x9f))/0x7+-parseInt(_0x1373a8(0x9a))/0x8*(-parseInt(_0x1373a8(0x96))/0x9);if(_0x174774===_0x416811)break;else _0x174dab['push'](_0x174dab['shift']());}catch(_0x3f5a7f){_0x174dab['push'](_0x174dab['shift']());}}}(a306_0x3665,0x850e6));export const isWindows=process[a306_0x5b97c1(0x98)]===a306_0x5b97c1(0x9b);export function resolveNpmBin(_0x2b5059){const _0x5f0319=a306_0x5b97c1;return isWindows?_0x2b5059+_0x5f0319(0x99):_0x2b5059;}function a306_0x1cd8(_0x29c4aa,_0x17291e){_0x29c4aa=_0x29c4aa-0x96;const _0x366582=a306_0x3665();let _0x1cd8ec=_0x366582[_0x29c4aa];return _0x1cd8ec;}function a306_0x3665(){const _0x12eb05=['4979925TnSMlS','platform','.cmd','11448VLYTTC','win32','2222384MihASG','4211814ECmTih','1067254tAGQWI','175819TKHBvZ','3fbgXrB','398265nHwdMV','9603oFupJU'];a306_0x3665=function(){return _0x12eb05;};return a306_0x3665();}
|
package/lib/utils/sleep.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export function sleep(
|
|
1
|
+
export function sleep(_0x51aee0){return new Promise(_0x5e8034=>setTimeout(_0x5e8034,_0x51aee0));}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a308_0x22d91a=a308_0x18fb;(function(_0x5a4f0a,_0xe0e4d7){const _0x3e15ff=a308_0x18fb,_0x575bca=_0x5a4f0a();while(!![]){try{const _0x33f760=-parseInt(_0x3e15ff(0x18b))/0x1*(-parseInt(_0x3e15ff(0x16c))/0x2)+-parseInt(_0x3e15ff(0x16f))/0x3+-parseInt(_0x3e15ff(0x14a))/0x4+parseInt(_0x3e15ff(0x186))/0x5+-parseInt(_0x3e15ff(0x152))/0x6+parseInt(_0x3e15ff(0x15c))/0x7*(-parseInt(_0x3e15ff(0x171))/0x8)+parseInt(_0x3e15ff(0x16e))/0x9*(parseInt(_0x3e15ff(0x169))/0xa);if(_0x33f760===_0xe0e4d7)break;else _0x575bca['push'](_0x575bca['shift']());}catch(_0x48e9d7){_0x575bca['push'](_0x575bca['shift']());}}}(a308_0x24df,0x54340));import a308_0xbeeeda from'node:fs';function a308_0x24df(){const _0x55a7e3=['alias:\x20\x22','79643FlbOuj','processDirectory','\x20},','split','info','.js','getFullYear','slice','2104176AXOynU','.tpl','toComponentName','error','.json','utf8','api','tableName:\x20\x22','2435070kPeYmW','endsWith','YourModel','processFile','isFile','default','join','template','.scss','push','539HZSiOu','.ts','.css','formatLocalTimestamp','charAt','replaceApiContent','.tsx','extname','Starting\x20template\x20content\x20replacement','Template\x20content\x20replacement\x20completed','copyFile','LOVRABET','name:\x20\x22','340siQeVw','alias','readdir','4WhxPQU','isDirectory','394137PXYPzg','13752uzqUoF','getMinutes','62544UcZmuK','map','toLowerCase','toUpperCase','replaceContent','promises','toDisplayTitle','tableName','.md','mkdir','pad','Template\x20content\x20replacement\x20failed','includes','pop','getMonth','datasetCode:\x20\x22','now','getSeconds','name','toISOString','getHours','1175535YuAcIe','replace','writeFile','padStart'];a308_0x24df=function(){return _0x55a7e3;};return a308_0x24df();}import a308_0x24992e from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();function a308_0x18fb(_0x2dcd73,_0x4208aa){_0x2dcd73=_0x2dcd73-0x148;const _0x24df45=a308_0x24df();let _0x18fb0b=_0x24df45[_0x2dcd73];return _0x18fb0b;}export class TemplateReplacer{static[a308_0x22d91a(0x17b)](_0x5310c7){const _0x473838=a308_0x22d91a;return String(_0x5310c7)[_0x473838(0x189)](0x2,'0');}static[a308_0x22d91a(0x15f)](_0x3f9680){const _0x8dc724=a308_0x22d91a,_0x237d4e=_0x3f9680[_0x8dc724(0x148)](),_0x276e7c=this[_0x8dc724(0x17b)](_0x3f9680[_0x8dc724(0x17f)]()+0x1),_0xc89023=this['pad'](_0x3f9680['getDate']()),_0x3b49bb=this['pad'](_0x3f9680[_0x8dc724(0x185)]()),_0x4050e9=this[_0x8dc724(0x17b)](_0x3f9680[_0x8dc724(0x170)]()),_0x497a84=this['pad'](_0x3f9680[_0x8dc724(0x182)]());return{'createdAt':_0x237d4e+'-'+_0x276e7c+'-'+_0xc89023+'\x20'+_0x3b49bb+':'+_0x4050e9+':'+_0x497a84,'createdDate':_0x237d4e+'-'+_0x276e7c+'-'+_0xc89023,'createdTime':_0x3b49bb+':'+_0x4050e9+':'+_0x497a84};}static['toComponentName'](_0x1e555e){const _0x1b456c=a308_0x22d91a,_0x1af7e6=_0x1e555e['split']('/')[_0x1b456c(0x17e)]()||_0x1e555e;return _0x1af7e6['split']('-')['map'](_0x32b253=>_0x32b253[_0x1b456c(0x160)](0x0)[_0x1b456c(0x174)]()+_0x32b253[_0x1b456c(0x149)](0x1)[_0x1b456c(0x173)]())[_0x1b456c(0x158)]('');}static['toDisplayTitle'](_0x244465){const _0x3c368f=a308_0x22d91a,_0xe5105f=_0x244465[_0x3c368f(0x18e)]('/')[_0x3c368f(0x17e)]()||_0x244465;return _0xe5105f['split']('-')[_0x3c368f(0x172)](_0x3c4a8a=>_0x3c4a8a['charAt'](0x0)[_0x3c368f(0x174)]()+_0x3c4a8a[_0x3c368f(0x149)](0x1)[_0x3c368f(0x173)]())['join']('\x20');}static[a308_0x22d91a(0x175)](_0xba186d,_0x468c79,_0x36046f){const _0x1abefa=a308_0x22d91a,_0x1018d2=this[_0x1abefa(0x14c)](_0x468c79),_0x40da6a=this[_0x1abefa(0x177)](_0x468c79),{createdAt:_0x1a28d4,createdDate:_0x112fed,createdTime:_0x238f38}=this[_0x1abefa(0x15f)](new Date());let _0x255452=_0xba186d[_0x1abefa(0x187)](/\{CliVersion\}/g,CLI_VERSION)[_0x1abefa(0x187)](/\{ComponentName\}/g,_0x1018d2)[_0x1abefa(0x187)](/\{DisplayTitle\}/g,_0x40da6a)[_0x1abefa(0x187)](/\{PageName\}/g,_0x468c79)[_0x1abefa(0x187)](/\{TemplateName\}/g,_0x36046f)[_0x1abefa(0x187)](/\{CreatedAt\}/g,_0x1a28d4)[_0x1abefa(0x187)](/\{CreatedDate\}/g,_0x112fed)[_0x1abefa(0x187)](/\{CreatedTime\}/g,_0x238f38);return _0x255452;}static[a308_0x22d91a(0x161)](_0x17a1d5,_0x9a9b50,_0x1b2b7a,_0x1c02d9,_0x1fd194,_0x3d8045,_0x418386,_0x52f25a){const _0x55dca4=a308_0x22d91a,_0x4466c6=new Date(),_0x3bef85=_0x4466c6[_0x55dca4(0x184)](),_0x5a45ee=_0x1b2b7a['map'](_0x50eb80=>{const _0x1cf4cf=_0x55dca4,_0x1dfdec=[_0x1cf4cf(0x180)+_0x50eb80['datasetCode']+'\x22',_0x1cf4cf(0x151)+_0x50eb80[_0x1cf4cf(0x178)]+'\x22',_0x1cf4cf(0x168)+_0x50eb80[_0x1cf4cf(0x183)]+'\x22'];return _0x50eb80['alias']&&_0x1dfdec[_0x1cf4cf(0x15b)](_0x1cf4cf(0x18a)+_0x50eb80['alias']+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x1dfdec[_0x1cf4cf(0x158)](',\x20')+_0x1cf4cf(0x18d);})[_0x55dca4(0x158)](''),_0x18b0e6=_0x1c02d9||_0x1b2b7a[0x0]?.[_0x55dca4(0x16a)]||_0x55dca4(0x154);let _0x3a7cc0=_0x17a1d5[_0x55dca4(0x187)](/\{AppCode\}/g,_0x9a9b50)[_0x55dca4(0x187)](/\{ModelConfigs\}/g,_0x5a45ee)[_0x55dca4(0x187)](/\{ExampleModelName\}/g,_0x18b0e6)[_0x55dca4(0x187)](/\{ApiFileName\}/g,_0x1fd194||_0x55dca4(0x150))['replace'](/\{ConfigName\}/g,_0x3d8045||_0x55dca4(0x157))[_0x55dca4(0x187)](/\{ClientConfigParam\}/g,_0x418386||'')[_0x55dca4(0x187)](/\{VarPrefix\}/g,_0x52f25a||_0x55dca4(0x167))[_0x55dca4(0x187)](/\{CreatedAt\}/g,_0x3bef85);return _0x3a7cc0;}static async['processTemplate'](_0x2133ea,_0x11b427,_0x10c3fd,_0x3913b1,_0x698fe1=!![]){const _0x34d96b=a308_0x22d91a,_0x4bcbe9=Date['now']();try{_0x698fe1&&logger[_0x34d96b(0x18f)]('template',_0x34d96b(0x164),{'templatePath':_0x2133ea,'targetPath':_0x11b427,'pageName':_0x10c3fd,'templateName':_0x3913b1});await a308_0xbeeeda[_0x34d96b(0x176)][_0x34d96b(0x17a)](_0x11b427,{'recursive':!![]}),await this[_0x34d96b(0x18c)](_0x2133ea,_0x11b427,_0x10c3fd,_0x3913b1);if(_0x698fe1){const _0x59d1f2=Date[_0x34d96b(0x181)]()-_0x4bcbe9;logger['success'](_0x34d96b(0x159),_0x34d96b(0x165),_0x59d1f2,{'pageName':_0x10c3fd,'templateName':_0x3913b1});}}catch(_0x52bce2){if(_0x698fe1){const _0x12f9c3=Date[_0x34d96b(0x181)]()-_0x4bcbe9;logger[_0x34d96b(0x14d)](_0x34d96b(0x159),_0x34d96b(0x17c),{'templatePath':_0x2133ea,'targetPath':_0x11b427,'pageName':_0x10c3fd,'templateName':_0x3913b1,'error':_0x52bce2 instanceof Error?_0x52bce2['message']:String(_0x52bce2),'duration':_0x12f9c3});}throw _0x52bce2;}}static async['processDirectory'](_0x36fee2,_0x3f3fcd,_0x3c8ef3,_0x19316a){const _0x3524f9=a308_0x22d91a,_0x201940=await a308_0xbeeeda['promises'][_0x3524f9(0x16b)](_0x36fee2,{'withFileTypes':!![]});for(const _0x5bf400 of _0x201940){const _0x2f43ec=a308_0x24992e[_0x3524f9(0x158)](_0x36fee2,_0x5bf400[_0x3524f9(0x183)]);let _0x5a1ee0=a308_0x24992e[_0x3524f9(0x158)](_0x3f3fcd,_0x5bf400['name']);_0x5bf400[_0x3524f9(0x183)][_0x3524f9(0x153)](_0x3524f9(0x14b))&&(_0x5a1ee0=a308_0x24992e['join'](_0x3f3fcd,_0x5bf400[_0x3524f9(0x183)][_0x3524f9(0x187)](/\.tpl$/,'')));if(_0x5bf400[_0x3524f9(0x16d)]())await a308_0xbeeeda['promises'][_0x3524f9(0x17a)](_0x5a1ee0,{'recursive':!![]}),await this[_0x3524f9(0x18c)](_0x2f43ec,_0x5a1ee0,_0x3c8ef3,_0x19316a);else _0x5bf400[_0x3524f9(0x156)]()&&await this[_0x3524f9(0x155)](_0x2f43ec,_0x5a1ee0,_0x3c8ef3,_0x19316a);}}static async[a308_0x22d91a(0x155)](_0x3cc03a,_0x1270b0,_0x538c9a,_0x47a75c){const _0x4bec5d=a308_0x22d91a,_0x4e91b4=a308_0x24992e[_0x4bec5d(0x163)](_0x3cc03a)[_0x4bec5d(0x173)]();_0x3cc03a[_0x4bec5d(0x153)]('.tpl')&&(_0x1270b0=_0x1270b0[_0x4bec5d(0x187)](/\.tpl$/,''));const _0x161700=[_0x4bec5d(0x162),_0x4bec5d(0x15d),'.jsx',_0x4bec5d(0x190),_0x4bec5d(0x14e),_0x4bec5d(0x179),_0x4bec5d(0x15e),_0x4bec5d(0x15a),_0x4bec5d(0x14b)];if(_0x161700[_0x4bec5d(0x17d)](_0x4e91b4)||_0x3cc03a[_0x4bec5d(0x153)](_0x4bec5d(0x14b))){const _0x226f40=await a308_0xbeeeda['promises']['readFile'](_0x3cc03a,_0x4bec5d(0x14f)),_0x2964c7=this[_0x4bec5d(0x175)](_0x226f40,_0x538c9a,_0x47a75c);await a308_0xbeeeda[_0x4bec5d(0x176)][_0x4bec5d(0x188)](_0x1270b0,_0x2964c7,'utf8');}else await a308_0xbeeeda[_0x4bec5d(0x176)][_0x4bec5d(0x166)](_0x3cc03a,_0x1270b0);}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x3bd55d,_0x29e969){const _0x1768d1=a309_0x2ec4,_0x9ef758=_0x3bd55d();while(!![]){try{const _0x2e0e01=parseInt(_0x1768d1(0xdc))/0x1*(-parseInt(_0x1768d1(0xd4))/0x2)+-parseInt(_0x1768d1(0xd7))/0x3*(-parseInt(_0x1768d1(0xda))/0x4)+-parseInt(_0x1768d1(0xe3))/0x5+-parseInt(_0x1768d1(0xd2))/0x6*(parseInt(_0x1768d1(0xd6))/0x7)+-parseInt(_0x1768d1(0xca))/0x8*(parseInt(_0x1768d1(0xdf))/0x9)+parseInt(_0x1768d1(0xe1))/0xa*(parseInt(_0x1768d1(0xdd))/0xb)+parseInt(_0x1768d1(0xd1))/0xc;if(_0x2e0e01===_0x29e969)break;else _0x9ef758['push'](_0x9ef758['shift']());}catch(_0x56b68e){_0x9ef758['push'](_0x9ef758['shift']());}}}(a309_0x164b,0xe79a3));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';function a309_0x2ec4(_0x20f9b6,_0x144651){_0x20f9b6=_0x20f9b6-0xc7;const _0x164b5d=a309_0x164b();let _0x2ec4a2=_0x164b5d[_0x20f9b6];return _0x2ec4a2;}import{dirname,join}from'node:path';import a309_0x3b29bf 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 _0x5326de=a309_0x2ec4,_0x114550=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x5326de(0xcb)]()[_0x5326de(0xde)]();return _0x114550==='1'||_0x114550===_0x5326de(0xe0)||_0x114550===_0x5326de(0xd5);}function a309_0x164b(){const _0x4aca8a=['84218WdVEta','yes','8025682fxNSMz','272604idPwKE','parse','utf8','16sUKcln','valid','6cORzND','19660135rLrQxn','toLowerCase','7318341ONMLGG','true','10PxejFC',',\x20run:\x20','5679030tBuVzB','.cache','\x20update','update-check.json','16uJTyPG','trim','now','stringify','number','gte','checkedAt','35510040XHwmzf','6EAtzXk','object'];a309_0x164b=function(){return _0x4aca8a;};return a309_0x164b();}function cacheRoot(){const _0x21b8a3=a309_0x2ec4;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x21b8a3(0xc7));}export function getUpdateNoticeCachePath(){const _0x1d8b30=a309_0x2ec4;return join(cacheRoot(),'rabetbase-cli',_0x1d8b30(0xc9));}async function readUpdateNoticeCache(){const _0x292874=a309_0x2ec4;try{const _0x297194=await readFile(getUpdateNoticeCachePath(),_0x292874(0xd9)),_0x12b7dd=JSON[_0x292874(0xd8)](_0x297194);if(!_0x12b7dd||typeof _0x12b7dd!==_0x292874(0xd3))return{};return _0x12b7dd;}catch{return{};}}async function writeUpdateNoticeCache(_0x5353b6){const _0x2d039c=a309_0x2ec4;try{const _0x356e35=getUpdateNoticeCachePath();await mkdir(dirname(_0x356e35),{'recursive':!![]}),await writeFile(_0x356e35,JSON[_0x2d039c(0xcd)](_0x5353b6,null,0x2)+'\x0a',_0x2d039c(0xd9));}catch{}}function isFreshCheck(_0x191d1b,_0x4d8a4c){const _0x413ccd=a309_0x2ec4;return typeof _0x191d1b[_0x413ccd(0xd0)]===_0x413ccd(0xce)&&_0x4d8a4c-_0x191d1b[_0x413ccd(0xd0)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x5938ac,_0x1101cb,_0x1dd2b2){const _0x5ba408=a309_0x2ec4;return _0x5938ac['lastNotifiedVersion']===_0x1101cb&&typeof _0x5938ac['lastNotifiedAt']===_0x5ba408(0xce)&&_0x1dd2b2-_0x5938ac['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x28ab1c){return'https://www.npmjs.com/package/'+NPM_PACKAGE_NAME+'/v/'+_0x28ab1c;}export async function resolveLatestUpdateNotice(){const _0x5ea0b8=a309_0x2ec4;if(isUpdateNoticeDisabled())return null;try{const _0x59f523=Date[_0x5ea0b8(0xcc)](),_0x2245e2=getCliVersion(),_0x390c04=await readUpdateNoticeCache();let _0x391aef=isFreshCheck(_0x390c04,_0x59f523)?_0x390c04['latest']?.[_0x5ea0b8(0xcb)]():undefined;if(!_0x391aef&&!isFreshCheck(_0x390c04,_0x59f523)){const _0x39d982=await getCliVersionPolicy();_0x391aef=_0x39d982?.['stableVersion']?.[_0x5ea0b8(0xcb)]()||undefined,await writeUpdateNoticeCache({..._0x390c04,'checkedAt':_0x59f523,'latest':_0x391aef,'failed':!_0x391aef});}if(!_0x391aef||!a309_0x3b29bf[_0x5ea0b8(0xdb)](_0x2245e2)||!a309_0x3b29bf[_0x5ea0b8(0xdb)](_0x391aef))return null;if(a309_0x3b29bf[_0x5ea0b8(0xcf)](_0x2245e2,_0x391aef))return null;if(isRecentlyNotified(_0x390c04,_0x391aef,_0x59f523))return null;const _0x3fc784=CLI_BIN_NAME+_0x5ea0b8(0xc8);return await writeUpdateNoticeCache({..._0x390c04,'checkedAt':isFreshCheck(_0x390c04,_0x59f523)?_0x390c04[_0x5ea0b8(0xd0)]:_0x59f523,'latest':_0x391aef,'failed':![],'lastNotifiedVersion':_0x391aef,'lastNotifiedAt':_0x59f523}),{'command':_0x3fc784,'current':_0x2245e2,'latest':_0x391aef,'url':buildNpmVersionUrl(_0x391aef),'message':CLI_BIN_NAME+'\x20'+_0x391aef+'\x20available,\x20current\x20'+_0x2245e2+_0x5ea0b8(0xe2)+_0x3fc784};}catch{return null;}}
|
package/lib/utils/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x30eadf,_0x3c6060){var _0x34910b=a310_0x3ccb,_0x1282ca=_0x30eadf();while(!![]){try{var _0x547787=parseInt(_0x34910b(0x192))/0x1*(parseInt(_0x34910b(0x18f))/0x2)+-parseInt(_0x34910b(0x189))/0x3+-parseInt(_0x34910b(0x18a))/0x4*(parseInt(_0x34910b(0x18e))/0x5)+-parseInt(_0x34910b(0x193))/0x6*(-parseInt(_0x34910b(0x18c))/0x7)+-parseInt(_0x34910b(0x191))/0x8+parseInt(_0x34910b(0x190))/0x9*(-parseInt(_0x34910b(0x18b))/0xa)+-parseInt(_0x34910b(0x194))/0xb*(-parseInt(_0x34910b(0x18d))/0xc);if(_0x547787===_0x3c6060)break;else _0x1282ca['push'](_0x1282ca['shift']());}catch(_0x1cc64f){_0x1282ca['push'](_0x1282ca['shift']());}}}(a310_0x32d8,0xa8050));import{VERSION}from'../generated/build-info.js';function a310_0x3ccb(_0x277715,_0x51c6b3){_0x277715=_0x277715-0x189;var _0x32d850=a310_0x32d8();var _0x3ccb39=_0x32d850[_0x277715];return _0x3ccb39;}export function getCliVersion(){return VERSION;}function a310_0x32d8(){var _0x634e00=['1705702tlEwdv','99GKBAMd','2300792dPFoAk','1XwkWno','357642UOuNxR','11WWVGbF','4086669qirKin','4BtsNCg','1163130sBaIyS','21iXxNJf','31964808ChTpQH','389665TPdZKv'];a310_0x32d8=function(){return _0x634e00;};return a310_0x32d8();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a311_0x4db0(_0x299ed9,_0x5cc034){_0x299ed9=_0x299ed9-0x76;var _0x5bae53=a311_0x5bae();var _0x4db0cc=_0x5bae53[_0x299ed9];return _0x4db0cc;}(function(_0x3797cc,_0x4544b7){var _0x2f3219=a311_0x4db0,_0xbe3307=_0x3797cc();while(!![]){try{var _0x4107d7=parseInt(_0x2f3219(0x80))/0x1*(parseInt(_0x2f3219(0x7e))/0x2)+-parseInt(_0x2f3219(0x77))/0x3*(parseInt(_0x2f3219(0x78))/0x4)+parseInt(_0x2f3219(0x7a))/0x5+parseInt(_0x2f3219(0x76))/0x6+parseInt(_0x2f3219(0x81))/0x7*(parseInt(_0x2f3219(0x79))/0x8)+parseInt(_0x2f3219(0x7d))/0x9*(parseInt(_0x2f3219(0x7f))/0xa)+parseInt(_0x2f3219(0x7b))/0xb*(-parseInt(_0x2f3219(0x7c))/0xc);if(_0x4107d7===_0x4544b7)break;else _0xbe3307['push'](_0xbe3307['shift']());}catch(_0xd7b5d3){_0xbe3307['push'](_0xbe3307['shift']());}}}(a311_0x5bae,0x66d3a));function a311_0x5bae(){var _0x4cce23=['166620oORpVi','27445CwxdTl','11208XqditQ','405414muliWD','4LActnI','140LIyRCe','290574QFqgBY','1081682HoisEB','4487478rQAuRx','159hRDttA','1068ftvzvs','40MHxXSS'];a311_0x5bae=function(){return _0x4cce23;};return a311_0x5bae();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x2d6269,_0x45d179){setActiveCookie(_0x2d6269);try{return await _0x45d179();}finally{clearActiveCookie();}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a312_0x1368(_0x4c8438,_0x392e35){_0x4c8438=_0x4c8438-0x119;var _0xa4e5f5=a312_0xa4e5();var _0x1368a0=_0xa4e5f5[_0x4c8438];return _0x1368a0;}(function(_0x3e781c,_0x1c851d){var _0x4508a9=a312_0x1368,_0x5f08cc=_0x3e781c();while(!![]){try{var _0x2e3744=parseInt(_0x4508a9(0x119))/0x1*(parseInt(_0x4508a9(0x11e))/0x2)+-parseInt(_0x4508a9(0x123))/0x3*(-parseInt(_0x4508a9(0x121))/0x4)+parseInt(_0x4508a9(0x11d))/0x5+-parseInt(_0x4508a9(0x122))/0x6+parseInt(_0x4508a9(0x11c))/0x7+-parseInt(_0x4508a9(0x11b))/0x8+parseInt(_0x4508a9(0x124))/0x9*(parseInt(_0x4508a9(0x120))/0xa);if(_0x2e3744===_0x1c851d)break;else _0x5f08cc['push'](_0x5f08cc['shift']());}catch(_0x2a13c3){_0x5f08cc['push'](_0x5f08cc['shift']());}}}(a312_0xa4e5,0x7b621));export function writeCliSideChannelLine(_0x4c2445){var _0x23835c=a312_0x1368;process[_0x23835c(0x11a)][_0x23835c(0x11f)](_0x4c2445+'\x0a');}function a312_0xa4e5(){var _0x22b2ec=['2528760HPUEkK','313402DFdnIt','write','2146810lhFYYa','4tMFVMc','5297082Wyeawy','1260129XIoXew','18qERpvP','4rUHcXO','stderr','7329496bPvDjT','2257150YWVKSr'];a312_0xa4e5=function(){return _0x22b2ec;};return a312_0xa4e5();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lovrabet/rabetbase-cli",
|
|
3
|
-
"version": "2.5.1",
|
|
3
|
+
"version": "2.5.2-beta.1",
|
|
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,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: rabetbase
|
|
3
|
-
version: 2.5.1
|
|
3
|
+
version: 2.5.2-beta.1
|
|
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, 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."
|
|
5
5
|
metadata:
|
|
6
6
|
requires:
|
|
@@ -53,7 +53,7 @@ metadata:
|
|
|
53
53
|
- 需要了解数据集关联关系时用 `rabetbase dataset relations --format compress`(或 `json`);需要审计关系事实错误和人工复核项时用 `rabetbase dataset relation-audit --format compress`
|
|
54
54
|
- 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
|
|
55
55
|
- **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
|
|
56
|
-
- **为独立部署局部同步研发元数据**时用 [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md)
|
|
56
|
+
- **为独立部署局部同步研发元数据**时用 [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md);日常 BFF/SQL push 会自动提交当前 push 的实际变更,由服务端按 appCode 白名单处理,未开启时正常跳过;Dataset 保持显式确认
|
|
57
57
|
- DBAgent 增量分析默认先执行一次异步差异刷新:调用 `db diff-refresh-start`,保存 traceId,并用 `db diff-refresh-status` 查询同一任务到终态;成功后按原始意图执行 `db diff --all`(差异表)或 `db tables`(全部表)。无论 `tableCount` 大小都执行刷新;只有用户明确表示“不需要分析”“不刷新”或“只看现有结果”时才跳过异步刷新,并说明结果可能不是最新事实
|
|
58
58
|
- 需要查看全部表(含无差异表)或主动重新分析既有表时,用 `db tables`;它固定聚合全表分页。`db diff --all` 只聚合全部差异分页
|
|
59
59
|
- DB 增量分析先对完整 `toAnalyzeTables` 执行 `db analyze-batch-plan`;它生成的是本地批次方案,不是服务端 `planId`,也不会创建任务。再严格按批次顺序启动;每批独立保存 `planId`(即 `analyze-start` 返回值),当前批次到达已知终态前不得启动下一批
|
|
@@ -368,7 +368,7 @@ const result = await client.bff.execute<DashboardData>({
|
|
|
368
368
|
| 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | 推送后自动回拉 canonical schema 覆盖本地 |
|
|
369
369
|
| 恢复已删除页面 | [`rabetbase page restore --id <pageId>`](references/rabetbase-page-restore.md) | 支持 `DATA_LIST|CUSTOM` 自动识别;跨类型同 ID 时显式传 `--page-type` |
|
|
370
370
|
| 数据库连接(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
|
|
371
|
+
| 独立部署局部同步研发元数据 | [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md) | 显式命令为 `write`;日常 BFF/SQL push 自动同步当前 push 的实际变更,服务端负责能力检查与目标处理;Dataset 保持显式确认;失败或结果不确定时不自动重试 |
|
|
372
372
|
| 生成 / 更新 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
373
|
| 查看生成的 API 模型 | [`rabetbase api list`](references/rabetbase-api-list.md) | 列出已生成的数据模型 |
|
|
374
374
|
| 查看现有 SQL | [`rabetbase sql list --name "xxx"`](references/rabetbase-sql-list.md) | 分页,按名称过滤;默认查当前决议到的单个应用 |
|
|
@@ -1,44 +1,27 @@
|
|
|
1
1
|
# rabetbase deployment sync
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
将当前应用中的少量研发元数据同步到服务端托管的独立部署目标。命令只同步显式给出的业务编码,支持 `dataset`、`bff`、`sql`。
|
|
4
4
|
|
|
5
5
|
## 使用前确认
|
|
6
6
|
|
|
7
7
|
- 已完成 rabetbase 认证,并明确目标应用的 `appCode`。
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
8
|
+
- 从可信事实中取得业务编码,不猜测 DatasetCode、function name 或 sqlCode。
|
|
9
|
+
- 同步目标由 CLI 与服务端自动处理;Agent 只提供下方列出的业务参数。
|
|
10
|
+
- 服务端会检查 appCode 白名单;未开启时正常跳过,不属于异常或无权限。
|
|
11
11
|
- 同一批最多 100 个编码;需要分批时逐批确认结果,不并发执行。
|
|
12
12
|
|
|
13
13
|
## 先预览
|
|
14
14
|
|
|
15
|
-
环境部署:
|
|
16
|
-
|
|
17
15
|
```sh
|
|
18
16
|
rabetbase deployment sync \
|
|
19
17
|
--appcode <appCode> \
|
|
20
|
-
--db-id <dbLinkId> \
|
|
21
|
-
--target-env test \
|
|
22
18
|
--type dataset \
|
|
23
19
|
--codes <code1,code2> \
|
|
24
20
|
--dry-run \
|
|
25
21
|
--format compress
|
|
26
22
|
```
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```sh
|
|
31
|
-
rabetbase deployment sync \
|
|
32
|
-
--appcode <appCode> \
|
|
33
|
-
--db-id <dbLinkId> \
|
|
34
|
-
--direct \
|
|
35
|
-
--type bff \
|
|
36
|
-
--codes <code1> \
|
|
37
|
-
--dry-run \
|
|
38
|
-
--format compress
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
检查输出中的 `data.selector.targetMode`、`data.selector.targetEnv`、`data.selector.bizType`、`data.selector.bizCodes` 和 `data.selector.dbLinkId`。dry-run 不发起同步请求。
|
|
24
|
+
检查 `data.selector.bizType` 和 `data.selector.bizCodes`;dry-run 不发起同步请求,也不展示部署目标实现信息。
|
|
42
25
|
|
|
43
26
|
## 正式执行
|
|
44
27
|
|
|
@@ -47,8 +30,6 @@ rabetbase deployment sync \
|
|
|
47
30
|
```sh
|
|
48
31
|
rabetbase deployment sync \
|
|
49
32
|
--appcode <appCode> \
|
|
50
|
-
--db-id <dbLinkId> \
|
|
51
|
-
--target-env test \
|
|
52
33
|
--type dataset \
|
|
53
34
|
--codes <code1,code2> \
|
|
54
35
|
--confirm \
|
|
@@ -58,35 +39,26 @@ rabetbase deployment sync \
|
|
|
58
39
|
|
|
59
40
|
## 参数约束
|
|
60
41
|
|
|
61
|
-
- `--db-id`:正整数基础 dblink/环境连接组 ID;不是某个环境的最终连接 ID。
|
|
62
|
-
- `--target-env dev|test|pre|prod`:服务端环境连接映射选择器;与 `--direct` 必须且只能选择一个。
|
|
63
42
|
- `--type dataset|bff|sql`:同步资源类型。
|
|
64
43
|
- `--codes`:逗号分隔;命令 trim、过滤空项并按首次出现顺序去重,最多 100 个。
|
|
65
|
-
-
|
|
44
|
+
- Agent 只提供 `--type`、`--codes` 和执行确认,不查询或传递部署目标配置。
|
|
66
45
|
|
|
67
46
|
## 结果与失败处理
|
|
68
47
|
|
|
69
48
|
- 退出码 `0`:服务端没有返回 `FAILED`;`SKIPPED`、`UNCHANGED` 等 no-op action 或空 items 均表示无需执行,不作为异常。
|
|
70
|
-
- 退出码 `1`:至少一个条目为 `FAILED`。读取结构化输出的 `data.items[]
|
|
71
|
-
- 退出码 `2
|
|
49
|
+
- 退出码 `1`:至少一个条目为 `FAILED`。读取结构化输出的 `data.items[]`,只人工处理明确失败的 code,不自动重提整批。
|
|
50
|
+
- 退出码 `2`:写请求响应丢失或响应无法证明结果。同步可能已经生效;先人工核对目标部署,再决定后续处理,禁止直接重试。
|
|
72
51
|
|
|
73
|
-
Dataset
|
|
52
|
+
Dataset 同步会逐项处理 Dataset 元数据,不是跨资源原子事务。命令当前不提供目标端只读回查;部署后的业务可用性仍需单独验收。
|
|
74
53
|
|
|
75
54
|
## 日常 BFF / SQL push 自动同步
|
|
76
55
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
```sh
|
|
80
|
-
rabetbase workspace use --app <appName> --appcode <appCode> \
|
|
81
|
-
--deployment-db-id <dbLinkId> --deployment-target-env dev
|
|
82
|
-
```
|
|
56
|
+
存在实际变更且主 push 成功后,CLI 自动提交精确同步意图;服务端原子检查 appCode 白名单并处理目标。未开启时返回成功空结果,表示无需执行,不是异常或无权限。
|
|
83
57
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
- dry-run 展示配置目标和精确 code,但不发请求。
|
|
91
|
-
- 主 push 成功但后置同步失败时,不声称回滚主操作;只有同步请求已提交后才按 `data.deploymentSync.recoveryCommand` 人工处理。
|
|
58
|
+
- `bff push` 只同步当前 push 中上传成功且完成缓存清理的 function name。
|
|
59
|
+
- `sql push` 只同步当前 push 中成功写入的 sqlCode;未变化项不触发同步。
|
|
60
|
+
- 主 push 或 BFF 缓存清理失败时不调用同步接口。
|
|
61
|
+
- dry-run 展示服务端托管的同步意图和精确 code,但不调用 `/sync`。
|
|
62
|
+
- Dataset 没有统一 push 入口,继续使用显式 `deployment sync --type dataset`;不要在 `dataset generate-status` 等只读命令中触发同步。
|
|
63
|
+
- 主 push 成功但后置同步失败时,不声称回滚主操作;按 `data.deploymentSync.recoveryCommand` 人工处理。
|
|
92
64
|
- `partial_failure`、`failed`、`outcome_unknown` 均不得自动重试。
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "rabetbase",
|
|
4
4
|
"packageName": "@lovrabet/rabetbase-cli",
|
|
5
|
-
"packageVersion": "2.5.1",
|
|
6
|
-
"skillVersion": "2.5.1",
|
|
5
|
+
"packageVersion": "2.5.2-beta.1",
|
|
6
|
+
"skillVersion": "2.5.2-beta.1",
|
|
7
7
|
"files": [
|
|
8
8
|
"SKILL.md",
|
|
9
9
|
"guides/backend-function.md",
|
|
@@ -138,5 +138,5 @@
|
|
|
138
138
|
"references/rabetbase-user-account.md",
|
|
139
139
|
"references/rabetbase-workspace.md"
|
|
140
140
|
],
|
|
141
|
-
"digest": "
|
|
141
|
+
"digest": "6ac155b086ab8042fcddeb0aa8b380237192dc7128ed63d8c9271b220a182f92"
|
|
142
142
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { FlagDef } from "../framework/types.js";
|
|
2
|
-
export declare const AUTO_DEPLOYMENT_TARGET_ENVS: readonly ["dev", "test", "pre"];
|
|
3
|
-
export type AutoDeploymentTargetEnv = typeof AUTO_DEPLOYMENT_TARGET_ENVS[number];
|
|
4
|
-
export interface DeploymentSyncProfile {
|
|
5
|
-
dbLinkId: number;
|
|
6
|
-
targetEnv: AutoDeploymentTargetEnv;
|
|
7
|
-
}
|
|
8
|
-
export declare function getDeploymentSyncProfileFlagDefs(): FlagDef[];
|
|
9
|
-
export declare function collectDeploymentSyncProfile(getFlagValue: (name: string) => string): DeploymentSyncProfile | undefined;
|
|
10
|
-
export declare function validateDeploymentSyncProfile(value: unknown): DeploymentSyncProfile;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const a217_0x340a1c=a217_0x15a5;(function(_0x178fcf,_0x1bca70){const _0x28e996=a217_0x15a5,_0xf12f2=_0x178fcf();while(!![]){try{const _0x5282b0=parseInt(_0x28e996(0x158))/0x1*(parseInt(_0x28e996(0x14e))/0x2)+parseInt(_0x28e996(0x154))/0x3+-parseInt(_0x28e996(0x156))/0x4+parseInt(_0x28e996(0x14a))/0x5*(parseInt(_0x28e996(0x15a))/0x6)+parseInt(_0x28e996(0x157))/0x7+-parseInt(_0x28e996(0x15b))/0x8+-parseInt(_0x28e996(0x150))/0x9*(parseInt(_0x28e996(0x15e))/0xa);if(_0x5282b0===_0x1bca70)break;else _0xf12f2['push'](_0xf12f2['shift']());}catch(_0x4f0a61){_0xf12f2['push'](_0xf12f2['shift']());}}}(a217_0x4d10,0x9f67a));function a217_0x4d10(){const _0x15dca6=['isSafeInteger','deployment-db-id','1186029ALyMSK','dev','2006224pcWXau','7477323wOzRVU','634526vUBTuI','trim','1565796zSkHWL','6091248lTyhtZ','includes','deployment-target-env','30TmvdPA','Base\x20dblink\x20ID\x20whose\x20server-side\x20environment\x20mapping\x20selects\x20the\x20automatic\x20sync\x20target','targetEnv','object','validation','Non-production\x20target\x20selected\x20by\x20the\x20server-side\x20environment\x20mapping','20pPURDK','test','string','dbLinkId','4FtBmkU','deploymentSync\x20must\x20contain\x20dbLinkId\x20and\x20targetEnv.','5581692zUUipB','number'];a217_0x4d10=function(){return _0x15dca6;};return a217_0x4d10();}import{CliErrors}from'../errors.js';export const AUTO_DEPLOYMENT_TARGET_ENVS=[a217_0x340a1c(0x155),a217_0x340a1c(0x14b),'pre'];function a217_0x15a5(_0x3691e1,_0x1a519c){_0x3691e1=_0x3691e1-0x145;const _0x4d1098=a217_0x4d10();let _0x15a513=_0x4d1098[_0x3691e1];return _0x15a513;}export function getDeploymentSyncProfileFlagDefs(){const _0x539c5a=a217_0x340a1c;return[{'name':'deployment-db-id','type':_0x539c5a(0x151),'description':_0x539c5a(0x145)},{'name':_0x539c5a(0x15d),'type':_0x539c5a(0x14c),'enum':[...AUTO_DEPLOYMENT_TARGET_ENVS],'description':_0x539c5a(0x149)}];}export function collectDeploymentSyncProfile(_0x393fc1){const _0x261b59=a217_0x340a1c,_0x50f040=_0x393fc1(_0x261b59(0x153))['trim'](),_0x51b9f4=_0x393fc1(_0x261b59(0x15d))[_0x261b59(0x159)]();if(!_0x50f040&&!_0x51b9f4)return undefined;return validateDeploymentSyncProfile({'dbLinkId':_0x50f040?Number(_0x50f040):undefined,'targetEnv':_0x51b9f4||undefined});}export function validateDeploymentSyncProfile(_0x291bcf){const _0x349eb1=a217_0x340a1c;if(!_0x291bcf||typeof _0x291bcf!==_0x349eb1(0x147)||Array['isArray'](_0x291bcf))throw CliErrors[_0x349eb1(0x148)](_0x349eb1(0x14f));const _0x13975c=_0x291bcf,_0x1661d5=Number(_0x13975c[_0x349eb1(0x14d)]);if(!Number[_0x349eb1(0x152)](_0x1661d5)||_0x1661d5<=0x0)throw CliErrors[_0x349eb1(0x148)]('--deployment-db-id\x20must\x20be\x20a\x20positive\x20safe\x20integer.');const _0xfe77b5=typeof _0x13975c['targetEnv']==='string'?_0x13975c[_0x349eb1(0x146)]['trim']():'';if(!AUTO_DEPLOYMENT_TARGET_ENVS[_0x349eb1(0x15c)](_0xfe77b5))throw CliErrors['validation']('--deployment-target-env\x20must\x20be\x20one\x20of:\x20'+AUTO_DEPLOYMENT_TARGET_ENVS['join'](',\x20')+'.','Production\x20and\x20direct\x20targets\x20must\x20use\x20`rabetbase\x20deployment\x20sync`\x20with\x20explicit\x20confirmation.');return{'dbLinkId':_0x1661d5,'targetEnv':_0xfe77b5};}
|