@lovrabet/rabetbase-cli 2.5.2-beta.1 → 2.5.2-beta.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/README.md +1 -1
- 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.d.ts +1 -0
- 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.js +1 -1
- package/lib/commands/deployment/index.js +1 -1
- package/lib/commands/deployment/sync-all.d.ts +2 -0
- package/lib/commands/deployment/sync-all.js +1 -0
- package/lib/commands/deployment/sync-jobs.d.ts +2 -0
- package/lib/commands/deployment/sync-jobs.js +1 -0
- package/lib/commands/deployment/sync-status.d.ts +2 -0
- package/lib/commands/deployment/sync-status.js +1 -0
- package/lib/commands/deployment/sync.js +1 -1
- package/lib/commands/doctor.js +1 -1
- package/lib/commands/file/index.js +1 -1
- package/lib/commands/instant-api-policy/current.d.ts +2 -0
- package/lib/commands/instant-api-policy/current.js +1 -0
- package/lib/commands/instant-api-policy/index.d.ts +2 -0
- package/lib/commands/instant-api-policy/index.js +1 -0
- package/lib/commands/instant-api-policy/init.d.ts +2 -0
- package/lib/commands/instant-api-policy/init.js +1 -0
- package/lib/commands/instant-api-policy/publish.d.ts +2 -0
- package/lib/commands/instant-api-policy/publish.js +1 -0
- package/lib/commands/instant-api-policy/pull.d.ts +2 -0
- package/lib/commands/instant-api-policy/pull.js +1 -0
- package/lib/commands/instant-api-policy/revision.d.ts +2 -0
- package/lib/commands/instant-api-policy/revision.js +1 -0
- package/lib/commands/instant-api-policy/revisions.d.ts +2 -0
- package/lib/commands/instant-api-policy/revisions.js +1 -0
- package/lib/commands/instant-api-policy/rollback.d.ts +2 -0
- package/lib/commands/instant-api-policy/rollback.js +1 -0
- package/lib/commands/instant-api-policy/shared.d.ts +82 -0
- package/lib/commands/instant-api-policy/shared.js +1 -0
- package/lib/commands/instant-api-policy/validate.d.ts +2 -0
- package/lib/commands/instant-api-policy/validate.js +1 -0
- package/lib/commands/issue/index.js +1 -1
- package/lib/commands/issue/nudge.js +1 -1
- package/lib/commands/issue/report.js +1 -1
- package/lib/commands/issue/shared.js +1 -1
- package/lib/commands/kb/create.js +1 -1
- package/lib/commands/kb/delete.js +1 -1
- package/lib/commands/kb/detail.js +1 -1
- package/lib/commands/kb/index.js +1 -1
- package/lib/commands/kb/list.js +1 -1
- package/lib/commands/kb/search.js +1 -1
- package/lib/commands/kb/shared.js +1 -1
- package/lib/commands/kb/update.js +1 -1
- package/lib/commands/logs/index.js +1 -1
- package/lib/commands/menu/asset-update.js +1 -1
- package/lib/commands/menu/delete.js +1 -1
- package/lib/commands/menu/external-link-create.js +1 -1
- package/lib/commands/menu/external-link-update.js +1 -1
- package/lib/commands/menu/group-create.js +1 -1
- package/lib/commands/menu/group-update.js +1 -1
- package/lib/commands/menu/index.js +1 -1
- package/lib/commands/menu/list.js +1 -1
- package/lib/commands/menu/move.js +1 -1
- package/lib/commands/menu/regroup-start.js +1 -1
- package/lib/commands/menu/rename.js +1 -1
- package/lib/commands/menu/shared/compare-table.js +1 -1
- package/lib/commands/menu/shared/delete-plan.js +1 -1
- package/lib/commands/menu/shared/facts.js +1 -1
- package/lib/commands/menu/shared/index.js +1 -1
- package/lib/commands/menu/shared/inquirer.js +1 -1
- package/lib/commands/menu/shared/local-pages.js +1 -1
- package/lib/commands/menu/shared/logic.js +1 -1
- package/lib/commands/menu/shared/mutations.js +1 -1
- package/lib/commands/menu/shared/service.js +1 -1
- package/lib/commands/menu/shared/sync-core.js +1 -1
- package/lib/commands/menu/shared/update-core.js +1 -1
- package/lib/commands/menu/shared/valid-url.js +1 -1
- package/lib/commands/menu/sync.js +1 -1
- package/lib/commands/menu/visibility-update.js +1 -1
- package/lib/commands/notification/config-create.js +1 -1
- package/lib/commands/notification/config-delete.js +1 -1
- package/lib/commands/notification/config-list.js +1 -1
- package/lib/commands/notification/config-update.js +1 -1
- package/lib/commands/notification/index.js +1 -1
- package/lib/commands/notification/shared.js +1 -1
- package/lib/commands/ocr/index.js +1 -1
- package/lib/commands/page/create.js +1 -1
- package/lib/commands/page/custom/detail.js +1 -1
- package/lib/commands/page/custom/list.js +1 -1
- package/lib/commands/page/custom/publish.js +1 -1
- package/lib/commands/page/custom/shared.js +1 -1
- package/lib/commands/page/custom/syntax.js +1 -1
- package/lib/commands/page/custom/template.js +1 -1
- package/lib/commands/page/custom/update.js +1 -1
- package/lib/commands/page/data-list-status.js +1 -1
- package/lib/commands/page/generate-start.js +1 -1
- package/lib/commands/page/generate-status.js +1 -1
- package/lib/commands/page/index.js +1 -1
- package/lib/commands/page/pull.js +1 -1
- package/lib/commands/page/push.js +1 -1
- package/lib/commands/page/relation-audit.js +1 -1
- package/lib/commands/page/restore.js +1 -1
- package/lib/commands/page/shared.js +1 -1
- package/lib/commands/page/sync.js +1 -1
- package/lib/commands/project/create/enhanced-guided-create.js +1 -1
- package/lib/commands/project/create/format-elapsed.js +1 -1
- package/lib/commands/project/create/main.js +1 -1
- package/lib/commands/project/create/materialize-project-template.js +1 -1
- package/lib/commands/project/create/project-name.js +1 -1
- package/lib/commands/project/create/project-template-archive.js +1 -1
- package/lib/commands/project/create/project-template-path.js +1 -1
- package/lib/commands/project/create/use-copy-project-template.js +1 -1
- package/lib/commands/project/create/use-format-code.js +1 -1
- package/lib/commands/project/create/use-install-dependencies.js +1 -1
- package/lib/commands/project/domain-routing-sync.js +1 -1
- package/lib/commands/project/index.js +1 -1
- package/lib/commands/project/upgrade.js +1 -1
- package/lib/commands/registry.js +1 -1
- package/lib/commands/role/delete.js +1 -1
- package/lib/commands/role/detail.js +1 -1
- package/lib/commands/role/index.js +1 -1
- package/lib/commands/role/list.js +1 -1
- package/lib/commands/role/shared.js +1 -1
- package/lib/commands/role/update.js +1 -1
- package/lib/commands/role/user-add.js +1 -1
- package/lib/commands/role/user-remove.js +1 -1
- package/lib/commands/role/user-resolve.js +1 -1
- package/lib/commands/rule/get.js +1 -1
- package/lib/commands/rule/index.js +1 -1
- package/lib/commands/rule/list.js +1 -1
- package/lib/commands/rule/set.js +1 -1
- package/lib/commands/rule/shared.js +1 -1
- package/lib/commands/run/index.js +1 -1
- package/lib/commands/schema.js +1 -1
- package/lib/commands/sql/create.js +1 -1
- package/lib/commands/sql/delete.js +1 -1
- package/lib/commands/sql/detail.js +1 -1
- package/lib/commands/sql/exec.js +1 -1
- package/lib/commands/sql/index.js +1 -1
- package/lib/commands/sql/list.js +1 -1
- package/lib/commands/sql/pull.js +1 -1
- package/lib/commands/sql/push.js +1 -1
- package/lib/commands/sql/shared.js +1 -1
- package/lib/commands/sql/status.js +1 -1
- package/lib/commands/sql/validate.js +1 -1
- package/lib/commands/task/index.js +1 -1
- package/lib/commands/task/status.js +1 -1
- package/lib/commands/tenant/index.js +1 -1
- package/lib/commands/tenant/members-list.js +1 -1
- package/lib/commands/tenant/shared.js +1 -1
- package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
- package/lib/commands/user-account/index.js +1 -1
- package/lib/commands/workspace/add.js +1 -1
- package/lib/commands/workspace/index.js +1 -1
- package/lib/commands/workspace/remove.js +1 -1
- package/lib/config/domain-config.d.ts +3 -7
- 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.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 +114 -0
- package/lib/core/api-client.js +1 -1
- package/lib/core/bff/config.js +1 -1
- package/lib/core/bff/file-system.js +1 -1
- package/lib/core/bff/hash.js +1 -1
- package/lib/core/bff/lock.js +1 -1
- package/lib/core/bff/utils.js +1 -1
- package/lib/core/db-resolver.js +1 -1
- package/lib/core/instant-api-policy/config.d.ts +23 -0
- package/lib/core/instant-api-policy/config.js +1 -0
- package/lib/core/kb-search-client.js +1 -1
- package/lib/core/page/file-system.js +1 -1
- package/lib/core/page/hash.js +1 -1
- package/lib/core/page/lock.js +1 -1
- package/lib/core/sql-index-auditor.js +1 -1
- package/lib/core/sql-sync/config.js +1 -1
- package/lib/core/sql-sync/file-system.js +1 -1
- package/lib/core/sql-sync/hash.js +1 -1
- package/lib/core/sql-sync/lock.js +1 -1
- package/lib/core/sql-sync/utils.js +1 -1
- package/lib/core/sql-validator.js +1 -1
- package/lib/errors.js +1 -1
- package/lib/framework/build-all-flags.js +1 -1
- package/lib/framework/error-output.js +1 -1
- package/lib/framework/explicit-yes.js +1 -1
- package/lib/framework/flags.js +1 -1
- package/lib/framework/help.js +1 -1
- package/lib/framework/index.js +1 -1
- package/lib/framework/output.js +1 -1
- package/lib/framework/response.js +1 -1
- package/lib/framework/runner-alias.js +1 -1
- package/lib/framework/runner.js +1 -1
- package/lib/framework/schema-export.js +1 -1
- package/lib/framework/supported-flags.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.d.ts +1 -1
- package/lib/generated/official-routing.js +1 -1
- package/lib/generated/routing-contract.d.ts +1 -3
- package/lib/generated/routing-contract.js +1 -1
- package/lib/help.js +1 -1
- package/lib/postinstall.js +1 -1
- package/lib/runtime/confirmation.js +1 -1
- package/lib/runtime/event.js +1 -1
- package/lib/runtime/index.js +1 -1
- package/lib/runtime/queue.js +1 -1
- package/lib/runtime/resolve.js +1 -1
- package/lib/skills/builtin-skill.js +1 -1
- package/lib/skills/main.js +1 -1
- package/lib/skills/npx-skills-add.js +1 -1
- package/lib/skills/skill-presence.js +1 -1
- package/lib/telemetry/cli-command-trace.js +1 -1
- package/lib/telemetry/cli-help-trace.js +1 -1
- package/lib/telemetry/ensure-cli-otel-config.js +1 -1
- package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
- package/lib/telemetry/send-cli-trace-log.js +1 -1
- package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
- package/lib/utils/ai_config.js +1 -1
- package/lib/utils/apply-jq-filter.js +1 -1
- package/lib/utils/cdn-config.js +1 -1
- package/lib/utils/check-sdk-version.js +1 -1
- package/lib/utils/cli-version-check.js +1 -1
- package/lib/utils/cli-version-policy.js +1 -1
- package/lib/utils/config.js +1 -1
- package/lib/utils/entity-with-id.js +1 -1
- package/lib/utils/file-utils.js +1 -1
- package/lib/utils/guides-cdn.js +1 -1
- package/lib/utils/http-client.js +1 -1
- package/lib/utils/is-non-interactive.js +1 -1
- package/lib/utils/logger.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/platform.js +1 -1
- package/lib/utils/sleep.js +1 -1
- package/lib/utils/template-replacer.js +1 -1
- package/lib/utils/update-notice.js +1 -1
- package/lib/utils/version.js +1 -1
- package/lib/utils/with-active-cookie.js +1 -1
- package/lib/utils/write-cli-side-channel.js +1 -1
- package/package.json +1 -1
- package/skills/rabetbase/SKILL.md +12 -6
- package/skills/rabetbase/references/rabetbase-app-members-list.md +2 -0
- package/skills/rabetbase/references/rabetbase-deployment-sync.md +41 -5
- package/skills/rabetbase/references/rabetbase-instant-api-policy.md +92 -0
- package/skills/rabetbase.manifest.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x442d12,_0x6bc4dd){const _0x3b4194=a179_0x1232,_0x3ad974=_0x442d12();while(!![]){try{const _0x556489=parseInt(_0x3b4194(0x153))/0x1*(-parseInt(_0x3b4194(0x143))/0x2)+-parseInt(_0x3b4194(0x141))/0x3+parseInt(_0x3b4194(0x152))/0x4+parseInt(_0x3b4194(0x13f))/0x5*(-parseInt(_0x3b4194(0x13e))/0x6)+parseInt(_0x3b4194(0x146))/0x7+-parseInt(_0x3b4194(0x14b))/0x8+parseInt(_0x3b4194(0x140))/0x9;if(_0x556489===_0x6bc4dd)break;else _0x3ad974['push'](_0x3ad974['shift']());}catch(_0x3ca8d7){_0x3ad974['push'](_0x3ad974['shift']());}}}(a179_0x1e45,0xb5d8f));import{existsSync}from'node:fs';import a179_0x1a0f53 from'node:path';import a179_0x3d11d6 from'chalk';function a179_0x1232(_0x1bdabc,_0x40249c){_0x1bdabc=_0x1bdabc-0x137;const _0x1e45de=a179_0x1e45();let _0x123226=_0x1e45de[_0x1bdabc];return _0x123226;}function a179_0x1e45(){const _0x4c9c18=['4227735CtrCDb','resolve','1501186LsLteJ','string','Not\x20set','6686085dgLbPm','production','√\x20Login\x20status:\x20','Login\x20failed','√\x20App\x20Code:\x20','9956384HzzVhZ','cwd','cyan','\x22\x20already\x20exists','log','Project\x20name:','env','2312608SVTino','1dEXyAT','trim','√\x20Project\x20Name:\x20','green','Logged\x20in','Directory\x20\x22','Skipped','my-app','24TctIrT','745765Dpsqzw','28912842ahjoxk'];a179_0x1e45=function(){return _0x4c9c18;};return a179_0x1e45();}import{input,confirm}from'@inquirer/prompts';import{getIsSessionValid}from'../../../auth/is-session-valid.js';import{authServer}from'../../../auth/auth-server.js';import{readConfig}from'../../../utils/config.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getProjectNameValidationError}from'../../../commands/project/create/project-name.js';export async function guidedCreateProject(_0x281324,_0x697523,_0x24e363){const _0x74dd61=a179_0x1232,_0x598b3e=_0x74dd61(0x13d),_0xaaf341=readConfig(),_0x396867=typeof _0xaaf341[_0x74dd61(0x151)]===_0x74dd61(0x144)?_0xaaf341[_0x74dd61(0x151)]:undefined,_0x562dd8=await input({'message':_0x74dd61(0x150),'default':_0x598b3e,'validate':_0x26738b=>{const _0x115acf=_0x74dd61,_0x296135=_0x26738b[_0x115acf(0x137)]()||_0x598b3e,_0x5ace7d=getProjectNameValidationError(_0x296135);if(_0x5ace7d)return _0x5ace7d;const _0xa20bda=a179_0x1a0f53[_0x115acf(0x142)](process[_0x115acf(0x14c)](),_0x296135);if(existsSync(_0xa20bda))return _0x115acf(0x13b)+_0x296135+_0x115acf(0x14e);return!![];}});console[_0x74dd61(0x14f)](a179_0x3d11d6[_0x74dd61(0x139)](_0x74dd61(0x138)+a179_0x3d11d6[_0x74dd61(0x14d)](_0x562dd8)));const _0x49adae=await selectSingleAppcode(_0x24e363);console[_0x74dd61(0x14f)](a179_0x3d11d6[_0x74dd61(0x139)](_0x74dd61(0x14a)+a179_0x3d11d6[_0x74dd61(0x14d)](_0x49adae||_0x74dd61(0x145))));if(_0x49adae){const _0x333981=await getIsSessionValid();if(!_0x333981){const _0xb6c6d3=await confirm({'message':'No\x20valid\x20login\x20detected.\x20Login\x20first\x20to\x20pull\x20API\x20config?','default':!![]});if(_0xb6c6d3){const _0x2abbbc=await authServer({'silent':!![]});console[_0x74dd61(0x14f)](a179_0x3d11d6['green'](_0x74dd61(0x148)+a179_0x3d11d6[_0x74dd61(0x14d)](_0x2abbbc?_0x74dd61(0x13a):_0x74dd61(0x149))));}else console['log'](a179_0x3d11d6[_0x74dd61(0x139)]('√\x20Login\x20status:\x20'+a179_0x3d11d6[_0x74dd61(0x14d)](_0x74dd61(0x13c))));}await _0x281324({'projectName':_0x562dd8,'appCode':_0x49adae,'env':_0x697523||_0x396867||_0x74dd61(0x147)});}else await _0x281324({'projectName':_0x562dd8,'env':_0x697523||_0x396867||_0x74dd61(0x147)});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x28bdf3,_0x311622){const _0xb5e3e8=a180_0x4546,_0x1d8699=_0x28bdf3();while(!![]){try{const _0x35f73f=-parseInt(_0xb5e3e8(0x18c))/0x1*(-parseInt(_0xb5e3e8(0x190))/0x2)+-parseInt(_0xb5e3e8(0x191))/0x3*(parseInt(_0xb5e3e8(0x18f))/0x4)+-parseInt(_0xb5e3e8(0x192))/0x5+-parseInt(_0xb5e3e8(0x18e))/0x6*(parseInt(_0xb5e3e8(0x189))/0x7)+-parseInt(_0xb5e3e8(0x188))/0x8+-parseInt(_0xb5e3e8(0x18d))/0x9+parseInt(_0xb5e3e8(0x18b))/0xa;if(_0x35f73f===_0x311622)break;else _0x1d8699['push'](_0x1d8699['shift']());}catch(_0x476ec8){_0x1d8699['push'](_0x1d8699['shift']());}}}(a180_0x3eaf,0x5854f));function a180_0x4546(_0x56db7b,_0x454353){_0x56db7b=_0x56db7b-0x188;const _0x3eafa8=a180_0x3eaf();let _0x454607=_0x3eafa8[_0x56db7b];return _0x454607;}function a180_0x3eaf(){const _0x588cc4=['1525080Hntocj','42AWIHQj','now','23144110Ksgths','711853HdgncQ','5467419qVPdiF','632238SmoUMe','3316pIlPFr','2jsUSei','2448bHdKVU','2788145bZtUcH','replace'];a180_0x3eaf=function(){return _0x588cc4;};return a180_0x3eaf();}export function formatElapsed(_0x4a29dd){const _0x3caf65=a180_0x4546,_0x145329=Date[_0x3caf65(0x18a)]()-_0x4a29dd;if(_0x145329<0x3e8)return _0x145329+'ms';const _0x42f566=(_0x145329/0x3e8)['toFixed'](0x2),_0x46386b=_0x42f566[_0x3caf65(0x193)](/\.?0+$/u,'');return _0x46386b+'s';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3ca352,_0x4fc553){const _0x5708a7=a168_0x4d9c,_0x3df243=_0x3ca352();while(!![]){try{const _0x163ad1=-parseInt(_0x5708a7(0x205))/0x1*(parseInt(_0x5708a7(0x1e5))/0x2)+-parseInt(_0x5708a7(0x1c6))/0x3*(-parseInt(_0x5708a7(0x1e8))/0x4)+-parseInt(_0x5708a7(0x1e0))/0x5+-parseInt(_0x5708a7(0x20e))/0x6*(parseInt(_0x5708a7(0x1cf))/0x7)+parseInt(_0x5708a7(0x1d2))/0x8+-parseInt(_0x5708a7(0x1d6))/0x9*(-parseInt(_0x5708a7(0x1d7))/0xa)+parseInt(_0x5708a7(0x216))/0xb*(parseInt(_0x5708a7(0x1fb))/0xc);if(_0x163ad1===_0x4fc553)break;else _0x3df243['push'](_0x3df243['shift']());}catch(_0x5bc365){_0x3df243['push'](_0x3df243['shift']());}}}(a168_0x2071,0x38c9e));import a168_0x40a9e3 from'path';import a168_0x2b9542 from'fs';import a168_0x13150f from'chalk';function a168_0x4d9c(_0x582cbf,_0x19e414){_0x582cbf=_0x582cbf-0x1ae;const _0x2071dc=a168_0x2071();let _0x4d9c80=_0x2071dc[_0x582cbf];return _0x4d9c80;}import a168_0x1007f2 from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x31bc78){const _0x2779ca=a168_0x4d9c;try{const _0x4f7f7a=a168_0x2b9542['lstatSync'](_0x31bc78);if(!_0x4f7f7a[_0x2779ca(0x1cb)]())return null;return{'dev':_0x4f7f7a[_0x2779ca(0x1d3)],'ino':_0x4f7f7a[_0x2779ca(0x21d)]};}catch{return null;}}function isSameDirectory(_0x238123,_0x5f51ee){const _0x331e92=a168_0x4d9c;return!!_0x238123&&!!_0x5f51ee&&_0x238123['dev']===_0x5f51ee['dev']&&_0x238123[_0x331e92(0x21d)]===_0x5f51ee[_0x331e92(0x21d)];}function commitCurrentDirectoryProject(_0x2572e8,_0x554a8f,_0x59c763){const _0xf082b=a168_0x4d9c;if(!isSameDirectory(readDirectoryIdentity(_0x2572e8),_0x59c763))throw new Error('Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation');const _0x46f7e5=a168_0x40a9e3[_0xf082b(0x1ed)](_0x554a8f),_0x210646=a168_0x2b9542['readdirSync'](_0x2572e8);if(_0x210646['length']!==0x1||_0x210646[0x0]!==_0x46f7e5)throw CliErrors[_0xf082b(0x1dd)]('The\x20current\x20directory\x20changed\x20during\x20project\x20creation.','Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.');const _0x2640cb=a168_0x40a9e3[_0xf082b(0x1d9)](_0x554a8f,'project'),_0x5567ba=[];try{for(const _0x4f30b1 of a168_0x2b9542[_0xf082b(0x1e6)](_0x2640cb)){a168_0x2b9542[_0xf082b(0x1c4)](a168_0x40a9e3[_0xf082b(0x1d9)](_0x2640cb,_0x4f30b1),a168_0x40a9e3[_0xf082b(0x1d9)](_0x2572e8,_0x4f30b1)),_0x5567ba[_0xf082b(0x1bb)](_0x4f30b1);}a168_0x2b9542['rmSync'](_0x554a8f,{'recursive':!![],'force':!![]});}catch(_0x55d8b4){for(const _0xff7fa8 of _0x5567ba['reverse']()){const _0x413318=a168_0x40a9e3['join'](_0x2572e8,_0xff7fa8);if(!a168_0x2b9542[_0xf082b(0x1b7)](_0x413318))continue;a168_0x2b9542[_0xf082b(0x1c4)](_0x413318,a168_0x40a9e3[_0xf082b(0x1d9)](_0x2640cb,_0xff7fa8));}throw _0x55d8b4;}}export async function createApp(_0x215dca){const _0x33cf0c=a168_0x4d9c,_0x307d0f=await checkCliVersion();(_0x307d0f[_0x33cf0c(0x1b2)]||_0x307d0f[_0x33cf0c(0x213)])&&(printCliUpgradeWarning(_0x307d0f),assertCliVersionSupported(_0x307d0f),logger[_0x33cf0c(0x1fe)](_0x33cf0c(0x1d0),_0x33cf0c(0x20a),{'currentVersion':_0x307d0f['currentVersion'],'stableVersion':_0x307d0f['stableVersion'],'minimumVersion':_0x307d0f[_0x33cf0c(0x1b1)],'needsUpgrade':_0x307d0f[_0x33cf0c(0x1b2)],'belowMinimum':_0x307d0f[_0x33cf0c(0x213)]}));const _0x3753e0=_0x215dca[_0x33cf0c(0x1eb)]?a168_0x40a9e3['basename'](process[_0x33cf0c(0x1c5)]()):_0x215dca[_0x33cf0c(0x201)];if(_0x3753e0&&(_0x215dca['appCode']||_0x215dca[_0x33cf0c(0x207)]))await runCreate({'projectName':_0x3753e0,'appCode':_0x215dca['appCode'],'env':_0x215dca[_0x33cf0c(0x1ce)]},_0x215dca);else{if(_0x3753e0){const _0x38891e=await selectSingleAppcode(_0x215dca[_0x33cf0c(0x1d4)]);await runCreate({'projectName':_0x3753e0,'appCode':_0x38891e||undefined,'env':_0x215dca[_0x33cf0c(0x1ce)]},_0x215dca);}else await guidedCreateProject(_0x1ea265=>runCreate(_0x1ea265,_0x215dca),_0x215dca[_0x33cf0c(0x1ce)],_0x215dca[_0x33cf0c(0x1d4)]);}}async function runCreate(_0x1cebde,_0x4a2726){const _0x470843=a168_0x4d9c;_0x1cebde[_0x470843(0x1ee)]=validateProjectName(_0x1cebde['projectName']);const _0x3ff1d1=_0x4a2726[_0x470843(0x1eb)]?process[_0x470843(0x1c5)]():a168_0x40a9e3['resolve'](process[_0x470843(0x1c5)](),_0x1cebde[_0x470843(0x1ee)]);if(_0x4a2726[_0x470843(0x1eb)]){if(a168_0x2b9542[_0x470843(0x1e6)](_0x3ff1d1)[_0x470843(0x217)]>0x0)throw CliErrors[_0x470843(0x1dd)]('The\x20current\x20directory\x20must\x20be\x20empty.','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.');}else{if(a168_0x2b9542[_0x470843(0x1b7)](_0x3ff1d1))throw new Error(_0x470843(0x1be)+_0x1cebde[_0x470843(0x1ee)]+_0x470843(0x1f6));}let _0x5e6bc8=null;const _0xe140c2=_0x4a2726[_0x470843(0x1eb)]?readDirectoryIdentity(_0x3ff1d1):null;let _0x1e0c52=null;try{a168_0x2b9542[_0x470843(0x1c7)](a168_0x40a9e3[_0x470843(0x1d8)](_0x3ff1d1),a168_0x2b9542[_0x470843(0x1e7)][_0x470843(0x1b8)]);}catch{throw new Error(_0x470843(0x1b3));}logger[_0x470843(0x1fe)]('create',_0x470843(0x1dc)+_0x1cebde['projectName'],{'projectDir':_0x3ff1d1,'appCode':_0x1cebde[_0x470843(0x1e1)]}),console['log'](),console['log'](a168_0x13150f['green']('\x20√\x20')+_0x470843(0x204)+a168_0x13150f['green'](_0x1cebde[_0x470843(0x1ee)])+(_0x1cebde[_0x470843(0x1e1)]?_0x470843(0x221)+a168_0x13150f[_0x470843(0x1d5)](_0x1cebde[_0x470843(0x1e1)]):''));try{let _0x57d03f=_0x1cebde[_0x470843(0x1ee)];_0x4a2726[_0x470843(0x1eb)]&&(_0x1e0c52=a168_0x2b9542[_0x470843(0x208)](a168_0x40a9e3[_0x470843(0x1d9)](_0x3ff1d1,_0x470843(0x202))),_0x57d03f=a168_0x40a9e3[_0x470843(0x211)](process['cwd'](),a168_0x40a9e3['join'](_0x1e0c52,_0x470843(0x218))));const _0x16dbca=a168_0x40a9e3[_0x470843(0x1e2)](process[_0x470843(0x1c5)](),_0x57d03f);await runTask(_0x470843(0x21b),_0x1b9bf4=>copyProjectTemplate(_0x57d03f,_0x1a5d85=>_0x1b9bf4(projectTemplateStageLabel(_0x1a5d85)),_0x4a2726['templateSource']),'Project\x20template\x20ready'),_0x5e6bc8=_0x4a2726[_0x470843(0x1eb)]?null:readDirectoryIdentity(_0x3ff1d1);if(!_0x4a2726[_0x470843(0x1eb)]&&!_0x5e6bc8)throw new Error('Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory');await updatePackageJsonName(_0x57d03f,_0x1cebde[_0x470843(0x1ee)]),await runTask(_0x470843(0x21e),()=>installDependencies(_0x57d03f)),await runTask('Format\x20code',()=>formatProjectCode(_0x57d03f)),await configureAppCode(_0x57d03f,_0x1cebde[_0x470843(0x1ee)],_0x1cebde[_0x470843(0x1e1)]||'',_0x1cebde[_0x470843(0x1ce)]);let _0x3d607b=![];if(_0x1cebde[_0x470843(0x1e1)]){console[_0x470843(0x1e4)](_0x470843(0x210));const _0x24b5cb=process[_0x470843(0x1c5)]();try{process[_0x470843(0x1f3)](_0x16dbca);const _0x4d75ec=_0x1cebde[_0x470843(0x1ce)]||_0x470843(0x20f);initEnv(_0x4d75ec);const {configArray:_0x3dd28a}=await fetchModelList(_0x1cebde[_0x470843(0x1e1)],_0x4a2726[_0x470843(0x1d4)]||''),_0x377c57=DEFAULT_API_DIR,_0x3ffaaa=await generateApiFile(_0x3dd28a,'',_0x1cebde[_0x470843(0x1e1)],!![],_0x4d75ec,_0x377c57,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x470843(0x1e4)](_0x470843(0x215)+_0x3dd28a[_0x470843(0x217)]+_0x470843(0x1bf)+_0x3ffaaa[_0x470843(0x1f8)]+'\x20model(s)'),logger[_0x470843(0x1fe)](_0x470843(0x1d0),_0x470843(0x1bd)+_0x1cebde[_0x470843(0x1e1)]);}catch(_0x2900f4){_0x3d607b=!![],console['log'](_0x470843(0x1db)+CLI_BIN_NAME+_0x470843(0x200)),logger[_0x470843(0x1c8)]('create',_0x470843(0x1cd),{'error':_0x2900f4 instanceof Error?_0x2900f4[_0x470843(0x1ca)]:String(_0x2900f4)});}finally{process['chdir'](_0x24b5cb);}}if(_0x4a2726[_0x470843(0x1eb)]){if(!_0x1e0c52||!_0xe140c2)throw new Error(_0x470843(0x1f9));commitCurrentDirectoryProject(_0x3ff1d1,_0x1e0c52,_0xe140c2),_0x1e0c52=null;}try{logger['setLogPath'](_0x3ff1d1),logger['success'](_0x470843(0x1d0),'Project\x20created:\x20'+_0x1cebde[_0x470843(0x1ee)]);}catch(_0x591d52){console['warn'](_0x470843(0x1c0)+(_0x591d52 instanceof Error?_0x591d52[_0x470843(0x1ca)]:String(_0x591d52)));}console['log'](),console['log'](a168_0x13150f[_0x470843(0x21c)]('─'[_0x470843(0x1fd)](0x3c))),console[_0x470843(0x1e4)](a168_0x13150f[_0x470843(0x1d5)]['bold'](_0x470843(0x1f4))),console['log']();const _0x1eeac4=_0x4a2726['currentDir']?CLI_BIN_NAME+_0x470843(0x1f1):_0x470843(0x1e9)+_0x1cebde['projectName']+_0x470843(0x1c9)+CLI_BIN_NAME+'\x20run\x20start';console[_0x470843(0x1e4)]('\x20\x201.\x20Start\x20project:\x20'+a168_0x13150f['cyan'][_0x470843(0x1b9)](_0x1eeac4)),_0x3d607b&&console[_0x470843(0x1e4)](_0x470843(0x1fa)+a168_0x13150f['cyan']['bold'](CLI_BIN_NAME+'\x20api\x20pull\x20--force\x20--yes')),console[_0x470843(0x1e4)](a168_0x13150f[_0x470843(0x21c)]('─'[_0x470843(0x1fd)](0x3c)));}catch(_0x5189e1){logger[_0x470843(0x1da)](_0x470843(0x1d0),'Project\x20creation\x20failed:\x20'+_0x1cebde[_0x470843(0x1ee)],{'error':_0x5189e1 instanceof Error?_0x5189e1['message']:String(_0x5189e1)});try{const _0x1ae401=readDirectoryIdentity(_0x3ff1d1);if(_0x4a2726[_0x470843(0x1eb)]&&_0x1e0c52)a168_0x2b9542['rmSync'](_0x1e0c52,{'recursive':!![],'force':!![]});else{if(_0x5e6bc8&&_0x1ae401?.[_0x470843(0x1d3)]===_0x5e6bc8[_0x470843(0x1d3)]&&_0x1ae401['ino']===_0x5e6bc8[_0x470843(0x21d)])console[_0x470843(0x1e4)](_0x470843(0x1ef)+_0x3ff1d1),a168_0x2b9542['rmSync'](_0x3ff1d1,{'recursive':!![],'force':!![]});else _0x1ae401&&logger[_0x470843(0x1c8)](_0x470843(0x1d0),_0x470843(0x1f7)+_0x3ff1d1);}}catch{logger[_0x470843(0x1c8)](_0x470843(0x1d0),'Failed\x20to\x20clean\x20up\x20project\x20directory:\x20'+_0x3ff1d1);}throw _0x5189e1;}}async function runTask(_0x519943,_0x2e1939,_0x3e9c75=_0x519943){const _0x3cee39=a168_0x4d9c,_0x148a50=a168_0x1007f2(_0x519943+_0x3cee39(0x1f2))['start']();try{const _0x4fd8e8=await _0x2e1939(_0x422832=>{const _0xdb3d80=_0x3cee39;_0x148a50[_0xdb3d80(0x21a)]=_0x422832+'...';});_0x148a50[_0x3cee39(0x21f)](),console[_0x3cee39(0x1e4)](''+a168_0x13150f[_0x3cee39(0x21c)](_0x3cee39(0x206))+_0x3e9c75+'\x20'+a168_0x13150f[_0x3cee39(0x1ea)]('['+_0x4fd8e8+']'));}catch(_0x22656b){_0x148a50[_0x3cee39(0x20c)](_0x519943);throw _0x22656b;}}function projectTemplateStageLabel(_0x1918b2){const _0x4508b5=a168_0x4d9c;switch(_0x1918b2){case _0x4508b5(0x209):return _0x4508b5(0x21b);case _0x4508b5(0x20d):return _0x4508b5(0x1cc);case _0x4508b5(0x214):return'Verifying\x20project\x20template';case _0x4508b5(0x1fc):return'Extracting\x20project\x20template';case _0x4508b5(0x1df):return _0x4508b5(0x1b4);}}function a168_0x2071(){const _0x107bfb=['text','Resolving\x20project\x20template','green','ino','Install\x20dependencies','stop','√\x20Configuration\x20file\x20created,\x20Apps:\x20','\x20|\x20AppCode:\x20','*\x20Creating\x20configuration\x20file\x20for\x20project\x20','Failed\x20to\x20update\x20package.json','\x20config\x20set\x20appcode\x20<app-code>\x27','minimumVersion','needsUpgrade','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','Copying\x20local\x20template\x20source','package.json','readFileSync','existsSync','W_OK','bold','\x20|\x20Default:\x20implicit\x20(single\x20app)','push','keys','API\x20configuration\x20pulled:\x20','Project\x20directory\x20','\x20dataset(s),\x20generated\x20','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','utf8','\x20Generated\x20by\x20rabetbase\x20cli\x20','version','renameSync','cwd','133833uAmYqc','accessSync','warn','\x20&&\x20','message','isDirectory','Downloading\x20project\x20template','API\x20configuration\x20pull\x20failed','env','91wjXppO','create','Updating\x20package.json\x20name','694032BufaRW','dev','cookie','cyan','36FQINsm','332120ynfKDL','dirname','join','error','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','Starting\x20project\x20creation:\x20','validation','parse','copying','614640FrhuAg','appCode','resolve','1.0.0','log','358YxsLhe','readdirSync','constants','12qdTSND','cd\x20','gray','currentDir','name','basename','projectName','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','\x20run\x20start','...','chdir','🚀\x20Next\x20Steps:','writeFileSync','\x20already\x20exists','Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20','modelCount','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','\x20\x202.\x20Pull\x20API\x20configuration:\x20','12TtTbSS','extracting','repeat','info','Configured\x20app\x20AppCode:\x20','\x20api\x20pull\x20--force\x20--yes','projectCode','.rabetbase-create-','*\x20Configuring\x20AppCode\x20for\x20project\x20','Project\x20name:\x20','292wvIqOG','\x20√\x20','nonInteractive','mkdtempSync','resolving','CLI\x20version\x20check','√\x20package.json\x20updated:\x20name=','fail','downloading','53478ADuBLq','production','*\x20Pulling\x20API\x20configuration...','relative','string','belowMinimum','verifying','√\x20Pulled\x20','1872596ygVCYN','length','project','apps'];a168_0x2071=function(){return _0x107bfb;};return a168_0x2071();}async function updatePackageJsonName(_0x1451df,_0x46f03b){const _0x2ee852=a168_0x4d9c,_0x5b10c5=a168_0x40a9e3[_0x2ee852(0x1e2)](process['cwd'](),_0x1451df),_0x60b01f=a168_0x40a9e3['join'](_0x5b10c5,_0x2ee852(0x1b5));try{console[_0x2ee852(0x1e4)](_0x2ee852(0x1f0));const _0x210fa8=getRabetbaseCliPackageRoot(),_0x38107a=a168_0x40a9e3[_0x2ee852(0x1d9)](_0x210fa8,_0x2ee852(0x1b5));let _0xdf4606=_0x2ee852(0x1e3);try{const _0x3816c9=JSON[_0x2ee852(0x1de)](a168_0x2b9542['readFileSync'](_0x38107a,_0x2ee852(0x1c1)));_0xdf4606=_0x3816c9[_0x2ee852(0x1c3)]||_0x2ee852(0x1e3);}catch{}const _0x330c5f=a168_0x2b9542['readFileSync'](_0x60b01f,_0x2ee852(0x1c1)),_0x413c56=JSON[_0x2ee852(0x1de)](_0x330c5f);_0x413c56[_0x2ee852(0x1ec)]=_0x46f03b,_0x413c56['description']=_0x46f03b+_0x2ee852(0x1c2)+_0xdf4606,a168_0x2b9542[_0x2ee852(0x1f5)](_0x60b01f,JSON['stringify'](_0x413c56,null,0x2)+'\x0a',_0x2ee852(0x1c1)),console['log'](_0x2ee852(0x20b)+_0x46f03b),logger[_0x2ee852(0x1fe)](_0x2ee852(0x1d0),_0x2ee852(0x1d1));}catch(_0x5e194e){logger['error'](_0x2ee852(0x1d0),_0x2ee852(0x1af));throw _0x5e194e;}}async function configureAppCode(_0x4e2574,_0xb19b16,_0x2d9eda,_0x41dd48){const _0x5938d1=a168_0x4d9c,_0x99e91e=a168_0x40a9e3[_0x5938d1(0x1e2)](process[_0x5938d1(0x1c5)](),_0x4e2574),_0xd3e9a9=a168_0x40a9e3['join'](_0x99e91e,NEW_CONFIG_NAME);try{_0x2d9eda?console[_0x5938d1(0x1e4)](_0x5938d1(0x203)+_0xb19b16+':\x20'+_0x2d9eda):console[_0x5938d1(0x1e4)](_0x5938d1(0x1ae)+_0xb19b16);const _0x36bd13=getRabetbaseCliPackageRoot(),_0x2f174b=a168_0x40a9e3[_0x5938d1(0x1d9)](_0x36bd13,_0x5938d1(0x1b5));let _0x5c7f10=_0x5938d1(0x1e3);try{const _0x4928b6=JSON[_0x5938d1(0x1de)](a168_0x2b9542[_0x5938d1(0x1b6)](_0x2f174b,_0x5938d1(0x1c1)));_0x5c7f10=_0x4928b6[_0x5938d1(0x1c3)]||_0x5938d1(0x1e3);}catch{}const {globalConfig:_0x228b82}=loadRawConfigLayers(),_0x274b52=typeof _0x228b82[_0x5938d1(0x1ce)]===_0x5938d1(0x212)?_0x228b82[_0x5938d1(0x1ce)]:undefined,_0xe425d9={};for(const _0x20342a of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x228b82[_0x20342a]!=null)_0xe425d9[_0x20342a]=_0x228b82[_0x20342a];}const _0x37ed66=buildCanonicalProjectConfig(_0xe425d9,{'appCodes':_0x2d9eda?[_0x2d9eda]:[],'env':_0x41dd48||_0x274b52||_0x5938d1(0x20f),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x5c7f10}});writeConfigFile(_0xd3e9a9,_0x37ed66),await generateSdkConfigFile(a168_0x40a9e3[_0x5938d1(0x1d9)](_0x99e91e,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x99e91e),_0x2d9eda?console[_0x5938d1(0x1e4)](_0x5938d1(0x220)+Object[_0x5938d1(0x1bc)](_0x37ed66[_0x5938d1(0x219)]||{})[_0x5938d1(0x1d9)](',\x20')+_0x5938d1(0x1ba)):console[_0x5938d1(0x1e4)]('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x5938d1(0x1b0)),logger['info'](_0x5938d1(0x1d0),_0x5938d1(0x1ff)+_0x2d9eda);}catch(_0x1e81f9){logger[_0x5938d1(0x1da)](_0x5938d1(0x1d0),'Failed\x20to\x20configure\x20app\x20AppCode');throw _0x1e81f9;}}
|
|
1
|
+
(function(_0x126e3e,_0x32660b){const _0x1ba9a7=a181_0x5df7,_0x3f7dd7=_0x126e3e();while(!![]){try{const _0x555783=parseInt(_0x1ba9a7(0x118))/0x1*(-parseInt(_0x1ba9a7(0xb9))/0x2)+parseInt(_0x1ba9a7(0xbb))/0x3+parseInt(_0x1ba9a7(0xd2))/0x4*(parseInt(_0x1ba9a7(0xbf))/0x5)+parseInt(_0x1ba9a7(0x117))/0x6+parseInt(_0x1ba9a7(0xdd))/0x7*(parseInt(_0x1ba9a7(0xde))/0x8)+parseInt(_0x1ba9a7(0xfc))/0x9*(parseInt(_0x1ba9a7(0xdc))/0xa)+-parseInt(_0x1ba9a7(0x128))/0xb;if(_0x555783===_0x32660b)break;else _0x3f7dd7['push'](_0x3f7dd7['shift']());}catch(_0x296a4a){_0x3f7dd7['push'](_0x3f7dd7['shift']());}}}(a181_0x22e7,0x3fdb8));import a181_0x24c8a2 from'path';import a181_0x2d24f7 from'fs';import a181_0x151d20 from'chalk';import a181_0x55881e from'ora';import{guidedCreateProject}from'../../../commands/project/create/enhanced-guided-create.js';import{fetchModelList}from'../../../core/api-client.js';import{generateApiFile}from'../../../api/generate-api-file.js';import{initEnv}from'../../../constant/env.js';import{CLI_BIN_NAME}from'../../../constant/cli.js';import{DEFAULT_API_DIR}from'../../../constant/paths.js';import{loadRawConfigLayers,writeConfigFile,NEW_CONFIG_NAME}from'../../../context.js';import{copyProjectTemplate}from'../../../commands/project/create/use-copy-project-template.js';import{installDependencies}from'../../../commands/project/create/use-install-dependencies.js';function a181_0x5df7(_0x2f1e6d,_0x48ea7c){_0x2f1e6d=_0x2f1e6d-0xb8;const _0x22e755=a181_0x22e7();let _0x5df75c=_0x22e755[_0x2f1e6d];return _0x5df75c;}import{formatProjectCode}from'../../../commands/project/create/use-format-code.js';import{logger}from'../../../utils/logger.js';import{assertCliVersionSupported,checkCliVersion,printCliUpgradeWarning}from'../../../utils/cli-version-check.js';import{PROJECT_CREATE_INHERITABLE_KEYS,buildCanonicalProjectConfig}from'../../../config/schema.js';import{selectSingleAppcode}from'../../../commands/common/app-selector.js';import{getRabetbaseCliPackageRoot}from'../../../commands/project/create/project-template-path.js';import{validateProjectName}from'../../../commands/project/create/project-name.js';import{getSdkClientRoutingConfig}from'../../../constant/domain.js';import{generateSdkConfigFile}from'../../../api/generate-sdk-config-file.js';import{writeProjectDomainRoutingManifest}from'../../../config/project-domain-routing.js';import{CliErrors}from'../../../errors.js';function readDirectoryIdentity(_0x954816){const _0x5389b7=a181_0x5df7;try{const _0x42ce9c=a181_0x2d24f7[_0x5389b7(0xf5)](_0x954816);if(!_0x42ce9c[_0x5389b7(0xbe)]())return null;return{'dev':_0x42ce9c['dev'],'ino':_0x42ce9c[_0x5389b7(0xe9)]};}catch{return null;}}function isSameDirectory(_0x28af73,_0x206960){const _0x440f14=a181_0x5df7;return!!_0x28af73&&!!_0x206960&&_0x28af73[_0x440f14(0xfa)]===_0x206960['dev']&&_0x28af73[_0x440f14(0xe9)]===_0x206960['ino'];}function commitCurrentDirectoryProject(_0x33bd7f,_0x5ce66e,_0x16a6cf){const _0xa4a448=a181_0x5df7;if(!isSameDirectory(readDirectoryIdentity(_0x33bd7f),_0x16a6cf))throw new Error(_0xa4a448(0x12d));const _0x4ab500=a181_0x24c8a2['basename'](_0x5ce66e),_0x3f0ddc=a181_0x2d24f7['readdirSync'](_0x33bd7f);if(_0x3f0ddc['length']!==0x1||_0x3f0ddc[0x0]!==_0x4ab500)throw CliErrors[_0xa4a448(0xe2)](_0xa4a448(0xc7),'Remove\x20the\x20new\x20files\x20and\x20retry\x20from\x20an\x20empty\x20directory.');const _0x20b744=a181_0x24c8a2['join'](_0x5ce66e,_0xa4a448(0x11d)),_0x23cf91=[];try{for(const _0x5938c3 of a181_0x2d24f7['readdirSync'](_0x20b744)){a181_0x2d24f7[_0xa4a448(0xba)](a181_0x24c8a2[_0xa4a448(0xf7)](_0x20b744,_0x5938c3),a181_0x24c8a2['join'](_0x33bd7f,_0x5938c3)),_0x23cf91['push'](_0x5938c3);}a181_0x2d24f7[_0xa4a448(0xf2)](_0x5ce66e,{'recursive':!![],'force':!![]});}catch(_0x247754){for(const _0x28ab2c of _0x23cf91[_0xa4a448(0x11a)]()){const _0x5a386f=a181_0x24c8a2['join'](_0x33bd7f,_0x28ab2c);if(!a181_0x2d24f7[_0xa4a448(0xd4)](_0x5a386f))continue;a181_0x2d24f7[_0xa4a448(0xba)](_0x5a386f,a181_0x24c8a2['join'](_0x20b744,_0x28ab2c));}throw _0x247754;}}export async function createApp(_0xffb395){const _0x4e1d4a=a181_0x5df7,_0x4e698a=await checkCliVersion();(_0x4e698a[_0x4e1d4a(0xea)]||_0x4e698a[_0x4e1d4a(0x113)])&&(printCliUpgradeWarning(_0x4e698a),assertCliVersionSupported(_0x4e698a),logger[_0x4e1d4a(0x11e)](_0x4e1d4a(0xed),_0x4e1d4a(0x104),{'currentVersion':_0x4e698a[_0x4e1d4a(0xef)],'stableVersion':_0x4e698a['stableVersion'],'minimumVersion':_0x4e698a[_0x4e1d4a(0xdb)],'needsUpgrade':_0x4e698a[_0x4e1d4a(0xea)],'belowMinimum':_0x4e698a['belowMinimum']}));const _0x309c3f=_0xffb395[_0x4e1d4a(0x130)]?a181_0x24c8a2[_0x4e1d4a(0x108)](process[_0x4e1d4a(0x110)]()):_0xffb395['projectCode'];if(_0x309c3f&&(_0xffb395[_0x4e1d4a(0xb8)]||_0xffb395[_0x4e1d4a(0x119)]))await runCreate({'projectName':_0x309c3f,'appCode':_0xffb395[_0x4e1d4a(0xb8)],'env':_0xffb395[_0x4e1d4a(0x106)]},_0xffb395);else{if(_0x309c3f){const _0x54187c=await selectSingleAppcode(_0xffb395[_0x4e1d4a(0x100)]);await runCreate({'projectName':_0x309c3f,'appCode':_0x54187c||undefined,'env':_0xffb395['env']},_0xffb395);}else await guidedCreateProject(_0x337c61=>runCreate(_0x337c61,_0xffb395),_0xffb395[_0x4e1d4a(0x106)],_0xffb395[_0x4e1d4a(0x100)]);}}async function runCreate(_0x30e4e7,_0xe0a441){const _0x2c1419=a181_0x5df7;_0x30e4e7['projectName']=validateProjectName(_0x30e4e7['projectName']);const _0x2c5812=_0xe0a441[_0x2c1419(0x130)]?process[_0x2c1419(0x110)]():a181_0x24c8a2[_0x2c1419(0x107)](process['cwd'](),_0x30e4e7[_0x2c1419(0x105)]);if(_0xe0a441['currentDir']){if(a181_0x2d24f7[_0x2c1419(0x109)](_0x2c5812)[_0x2c1419(0xc3)]>0x0)throw CliErrors[_0x2c1419(0xe2)](_0x2c1419(0xeb),_0x2c1419(0xe3));}else{if(a181_0x2d24f7[_0x2c1419(0xd4)](_0x2c5812))throw new Error(_0x2c1419(0x126)+_0x30e4e7[_0x2c1419(0x105)]+'\x20already\x20exists');}let _0x594fc7=null;const _0x55e580=_0xe0a441[_0x2c1419(0x130)]?readDirectoryIdentity(_0x2c5812):null;let _0x5c9531=null;try{a181_0x2d24f7['accessSync'](a181_0x24c8a2[_0x2c1419(0xc9)](_0x2c5812),a181_0x2d24f7[_0x2c1419(0xc2)]['W_OK']);}catch{throw new Error(_0x2c1419(0x103));}logger['info'](_0x2c1419(0xed),_0x2c1419(0xe5)+_0x30e4e7['projectName'],{'projectDir':_0x2c5812,'appCode':_0x30e4e7['appCode']}),console['log'](),console[_0x2c1419(0xbc)](a181_0x151d20['green'](_0x2c1419(0xcb))+_0x2c1419(0xcf)+a181_0x151d20[_0x2c1419(0xd1)](_0x30e4e7['projectName'])+(_0x30e4e7[_0x2c1419(0xb8)]?_0x2c1419(0xe4)+a181_0x151d20['cyan'](_0x30e4e7[_0x2c1419(0xb8)]):''));try{let _0x4e1dd6=_0x30e4e7[_0x2c1419(0x105)];_0xe0a441['currentDir']&&(_0x5c9531=a181_0x2d24f7['mkdtempSync'](a181_0x24c8a2[_0x2c1419(0xf7)](_0x2c5812,_0x2c1419(0x129))),_0x4e1dd6=a181_0x24c8a2[_0x2c1419(0x121)](process[_0x2c1419(0x110)](),a181_0x24c8a2[_0x2c1419(0xf7)](_0x5c9531,_0x2c1419(0x11d))));const _0x36345a=a181_0x24c8a2[_0x2c1419(0x107)](process[_0x2c1419(0x110)](),_0x4e1dd6);await runTask(_0x2c1419(0x12a),_0x13b239=>copyProjectTemplate(_0x4e1dd6,_0x2c9cca=>_0x13b239(projectTemplateStageLabel(_0x2c9cca)),_0xe0a441[_0x2c1419(0xda)]),_0x2c1419(0xfe)),_0x594fc7=_0xe0a441[_0x2c1419(0x130)]?null:readDirectoryIdentity(_0x2c5812);if(!_0xe0a441['currentDir']&&!_0x594fc7)throw new Error(_0x2c1419(0x125));await updatePackageJsonName(_0x4e1dd6,_0x30e4e7[_0x2c1419(0x105)]),await runTask(_0x2c1419(0x123),()=>installDependencies(_0x4e1dd6)),await runTask('Format\x20code',()=>formatProjectCode(_0x4e1dd6)),await configureAppCode(_0x4e1dd6,_0x30e4e7['projectName'],_0x30e4e7[_0x2c1419(0xb8)]||'',_0x30e4e7[_0x2c1419(0x106)]);let _0xee0b3f=![];if(_0x30e4e7[_0x2c1419(0xb8)]){console[_0x2c1419(0xbc)](_0x2c1419(0xca));const _0x540658=process[_0x2c1419(0x110)]();try{process[_0x2c1419(0xe7)](_0x36345a);const _0xc1696=_0x30e4e7[_0x2c1419(0x106)]||_0x2c1419(0xe6);initEnv(_0xc1696);const {configArray:_0x55df5f}=await fetchModelList(_0x30e4e7[_0x2c1419(0xb8)],_0xe0a441[_0x2c1419(0x100)]||''),_0x12bfa0=DEFAULT_API_DIR,_0x4e34f6=await generateApiFile(_0x55df5f,'',_0x30e4e7[_0x2c1419(0xb8)],!![],_0xc1696,_0x12bfa0,undefined,getSdkClientRoutingConfig(),{'overwriteTypescript':!![]});console[_0x2c1419(0xbc)](_0x2c1419(0xce)+_0x55df5f[_0x2c1419(0xc3)]+_0x2c1419(0x12c)+_0x4e34f6[_0x2c1419(0x116)]+_0x2c1419(0xbd)),logger[_0x2c1419(0x11e)](_0x2c1419(0xed),'API\x20configuration\x20pulled:\x20'+_0x30e4e7[_0x2c1419(0xb8)]);}catch(_0x4b912f){_0xee0b3f=!![],console[_0x2c1419(0xbc)](_0x2c1419(0xe1)+CLI_BIN_NAME+_0x2c1419(0xec)),logger[_0x2c1419(0x10c)]('create',_0x2c1419(0x120),{'error':_0x4b912f instanceof Error?_0x4b912f[_0x2c1419(0x112)]:String(_0x4b912f)});}finally{process[_0x2c1419(0xe7)](_0x540658);}}if(_0xe0a441['currentDir']){if(!_0x5c9531||!_0x55e580)throw new Error(_0x2c1419(0xd8));commitCurrentDirectoryProject(_0x2c5812,_0x5c9531,_0x55e580),_0x5c9531=null;}try{logger[_0x2c1419(0xff)](_0x2c5812),logger[_0x2c1419(0xd9)](_0x2c1419(0xed),'Project\x20created:\x20'+_0x30e4e7[_0x2c1419(0x105)]);}catch(_0x5b4f3b){console[_0x2c1419(0x10c)](_0x2c1419(0xf9)+(_0x5b4f3b instanceof Error?_0x5b4f3b[_0x2c1419(0x112)]:String(_0x5b4f3b)));}console[_0x2c1419(0xbc)](),console['log'](a181_0x151d20['green']('─'[_0x2c1419(0x115)](0x3c))),console['log'](a181_0x151d20[_0x2c1419(0x10e)][_0x2c1419(0xf1)](_0x2c1419(0x11b))),console[_0x2c1419(0xbc)]();const _0x175d98=_0xe0a441['currentDir']?CLI_BIN_NAME+'\x20run\x20start':_0x2c1419(0xdf)+_0x30e4e7[_0x2c1419(0x105)]+_0x2c1419(0xf0)+CLI_BIN_NAME+'\x20run\x20start';console[_0x2c1419(0xbc)](_0x2c1419(0xc6)+a181_0x151d20[_0x2c1419(0x10e)]['bold'](_0x175d98)),_0xee0b3f&&console[_0x2c1419(0xbc)](_0x2c1419(0x127)+a181_0x151d20[_0x2c1419(0x10e)][_0x2c1419(0xf1)](CLI_BIN_NAME+'\x20api\x20pull\x20--force\x20--yes')),console['log'](a181_0x151d20[_0x2c1419(0xd1)]('─'[_0x2c1419(0x115)](0x3c)));}catch(_0x276d81){logger[_0x2c1419(0x12e)](_0x2c1419(0xed),'Project\x20creation\x20failed:\x20'+_0x30e4e7[_0x2c1419(0x105)],{'error':_0x276d81 instanceof Error?_0x276d81[_0x2c1419(0x112)]:String(_0x276d81)});try{const _0x2c2c7c=readDirectoryIdentity(_0x2c5812);if(_0xe0a441['currentDir']&&_0x5c9531)a181_0x2d24f7[_0x2c1419(0xf2)](_0x5c9531,{'recursive':!![],'force':!![]});else{if(_0x594fc7&&_0x2c2c7c?.['dev']===_0x594fc7[_0x2c1419(0xfa)]&&_0x2c2c7c['ino']===_0x594fc7[_0x2c1419(0xe9)])console['log'](_0x2c1419(0x11c)+_0x2c5812),a181_0x2d24f7[_0x2c1419(0xf2)](_0x2c5812,{'recursive':!![],'force':!![]});else _0x2c2c7c&&logger[_0x2c1419(0x10c)](_0x2c1419(0xed),'Skip\x20cleanup:\x20project\x20directory\x20ownership\x20changed:\x20'+_0x2c5812);}}catch{logger[_0x2c1419(0x10c)]('create',_0x2c1419(0xfd)+_0x2c5812);}throw _0x276d81;}}async function runTask(_0x3502db,_0x361322,_0x27ddce=_0x3502db){const _0x4979f1=a181_0x5df7,_0x41576a=a181_0x55881e(_0x3502db+'...')[_0x4979f1(0x122)]();try{const _0x4b0432=await _0x361322(_0x4625b5=>{_0x41576a['text']=_0x4625b5+'...';});_0x41576a[_0x4979f1(0xe0)](),console[_0x4979f1(0xbc)](''+a181_0x151d20[_0x4979f1(0xd1)](_0x4979f1(0xcb))+_0x27ddce+'\x20'+a181_0x151d20[_0x4979f1(0x10b)]('['+_0x4b0432+']'));}catch(_0x2fa798){_0x41576a[_0x4979f1(0xd7)](_0x3502db);throw _0x2fa798;}}function a181_0x22e7(){const _0x58ca08=['√\x20Configuration\x20file\x20created,\x20Apps:\x20','dirname','*\x20Pulling\x20API\x20configuration...','\x20√\x20','√\x20package.json\x20updated:\x20name=','name','√\x20Pulled\x20','Project\x20name:\x20','stringify','green','372irgQlz','readFileSync','existsSync','Configured\x20app\x20AppCode:\x20','*\x20Updating\x20package.json\x20name\x20and\x20description\x20fields','fail','Unable\x20to\x20prepare\x20the\x20current\x20directory\x20workspace','success','templateSource','minimumVersion','10DiMxGU','24493VoRczf','1176USseaQ','cd\x20','stop','!\x20API\x20configuration\x20pull\x20error,\x20you\x20can\x20manually\x20run:\x20','validation','Remove\x20or\x20move\x20the\x20existing\x20files,\x20then\x20retry\x20with\x20--current-dir.','\x20|\x20AppCode:\x20','Starting\x20project\x20creation:\x20','production','chdir','parse','ino','needsUpgrade','The\x20current\x20directory\x20must\x20be\x20empty.','\x20api\x20pull\x20--force\x20--yes','create','extracting','currentVersion','\x20&&\x20','bold','rmSync','Failed\x20to\x20configure\x20app\x20AppCode','Updating\x20package.json\x20name','lstatSync','*\x20Configuring\x20AppCode\x20for\x20project\x20','join','Failed\x20to\x20update\x20package.json','!\x20Project\x20created,\x20but\x20local\x20logging\x20could\x20not\x20be\x20initialized:\x20','dev','copying','1369107oOGDPg','Failed\x20to\x20clean\x20up\x20project\x20directory:\x20','Project\x20template\x20ready','setLogPath','cookie','utf8','1.0.0','Cannot\x20create\x20project\x20in\x20current\x20directory,\x20please\x20check\x20directory\x20permissions','CLI\x20version\x20check','projectName','env','resolve','basename','readdirSync','\x20config\x20set\x20appcode\x20<app-code>\x27','gray','warn','\x20Generated\x20by\x20rabetbase\x20cli\x20','cyan','resolving','cwd','Extracting\x20project\x20template','message','belowMinimum','version','repeat','modelCount','18078LmukIo','109eAGnpZ','nonInteractive','reverse','🚀\x20Next\x20Steps:','*\x20Cleaning\x20up\x20failed\x20project\x20directory:\x20','project','info','string','API\x20configuration\x20pull\x20failed','relative','start','Install\x20dependencies','package.json','Unable\x20to\x20verify\x20ownership\x20of\x20the\x20created\x20project\x20directory','Project\x20directory\x20','\x20\x202.\x20Pull\x20API\x20configuration:\x20','8247184dSbQZD','.rabetbase-create-','Resolving\x20project\x20template','Copying\x20local\x20template\x20source','\x20dataset(s),\x20generated\x20','Current\x20directory\x20identity\x20changed\x20during\x20project\x20creation','error','verifying','currentDir','appCode','8922xXNcEk','renameSync','1062966cUsrOy','log','\x20model(s)','isDirectory','25470pTPMoj','downloading','\x20|\x20Default:\x20implicit\x20(single\x20app)','constants','length','apps','Verifying\x20project\x20template','\x20\x201.\x20Start\x20project:\x20','The\x20current\x20directory\x20changed\x20during\x20project\x20creation.'];a181_0x22e7=function(){return _0x58ca08;};return a181_0x22e7();}function projectTemplateStageLabel(_0x52f70a){const _0x37e872=a181_0x5df7;switch(_0x52f70a){case _0x37e872(0x10f):return _0x37e872(0x12a);case _0x37e872(0xc0):return'Downloading\x20project\x20template';case _0x37e872(0x12f):return _0x37e872(0xc5);case _0x37e872(0xee):return _0x37e872(0x111);case _0x37e872(0xfb):return _0x37e872(0x12b);}}async function updatePackageJsonName(_0x249c45,_0x101fdb){const _0x5177f9=a181_0x5df7,_0x13f540=a181_0x24c8a2[_0x5177f9(0x107)](process[_0x5177f9(0x110)](),_0x249c45),_0x882daf=a181_0x24c8a2[_0x5177f9(0xf7)](_0x13f540,_0x5177f9(0x124));try{console['log'](_0x5177f9(0xd6));const _0x15979e=getRabetbaseCliPackageRoot(),_0x4ffee2=a181_0x24c8a2['join'](_0x15979e,_0x5177f9(0x124));let _0x1d326b=_0x5177f9(0x102);try{const _0x14fb1e=JSON[_0x5177f9(0xe8)](a181_0x2d24f7['readFileSync'](_0x4ffee2,_0x5177f9(0x101)));_0x1d326b=_0x14fb1e[_0x5177f9(0x114)]||_0x5177f9(0x102);}catch{}const _0x4a1641=a181_0x2d24f7[_0x5177f9(0xd3)](_0x882daf,_0x5177f9(0x101)),_0x4a9a8f=JSON[_0x5177f9(0xe8)](_0x4a1641);_0x4a9a8f[_0x5177f9(0xcd)]=_0x101fdb,_0x4a9a8f['description']=_0x101fdb+_0x5177f9(0x10d)+_0x1d326b,a181_0x2d24f7['writeFileSync'](_0x882daf,JSON[_0x5177f9(0xd0)](_0x4a9a8f,null,0x2)+'\x0a',_0x5177f9(0x101)),console[_0x5177f9(0xbc)](_0x5177f9(0xcc)+_0x101fdb),logger[_0x5177f9(0x11e)](_0x5177f9(0xed),_0x5177f9(0xf4));}catch(_0x54de4){logger['error']('create',_0x5177f9(0xf8));throw _0x54de4;}}async function configureAppCode(_0x9ec1a4,_0x5d6088,_0x2dff7f,_0x19e01d){const _0x2a64b4=a181_0x5df7,_0x232174=a181_0x24c8a2['resolve'](process[_0x2a64b4(0x110)](),_0x9ec1a4),_0x26a357=a181_0x24c8a2['join'](_0x232174,NEW_CONFIG_NAME);try{_0x2dff7f?console[_0x2a64b4(0xbc)](_0x2a64b4(0xf6)+_0x5d6088+':\x20'+_0x2dff7f):console[_0x2a64b4(0xbc)]('*\x20Creating\x20configuration\x20file\x20for\x20project\x20'+_0x5d6088);const _0x229e2d=getRabetbaseCliPackageRoot(),_0x5e559e=a181_0x24c8a2[_0x2a64b4(0xf7)](_0x229e2d,'package.json');let _0x6f32b9=_0x2a64b4(0x102);try{const _0x35cd8f=JSON['parse'](a181_0x2d24f7[_0x2a64b4(0xd3)](_0x5e559e,_0x2a64b4(0x101)));_0x6f32b9=_0x35cd8f[_0x2a64b4(0x114)]||'1.0.0';}catch{}const {globalConfig:_0x15f2d0}=loadRawConfigLayers(),_0x271014=typeof _0x15f2d0[_0x2a64b4(0x106)]===_0x2a64b4(0x11f)?_0x15f2d0[_0x2a64b4(0x106)]:undefined,_0x37eacb={};for(const _0x5e9cdd of PROJECT_CREATE_INHERITABLE_KEYS){if(_0x15f2d0[_0x5e9cdd]!=null)_0x37eacb[_0x5e9cdd]=_0x15f2d0[_0x5e9cdd];}const _0x496de0=buildCanonicalProjectConfig(_0x37eacb,{'appCodes':_0x2dff7f?[_0x2dff7f]:[],'env':_0x19e01d||_0x271014||_0x2a64b4(0xe6),'metadata':{'createdAt':new Date()['toLocaleString'](),'version':_0x6f32b9}});writeConfigFile(_0x26a357,_0x496de0),await generateSdkConfigFile(a181_0x24c8a2[_0x2a64b4(0xf7)](_0x232174,DEFAULT_API_DIR),getSdkClientRoutingConfig()),writeProjectDomainRoutingManifest(_0x232174),_0x2dff7f?console['log'](_0x2a64b4(0xc8)+Object['keys'](_0x496de0[_0x2a64b4(0xc4)]||{})[_0x2a64b4(0xf7)](',\x20')+_0x2a64b4(0xc1)):console[_0x2a64b4(0xbc)]('√\x20Configuration\x20file\x20created,\x20you\x20can\x20configure\x20later\x20with\x20\x27'+CLI_BIN_NAME+_0x2a64b4(0x10a)),logger[_0x2a64b4(0x11e)](_0x2a64b4(0xed),_0x2a64b4(0xd5)+_0x2dff7f);}catch(_0x540acb){logger[_0x2a64b4(0x12e)]('create',_0x2a64b4(0xf3));throw _0x540acb;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a169_0x4bf8(_0x59d3be,_0x5148ff){_0x59d3be=_0x59d3be-0x95;const _0x530ab2=a169_0x530a();let _0x4bf895=_0x530ab2[_0x59d3be];return _0x4bf895;}const a169_0x577b8f=a169_0x4bf8;(function(_0x3e9aec,_0x9d5f17){const _0x364d4f=a169_0x4bf8,_0x47c5bf=_0x3e9aec();while(!![]){try{const _0x50e0f9=parseInt(_0x364d4f(0xb2))/0x1*(parseInt(_0x364d4f(0xe7))/0x2)+parseInt(_0x364d4f(0xb6))/0x3+-parseInt(_0x364d4f(0xee))/0x4*(parseInt(_0x364d4f(0xfb))/0x5)+-parseInt(_0x364d4f(0xa1))/0x6+parseInt(_0x364d4f(0xb1))/0x7+-parseInt(_0x364d4f(0xbc))/0x8+parseInt(_0x364d4f(0xa3))/0x9;if(_0x50e0f9===_0x9d5f17)break;else _0x47c5bf['push'](_0x47c5bf['shift']());}catch(_0x4e6b9d){_0x47c5bf['push'](_0x47c5bf['shift']());}}}(a169_0x530a,0x9036a));import{createHash}from'node:crypto';import a169_0xbfaa02 from'node:fs/promises';import a169_0x573e7e from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID='sub-app-react-demo',ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x3bf139){const _0x3077de=a169_0x4bf8;return typeof _0x3bf139===_0x3077de(0xf8)&&_0x3bf139[_0x3077de(0x95)]()?_0x3bf139[_0x3077de(0x95)]():null;}function parseDescriptor(_0x10410e){const _0xe944a7=a169_0x4bf8;if(!_0x10410e||typeof _0x10410e!==_0xe944a7(0xdf))throw new Error('CDN\x20config\x20does\x20not\x20define\x20template\x20\x22'+TEMPLATE_ID+'\x22.');const _0xf4b132=_0x10410e,_0x5f561=nonEmptyString(_0xf4b132['version']),_0x1ad042=nonEmptyString(_0xf4b132[_0xe944a7(0xc9)]),_0x2dbf73=nonEmptyString(_0xf4b132[_0xe944a7(0xad)])?.[_0xe944a7(0xb7)](),_0x51f9a6=_0xf4b132['size'];if(!_0x5f561||!_0x1ad042||_0x1ad042!==a169_0x573e7e[_0xe944a7(0xc1)][_0xe944a7(0xae)](_0x1ad042)||_0x1ad042[_0xe944a7(0xf5)]('\x5c')||!_0x2dbf73||!/^sha256:[a-f0-9]{64}$/[_0xe944a7(0xac)](_0x2dbf73)||typeof _0x51f9a6!==_0xe944a7(0xe9)||!Number[_0xe944a7(0xf7)](_0x51f9a6)||_0x51f9a6<=0x0||_0x51f9a6>MAX_ARCHIVE_SIZE)throw new Error(_0xe944a7(0xd8)+TEMPLATE_ID+'\x22.');return{'version':_0x5f561,'name':_0x1ad042,'sha256':_0x2dbf73,'size':_0x51f9a6};}async function fetchWithTimeout(_0x33bec3,_0x4a1a38,_0x34c507,_0x18a19e){const _0x6db059=a169_0x4bf8,_0x258939=new AbortController(),_0x274e9a=setTimeout(()=>_0x258939[_0x6db059(0x100)](),_0x4a1a38);try{const _0x3cdcda=await fetch(_0x33bec3,{'headers':{'Accept':_0x34c507},'signal':_0x258939[_0x6db059(0xba)]});return await _0x18a19e(_0x3cdcda);}finally{clearTimeout(_0x274e9a);}}async function fetchTemplateDescriptor(){const _0x5e3bd3=a169_0x4bf8,_0x1f0e8a=await getRabetbaseCdnConfig();if(!_0x1f0e8a)throw new Error(_0x5e3bd3(0xdb));return parseDescriptor(_0x1f0e8a[_0x5e3bd3(0xd7)]);}function a169_0x530a(){const _0x4ee324=['CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','chmod','508JduwFR','copying','local','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','relative','extracting','package.json','includes','origin','isSafeInteger','string','Project\x20directory\x20already\x20exists:\x20','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','11225WHFtor','dist','ino','application/zip','protocol','abort','getReader','mkdtemp','trim','read','sha256:','cdn','project','.idea','push','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','.rabetbase-create-','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','readFile','message','5729358uYhEXf','ENOENT','13268286TeTFde','dev','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','isAbsolute','dirname','.git','length','headers','code','test','sha256','basename','downloading',',\x20received\x20','4503163vspaVs','3WVCymc','pathname','isDirectory','Invalid\x20local\x20template\x20source:\x20','2307057mJWWxV','toLowerCase','rename','.env.example','signal','cancel','8851384zbOfgc','Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.','writeFile','Project\x20template\x20package.json\x20is\x20invalid.','arrayBuffer','posix','utf8','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','Local\x20template\x20source\x20does\x20not\x20exist:\x20','startsWith','realpath','.rabetbase.json','hex','name','https:','Use\x20a\x20different\x20project\x20name.','join','node_modules','href','access','releaseLock','lstat','isSymbolicLink','version','from','parse','verifying','projectTemplate','CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22','Check\x20the\x20source\x20directory\x20and\x20retry.','concat','Rabetbase\x20CDN\x20config\x20is\x20unavailable.','.env.','validation','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','object','.codegraph','EEXIST','resolve','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','mkdir','size','resolving','33698ANJvvr','has','number','byteLength','update'];a169_0x530a=function(){return _0x4ee324;};return a169_0x530a();}function resolveArchiveUrl(_0x45d425){const _0x208ac5=a169_0x4bf8,_0x4ccd40=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x1cff93=new URL(_0x45d425,_0x4ccd40);if(_0x1cff93[_0x208ac5(0xff)]!==_0x208ac5(0xca)||_0x1cff93[_0x208ac5(0xf6)]!==_0x4ccd40['origin']||!_0x1cff93[_0x208ac5(0xb3)][_0x208ac5(0xc5)](_0x4ccd40['pathname']))throw new Error(_0x208ac5(0xec));return _0x1cff93[_0x208ac5(0xce)];}async function readResponseBytes(_0x221768,_0x3cb9e0){const _0x13e598=a169_0x4bf8;if(!_0x221768['body']){const _0x1055c6=Buffer['from'](await _0x221768[_0x13e598(0xc0)]());if(_0x1055c6[_0x13e598(0xa9)]>_0x3cb9e0)throw new Error(_0x13e598(0xe3));return _0x1055c6;}const _0x2579ce=_0x221768['body'][_0x13e598(0x101)](),_0xd56902=[];let _0x4769c9=0x0;try{while(!![]){const {done:_0x9d5d82,value:_0xde8bc6}=await _0x2579ce[_0x13e598(0x96)]();if(_0x9d5d82)break;_0x4769c9+=_0xde8bc6[_0x13e598(0xea)];if(_0x4769c9>_0x3cb9e0){await _0x2579ce[_0x13e598(0xbb)]();throw new Error('CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.');}_0xd56902[_0x13e598(0x9b)](Buffer[_0x13e598(0xd4)](_0xde8bc6));}}finally{_0x2579ce[_0x13e598(0xd0)]();}return Buffer[_0x13e598(0xda)](_0xd56902,_0x4769c9);}async function downloadArchive(_0x8c87d9,_0x42495d,_0x1cdeef){const _0x496ff2=a169_0x4bf8,_0x1af723=await fetchWithTimeout(resolveArchiveUrl(_0x8c87d9['name']),ARCHIVE_TIMEOUT_MS,_0x496ff2(0xfe),async _0x11f908=>{const _0x1bcd84=_0x496ff2;if(!_0x11f908['ok'])throw new Error('CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20'+_0x11f908['status']+'.');const _0x4eca6e=Number(_0x11f908[_0x1bcd84(0xaa)]['get']('content-length'));if(Number['isFinite'](_0x4eca6e)&&_0x4eca6e>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.');return readResponseBytes(_0x11f908,_0x8c87d9['size']);});if(_0x1af723['length']!==_0x8c87d9['size'])throw new Error(_0x496ff2(0xa5)+_0x8c87d9[_0x496ff2(0xe5)]+_0x496ff2(0xb0)+_0x1af723[_0x496ff2(0xa9)]+'.');_0x1cdeef?.(_0x496ff2(0xd6));const _0x2d3e9a=_0x496ff2(0x97)+createHash(_0x496ff2(0xad))[_0x496ff2(0xeb)](_0x1af723)['digest'](_0x496ff2(0xc8));if(_0x2d3e9a!==_0x8c87d9[_0x496ff2(0xad)])throw new Error(_0x496ff2(0x9c));await a169_0xbfaa02[_0x496ff2(0xbe)](_0x42495d,_0x1af723,{'flag':'wx'});}async function assertTemplateRoot(_0x21098c){const _0x49ff9e=a169_0x4bf8,_0x35c8e0=a169_0x573e7e[_0x49ff9e(0xcc)](_0x21098c,_0x49ff9e(0xf4)),_0x3a8835=JSON[_0x49ff9e(0xd5)](await a169_0xbfaa02[_0x49ff9e(0x9f)](_0x35c8e0,_0x49ff9e(0xc2)));if(!_0x3a8835||typeof _0x3a8835!==_0x49ff9e(0xdf))throw new Error(_0x49ff9e(0xbf));}const LOCAL_FORBIDDEN_NAMES=new Set(['.DS_Store',a169_0x577b8f(0xe0),a169_0x577b8f(0xa8),a169_0x577b8f(0x9a),'.lovrabet.json','.lovrabet.log','.rabetbase',a169_0x577b8f(0xc7),a169_0x577b8f(0xfc),a169_0x577b8f(0xcd)]);function isForbiddenTemplateEntry(_0x44b89a){const _0x47f304=a169_0x577b8f;if(LOCAL_FORBIDDEN_NAMES[_0x47f304(0xe8)](_0x44b89a))return!![];return _0x44b89a==='.env'||_0x44b89a[_0x47f304(0xc5)](_0x47f304(0xdc))&&_0x44b89a!==_0x47f304(0xb9);}function containsPath(_0x2a73a3,_0x43965a){const _0x3dbc78=a169_0x577b8f,_0x1fe683=a169_0x573e7e[_0x3dbc78(0xf2)](_0x2a73a3,_0x43965a);return _0x1fe683===''||!_0x1fe683[_0x3dbc78(0xc5)]('..'+a169_0x573e7e['sep'])&&_0x1fe683!=='..'&&!a169_0x573e7e[_0x3dbc78(0xa6)](_0x1fe683);}async function copyLocalTemplateDirectory(_0x502077,_0x56263f){const _0x33a883=a169_0x577b8f;await a169_0xbfaa02['mkdir'](_0x56263f,{'recursive':!![]});for(const _0x3c8b50 of await a169_0xbfaa02['readdir'](_0x502077,{'withFileTypes':!![]})){const _0x31d44e=a169_0x573e7e[_0x33a883(0xcc)](_0x502077,_0x3c8b50['name']),_0x40bf86=a169_0x573e7e[_0x33a883(0xcc)](_0x56263f,_0x3c8b50[_0x33a883(0xc9)]);if(isForbiddenTemplateEntry(_0x3c8b50[_0x33a883(0xc9)]))throw new Error('Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20'+_0x31d44e);const _0x5e2ad5=await a169_0xbfaa02[_0x33a883(0xd1)](_0x31d44e);if(_0x5e2ad5[_0x33a883(0xd2)]())throw new Error(_0x33a883(0xde)+_0x31d44e);if(_0x5e2ad5[_0x33a883(0xb4)]()){await copyLocalTemplateDirectory(_0x31d44e,_0x40bf86);continue;}if(!_0x5e2ad5['isFile']())continue;await a169_0xbfaa02['copyFile'](_0x31d44e,_0x40bf86),await a169_0xbfaa02[_0x33a883(0xed)](_0x40bf86,_0x5e2ad5['mode']&0x1ff);}}async function readTemplateVersion(_0x46708f){const _0x548c63=a169_0x577b8f,_0x431185=JSON['parse'](await a169_0xbfaa02[_0x548c63(0x9f)](a169_0x573e7e[_0x548c63(0xcc)](_0x46708f,_0x548c63(0xf4)),'utf8'));return nonEmptyString(_0x431185[_0x548c63(0xd3)])||_0x548c63(0xf0);}async function readDirectoryIdentity(_0x2bf59f){const _0x59ad37=a169_0x577b8f;try{const _0x4bf1c6=await a169_0xbfaa02[_0x59ad37(0xd1)](_0x2bf59f);if(!_0x4bf1c6['isDirectory']())return null;return{'dev':_0x4bf1c6[_0x59ad37(0xa4)],'ino':_0x4bf1c6[_0x59ad37(0xfd)]};}catch{return null;}}async function commitStagedProject(_0x598844,_0x5d48ba){const _0xabc1=a169_0x577b8f;await a169_0xbfaa02[_0xabc1(0xe4)](_0x5d48ba);const _0xaeb032=await readDirectoryIdentity(_0x5d48ba);if(!_0xaeb032)throw new Error('Unable\x20to\x20claim\x20the\x20project\x20directory.');try{for(const _0xb9b26e of await a169_0xbfaa02['readdir'](_0x598844)){await a169_0xbfaa02[_0xabc1(0xb8)](a169_0x573e7e[_0xabc1(0xcc)](_0x598844,_0xb9b26e),a169_0x573e7e['join'](_0x5d48ba,_0xb9b26e));}}catch(_0x291f20){const _0xc69ce3=await readDirectoryIdentity(_0x5d48ba);_0xc69ce3?.[_0xabc1(0xa4)]===_0xaeb032['dev']&&_0xc69ce3[_0xabc1(0xfd)]===_0xaeb032['ino']&&await a169_0xbfaa02['rm'](_0x5d48ba,{'recursive':!![],'force':!![]});throw _0x291f20;}}export async function materializeProjectTemplate(_0x4243b9,_0x484f8e){const _0x340fb4=a169_0x577b8f,_0x57b3dd=a169_0x573e7e[_0x340fb4(0xe2)](_0x4243b9),_0x31b542=a169_0x573e7e[_0x340fb4(0xa7)](_0x57b3dd);try{await a169_0xbfaa02[_0x340fb4(0xd1)](_0x57b3dd);throw new Error(_0x340fb4(0xf9)+_0x57b3dd);}catch(_0x2cca5c){if(_0x2cca5c['code']!==_0x340fb4(0xa2))throw _0x2cca5c;}const _0x3bca18=await a169_0xbfaa02['mkdtemp'](a169_0x573e7e[_0x340fb4(0xcc)](_0x31b542,_0x340fb4(0x9d))),_0x610c20=a169_0x573e7e[_0x340fb4(0xcc)](_0x3bca18,_0x340fb4(0x99)),_0x1fb186=a169_0x573e7e[_0x340fb4(0xcc)](_0x3bca18,'template.zip');try{try{_0x484f8e?.(_0x340fb4(0xe6));const _0x2d1851=await fetchTemplateDescriptor();return _0x484f8e?.(_0x340fb4(0xaf)),await downloadArchive(_0x2d1851,_0x1fb186,_0x484f8e),_0x484f8e?.(_0x340fb4(0xf3)),await extractProjectTemplateArchive(_0x1fb186,_0x610c20),await assertTemplateRoot(_0x610c20),await commitStagedProject(_0x610c20,_0x57b3dd),{'source':_0x340fb4(0x98),'version':_0x2d1851[_0x340fb4(0xd3)]};}catch(_0x49a704){if(_0x49a704[_0x340fb4(0xab)]===_0x340fb4(0xe1))throw CliErrors[_0x340fb4(0xdd)](_0x340fb4(0xf9)+_0x57b3dd,_0x340fb4(0xcb));const _0x5f3448=_0x49a704 instanceof Error?_0x49a704[_0x340fb4(0xa0)]:String(_0x49a704);throw CliErrors['validation'](_0x340fb4(0xc3),_0x340fb4(0xf1)+_0x5f3448);}}finally{await a169_0xbfaa02['rm'](_0x3bca18,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x5dd94f,_0x5cf775,_0x1e89dc){const _0xe1c1a=a169_0x577b8f;let _0x4234c3;try{_0x4234c3=await a169_0xbfaa02['realpath'](a169_0x573e7e[_0xe1c1a(0xe2)](_0x5dd94f));}catch{throw CliErrors[_0xe1c1a(0xdd)](_0xe1c1a(0xc4)+a169_0x573e7e[_0xe1c1a(0xe2)](_0x5dd94f),_0xe1c1a(0xbd));}const _0x23a8c9=await a169_0xbfaa02[_0xe1c1a(0xd1)](_0x4234c3);if(!_0x23a8c9['isDirectory']())throw CliErrors[_0xe1c1a(0xdd)](_0xe1c1a(0xfa)+_0x4234c3);const _0x21da5b=a169_0x573e7e[_0xe1c1a(0xe2)](_0x5cf775),_0x6d967c=await a169_0xbfaa02[_0xe1c1a(0xc6)](a169_0x573e7e[_0xe1c1a(0xa7)](_0x21da5b)),_0x2271fc=a169_0x573e7e[_0xe1c1a(0xcc)](_0x6d967c,a169_0x573e7e['basename'](_0x21da5b));if(containsPath(_0x4234c3,_0x2271fc)||containsPath(_0x2271fc,_0x4234c3))throw CliErrors[_0xe1c1a(0xdd)]('Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.',_0xe1c1a(0x9e));try{await a169_0xbfaa02[_0xe1c1a(0xd1)](_0x2271fc);throw CliErrors[_0xe1c1a(0xdd)]('Project\x20directory\x20already\x20exists:\x20'+_0x2271fc,'Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.');}catch(_0x2c8b26){if(_0x2c8b26[_0xe1c1a(0xab)]!==_0xe1c1a(0xa2))throw _0x2c8b26;}const _0x17d87d=a169_0x573e7e[_0xe1c1a(0xa7)](_0x2271fc);await a169_0xbfaa02[_0xe1c1a(0xcf)](_0x17d87d);const _0x262203=await a169_0xbfaa02[_0xe1c1a(0x102)](a169_0x573e7e[_0xe1c1a(0xcc)](_0x17d87d,_0xe1c1a(0x9d))),_0x2ef396=a169_0x573e7e['join'](_0x262203,'project');try{_0x1e89dc?.(_0xe1c1a(0xef)),await copyLocalTemplateDirectory(_0x4234c3,_0x2ef396),await assertTemplateRoot(_0x2ef396);const _0x6656d0=await readTemplateVersion(_0x2ef396);return await commitStagedProject(_0x2ef396,_0x2271fc),{'source':_0xe1c1a(0xf0),'version':_0x6656d0};}catch(_0x126263){const _0x14ac7b=_0x126263 instanceof Error?_0x126263[_0xe1c1a(0xa0)]:String(_0x126263);throw CliErrors['validation'](_0xe1c1a(0xb5)+_0x14ac7b,_0xe1c1a(0xd9));}finally{await a169_0xbfaa02['rm'](_0x262203,{'recursive':!![],'force':!![]});}}
|
|
1
|
+
const a182_0x5a9855=a182_0x5a9b;(function(_0x3dce44,_0x50a073){const _0x4443a8=a182_0x5a9b,_0x45bea6=_0x3dce44();while(!![]){try{const _0x300403=-parseInt(_0x4443a8(0x1df))/0x1+-parseInt(_0x4443a8(0x1d1))/0x2+parseInt(_0x4443a8(0x1e3))/0x3+parseInt(_0x4443a8(0x1f2))/0x4*(parseInt(_0x4443a8(0x1d2))/0x5)+-parseInt(_0x4443a8(0x22c))/0x6*(-parseInt(_0x4443a8(0x1fd))/0x7)+parseInt(_0x4443a8(0x216))/0x8*(parseInt(_0x4443a8(0x1f3))/0x9)+-parseInt(_0x4443a8(0x1d3))/0xa;if(_0x300403===_0x50a073)break;else _0x45bea6['push'](_0x45bea6['shift']());}catch(_0x1bbad5){_0x45bea6['push'](_0x45bea6['shift']());}}}(a182_0x2cf3,0xb4cbe));function a182_0x2cf3(){const _0x3fa58b=['copying','realpath','.rabetbase-create-','downloading','origin','Local\x20template\x20source\x20is\x20not\x20a\x20directory:\x20','Rabetbase\x20CDN\x20config\x20is\x20unavailable.','object','signal','sep','cdn','has','extracting','ino','project','6YuIwnO','string','concat','Check\x20your\x20network\x20and\x20retry.\x20Details:\x20','CDN\x20project\x20template\x20exceeds\x20the\x2020\x20MB\x20download\x20limit.','hex','number','projectTemplate','body','Pass\x20a\x20directory\x20containing\x20the\x20template\x20source\x20package.json.','byteLength','version','CDN\x20project\x20template\x20URL\x20must\x20use\x20the\x20trusted\x20HTTPS\x20origin.','href','toLowerCase','digest','Use\x20a\x20different\x20project\x20name.','Choose\x20an\x20output\x20directory\x20outside\x20the\x20template\x20source.','pathname','protocol','sha256:','length','trim','.idea','583660qwLIwN','295cPNuuw','15351480TkVfsS','Local\x20project\x20template\x20must\x20not\x20contain\x20symlinks:\x20','.rabetbase.json','posix','.codegraph','node_modules','CDN\x20project\x20template\x20exceeds\x20its\x20declared\x20download\x20size.','includes','CDN\x20project\x20template\x20checksum\x20verification\x20failed.','getReader','readdir','CDN\x20project\x20template\x20size\x20mismatch:\x20expected\x20','37282KoyfgR',',\x20received\x20','sha256','Project\x20template\x20package.json\x20is\x20invalid.','2935578woJHqi','isSymbolicLink','update','.lovrabet.log','relative','message','utf8','Unable\x20to\x20claim\x20the\x20project\x20directory.','isFinite','Check\x20the\x20source\x20directory\x20and\x20retry.','application/zip','local','startsWith','from','readFile','7884EcsGGH','36QdllaW','Unable\x20to\x20download\x20a\x20valid\x20project\x20template\x20from\x20CDN.','code','resolve','Local\x20template\x20source\x20does\x20not\x20exist:\x20','cancel','validation','dirname','EEXIST','size','6498317gYfceH','resolving','.env.','isAbsolute','sub-app-react-demo','releaseLock','chmod','verifying','abort','status','Local\x20project\x20template\x20contains\x20a\x20local-only\x20entry:\x20','dev','parse','CDN\x20config\x20does\x20not\x20define\x20template\x20\x22','Project\x20directory\x20already\x20exists:\x20','name','get','join','isFile','access','mode','.lovrabet.json','.rabetbase','package.json','https:','1163312tKyAVu','.env.example','Local\x20template\x20source\x20and\x20project\x20output\x20must\x20not\x20overlap.','CDN\x20project\x20template\x20request\x20failed\x20with\x20HTTP\x20','isDirectory','lstat','mkdtemp'];a182_0x2cf3=function(){return _0x3fa58b;};return a182_0x2cf3();}import{createHash}from'node:crypto';import a182_0x211a90 from'node:fs/promises';function a182_0x5a9b(_0x10c1f1,_0x2fc166){_0x10c1f1=_0x10c1f1-0x1c5;const _0x2cf337=a182_0x2cf3();let _0x5a9b84=_0x2cf337[_0x10c1f1];return _0x5a9b84;}import a182_0x166faa from'node:path';import{PROJECT_TEMPLATE_ASSET_BASE_URL}from'../../../constant/cdn.js';import{extractProjectTemplateArchive}from'../../../commands/project/create/project-template-archive.js';import{getRabetbaseCdnConfig}from'../../../utils/cli-version-policy.js';import{CliErrors}from'../../../errors.js';const TEMPLATE_ID=a182_0x5a9855(0x201),ARCHIVE_TIMEOUT_MS=0x3a98,MAX_ARCHIVE_SIZE=0x14*0x400*0x400;function nonEmptyString(_0x3ccd1b){const _0x213f1c=a182_0x5a9855;return typeof _0x3ccd1b===_0x213f1c(0x22d)&&_0x3ccd1b['trim']()?_0x3ccd1b[_0x213f1c(0x1cf)]():null;}function parseDescriptor(_0x593a21){const _0x34ed79=a182_0x5a9855;if(!_0x593a21||typeof _0x593a21!==_0x34ed79(0x224))throw new Error(_0x34ed79(0x20a)+TEMPLATE_ID+'\x22.');const _0x56d112=_0x593a21,_0x344dfb=nonEmptyString(_0x56d112['version']),_0x472aff=nonEmptyString(_0x56d112[_0x34ed79(0x20c)]),_0x3e7427=nonEmptyString(_0x56d112[_0x34ed79(0x1e1)])?.[_0x34ed79(0x1c7)](),_0xf99125=_0x56d112[_0x34ed79(0x1fc)];if(!_0x344dfb||!_0x472aff||_0x472aff!==a182_0x166faa[_0x34ed79(0x1d6)]['basename'](_0x472aff)||_0x472aff[_0x34ed79(0x1da)]('\x5c')||!_0x3e7427||!/^sha256:[a-f0-9]{64}$/['test'](_0x3e7427)||typeof _0xf99125!==_0x34ed79(0x232)||!Number['isSafeInteger'](_0xf99125)||_0xf99125<=0x0||_0xf99125>MAX_ARCHIVE_SIZE)throw new Error('CDN\x20config\x20contains\x20an\x20invalid\x20descriptor\x20for\x20\x22'+TEMPLATE_ID+'\x22.');return{'version':_0x344dfb,'name':_0x472aff,'sha256':_0x3e7427,'size':_0xf99125};}async function fetchWithTimeout(_0x506a04,_0x40e887,_0x3eef15,_0xd0415){const _0xbae6bf=a182_0x5a9855,_0x5d5c1a=new AbortController(),_0x1c73d4=setTimeout(()=>_0x5d5c1a[_0xbae6bf(0x205)](),_0x40e887);try{const _0x3a8409=await fetch(_0x506a04,{'headers':{'Accept':_0x3eef15},'signal':_0x5d5c1a[_0xbae6bf(0x225)]});return await _0xd0415(_0x3a8409);}finally{clearTimeout(_0x1c73d4);}}async function fetchTemplateDescriptor(){const _0x299dbe=a182_0x5a9855,_0x420555=await getRabetbaseCdnConfig();if(!_0x420555)throw new Error(_0x299dbe(0x223));return parseDescriptor(_0x420555[_0x299dbe(0x233)]);}function resolveArchiveUrl(_0x23f809){const _0x37b32c=a182_0x5a9855,_0x4cffdb=new URL(PROJECT_TEMPLATE_ASSET_BASE_URL+'/'),_0x1f0002=new URL(_0x23f809,_0x4cffdb);if(_0x1f0002[_0x37b32c(0x1cc)]!==_0x37b32c(0x215)||_0x1f0002[_0x37b32c(0x221)]!==_0x4cffdb['origin']||!_0x1f0002[_0x37b32c(0x1cb)][_0x37b32c(0x1ef)](_0x4cffdb[_0x37b32c(0x1cb)]))throw new Error(_0x37b32c(0x1c5));return _0x1f0002[_0x37b32c(0x1c6)];}async function readResponseBytes(_0x3d158d,_0x3f32d8){const _0x3160a4=a182_0x5a9855;if(!_0x3d158d[_0x3160a4(0x234)]){const _0x53447c=Buffer['from'](await _0x3d158d['arrayBuffer']());if(_0x53447c[_0x3160a4(0x1ce)]>_0x3f32d8)throw new Error(_0x3160a4(0x1d9));return _0x53447c;}const _0x3369d1=_0x3d158d[_0x3160a4(0x234)][_0x3160a4(0x1dc)](),_0x2cb7c9=[];let _0x454436=0x0;try{while(!![]){const {done:_0x3893c2,value:_0x55153d}=await _0x3369d1['read']();if(_0x3893c2)break;_0x454436+=_0x55153d[_0x3160a4(0x236)];if(_0x454436>_0x3f32d8){await _0x3369d1[_0x3160a4(0x1f8)]();throw new Error(_0x3160a4(0x1d9));}_0x2cb7c9['push'](Buffer[_0x3160a4(0x1f0)](_0x55153d));}}finally{_0x3369d1[_0x3160a4(0x202)]();}return Buffer[_0x3160a4(0x22e)](_0x2cb7c9,_0x454436);}async function downloadArchive(_0x111034,_0x3d8195,_0x5bdaf0){const _0x2f4253=a182_0x5a9855,_0x3992dd=await fetchWithTimeout(resolveArchiveUrl(_0x111034[_0x2f4253(0x20c)]),ARCHIVE_TIMEOUT_MS,_0x2f4253(0x1ed),async _0xae8d3b=>{const _0x10898c=_0x2f4253;if(!_0xae8d3b['ok'])throw new Error(_0x10898c(0x219)+_0xae8d3b[_0x10898c(0x206)]+'.');const _0x122a87=Number(_0xae8d3b['headers'][_0x10898c(0x20d)]('content-length'));if(Number[_0x10898c(0x1eb)](_0x122a87)&&_0x122a87>MAX_ARCHIVE_SIZE)throw new Error(_0x10898c(0x230));return readResponseBytes(_0xae8d3b,_0x111034[_0x10898c(0x1fc)]);});if(_0x3992dd[_0x2f4253(0x1ce)]!==_0x111034[_0x2f4253(0x1fc)])throw new Error(_0x2f4253(0x1de)+_0x111034[_0x2f4253(0x1fc)]+_0x2f4253(0x1e0)+_0x3992dd[_0x2f4253(0x1ce)]+'.');_0x5bdaf0?.(_0x2f4253(0x204));const _0x2266f3=_0x2f4253(0x1cd)+createHash(_0x2f4253(0x1e1))[_0x2f4253(0x1e5)](_0x3992dd)[_0x2f4253(0x1c8)](_0x2f4253(0x231));if(_0x2266f3!==_0x111034[_0x2f4253(0x1e1)])throw new Error(_0x2f4253(0x1db));await a182_0x211a90['writeFile'](_0x3d8195,_0x3992dd,{'flag':'wx'});}async function assertTemplateRoot(_0x2dca3b){const _0x51fb76=a182_0x5a9855,_0x46928e=a182_0x166faa[_0x51fb76(0x20e)](_0x2dca3b,_0x51fb76(0x214)),_0x177dd4=JSON['parse'](await a182_0x211a90[_0x51fb76(0x1f1)](_0x46928e,_0x51fb76(0x1e9)));if(!_0x177dd4||typeof _0x177dd4!==_0x51fb76(0x224))throw new Error(_0x51fb76(0x1e2));}const LOCAL_FORBIDDEN_NAMES=new Set(['.DS_Store',a182_0x5a9855(0x1d7),'.git',a182_0x5a9855(0x1d0),a182_0x5a9855(0x212),a182_0x5a9855(0x1e6),a182_0x5a9855(0x213),a182_0x5a9855(0x1d5),'dist',a182_0x5a9855(0x1d8)]);function isForbiddenTemplateEntry(_0x50756e){const _0x6480b5=a182_0x5a9855;if(LOCAL_FORBIDDEN_NAMES[_0x6480b5(0x228)](_0x50756e))return!![];return _0x50756e==='.env'||_0x50756e['startsWith'](_0x6480b5(0x1ff))&&_0x50756e!==_0x6480b5(0x217);}function containsPath(_0x23c476,_0x56e6f6){const _0x42982c=a182_0x5a9855,_0x12bca1=a182_0x166faa[_0x42982c(0x1e7)](_0x23c476,_0x56e6f6);return _0x12bca1===''||!_0x12bca1[_0x42982c(0x1ef)]('..'+a182_0x166faa[_0x42982c(0x226)])&&_0x12bca1!=='..'&&!a182_0x166faa[_0x42982c(0x200)](_0x12bca1);}async function copyLocalTemplateDirectory(_0x54f5e2,_0x3fb9bc){const _0x1b0d20=a182_0x5a9855;await a182_0x211a90['mkdir'](_0x3fb9bc,{'recursive':!![]});for(const _0xee6069 of await a182_0x211a90[_0x1b0d20(0x1dd)](_0x54f5e2,{'withFileTypes':!![]})){const _0x168ca1=a182_0x166faa[_0x1b0d20(0x20e)](_0x54f5e2,_0xee6069[_0x1b0d20(0x20c)]),_0x1c3280=a182_0x166faa['join'](_0x3fb9bc,_0xee6069[_0x1b0d20(0x20c)]);if(isForbiddenTemplateEntry(_0xee6069[_0x1b0d20(0x20c)]))throw new Error(_0x1b0d20(0x207)+_0x168ca1);const _0x39f611=await a182_0x211a90['lstat'](_0x168ca1);if(_0x39f611[_0x1b0d20(0x1e4)]())throw new Error(_0x1b0d20(0x1d4)+_0x168ca1);if(_0x39f611[_0x1b0d20(0x21a)]()){await copyLocalTemplateDirectory(_0x168ca1,_0x1c3280);continue;}if(!_0x39f611[_0x1b0d20(0x20f)]())continue;await a182_0x211a90['copyFile'](_0x168ca1,_0x1c3280),await a182_0x211a90[_0x1b0d20(0x203)](_0x1c3280,_0x39f611[_0x1b0d20(0x211)]&0x1ff);}}async function readTemplateVersion(_0x18fc42){const _0x11e566=a182_0x5a9855,_0x4bad8a=JSON[_0x11e566(0x209)](await a182_0x211a90[_0x11e566(0x1f1)](a182_0x166faa[_0x11e566(0x20e)](_0x18fc42,_0x11e566(0x214)),_0x11e566(0x1e9)));return nonEmptyString(_0x4bad8a[_0x11e566(0x237)])||_0x11e566(0x1ee);}async function readDirectoryIdentity(_0x58d2fb){const _0x2a4035=a182_0x5a9855;try{const _0x778353=await a182_0x211a90[_0x2a4035(0x21b)](_0x58d2fb);if(!_0x778353['isDirectory']())return null;return{'dev':_0x778353[_0x2a4035(0x208)],'ino':_0x778353[_0x2a4035(0x22a)]};}catch{return null;}}async function commitStagedProject(_0x4cf4eb,_0xa9e2e2){const _0x4827f5=a182_0x5a9855;await a182_0x211a90['mkdir'](_0xa9e2e2);const _0x346bce=await readDirectoryIdentity(_0xa9e2e2);if(!_0x346bce)throw new Error(_0x4827f5(0x1ea));try{for(const _0x3ac11e of await a182_0x211a90['readdir'](_0x4cf4eb)){await a182_0x211a90['rename'](a182_0x166faa[_0x4827f5(0x20e)](_0x4cf4eb,_0x3ac11e),a182_0x166faa[_0x4827f5(0x20e)](_0xa9e2e2,_0x3ac11e));}}catch(_0x575cbf){const _0x4a98ee=await readDirectoryIdentity(_0xa9e2e2);_0x4a98ee?.[_0x4827f5(0x208)]===_0x346bce[_0x4827f5(0x208)]&&_0x4a98ee[_0x4827f5(0x22a)]===_0x346bce['ino']&&await a182_0x211a90['rm'](_0xa9e2e2,{'recursive':!![],'force':!![]});throw _0x575cbf;}}export async function materializeProjectTemplate(_0x405ddd,_0x22d6a4){const _0x5ba559=a182_0x5a9855,_0x46d5cf=a182_0x166faa['resolve'](_0x405ddd),_0x698bee=a182_0x166faa[_0x5ba559(0x1fa)](_0x46d5cf);try{await a182_0x211a90[_0x5ba559(0x21b)](_0x46d5cf);throw new Error('Project\x20directory\x20already\x20exists:\x20'+_0x46d5cf);}catch(_0x3962ca){if(_0x3962ca['code']!=='ENOENT')throw _0x3962ca;}const _0x11b9f2=await a182_0x211a90[_0x5ba559(0x21c)](a182_0x166faa[_0x5ba559(0x20e)](_0x698bee,_0x5ba559(0x21f))),_0x474ecb=a182_0x166faa[_0x5ba559(0x20e)](_0x11b9f2,_0x5ba559(0x22b)),_0x53cabf=a182_0x166faa[_0x5ba559(0x20e)](_0x11b9f2,'template.zip');try{try{_0x22d6a4?.(_0x5ba559(0x1fe));const _0x9098e7=await fetchTemplateDescriptor();return _0x22d6a4?.(_0x5ba559(0x220)),await downloadArchive(_0x9098e7,_0x53cabf,_0x22d6a4),_0x22d6a4?.(_0x5ba559(0x229)),await extractProjectTemplateArchive(_0x53cabf,_0x474ecb),await assertTemplateRoot(_0x474ecb),await commitStagedProject(_0x474ecb,_0x46d5cf),{'source':_0x5ba559(0x227),'version':_0x9098e7[_0x5ba559(0x237)]};}catch(_0x3f20a2){if(_0x3f20a2['code']===_0x5ba559(0x1fb))throw CliErrors[_0x5ba559(0x1f9)](_0x5ba559(0x20b)+_0x46d5cf,_0x5ba559(0x1c9));const _0x43dbb7=_0x3f20a2 instanceof Error?_0x3f20a2[_0x5ba559(0x1e8)]:String(_0x3f20a2);throw CliErrors[_0x5ba559(0x1f9)](_0x5ba559(0x1f4),_0x5ba559(0x22f)+_0x43dbb7);}}finally{await a182_0x211a90['rm'](_0x11b9f2,{'recursive':!![],'force':!![]});}}export async function materializeLocalProjectTemplate(_0x3c2b24,_0xb9b853,_0x361ec2){const _0x16af06=a182_0x5a9855;let _0x3cb7a7;try{_0x3cb7a7=await a182_0x211a90['realpath'](a182_0x166faa[_0x16af06(0x1f6)](_0x3c2b24));}catch{throw CliErrors[_0x16af06(0x1f9)](_0x16af06(0x1f7)+a182_0x166faa['resolve'](_0x3c2b24),_0x16af06(0x235));}const _0x3d3b12=await a182_0x211a90['lstat'](_0x3cb7a7);if(!_0x3d3b12[_0x16af06(0x21a)]())throw CliErrors[_0x16af06(0x1f9)](_0x16af06(0x222)+_0x3cb7a7);const _0x1d9af8=a182_0x166faa[_0x16af06(0x1f6)](_0xb9b853),_0xde38d5=await a182_0x211a90[_0x16af06(0x21e)](a182_0x166faa[_0x16af06(0x1fa)](_0x1d9af8)),_0x227dde=a182_0x166faa[_0x16af06(0x20e)](_0xde38d5,a182_0x166faa['basename'](_0x1d9af8));if(containsPath(_0x3cb7a7,_0x227dde)||containsPath(_0x227dde,_0x3cb7a7))throw CliErrors[_0x16af06(0x1f9)](_0x16af06(0x218),_0x16af06(0x1ca));try{await a182_0x211a90[_0x16af06(0x21b)](_0x227dde);throw CliErrors[_0x16af06(0x1f9)](_0x16af06(0x20b)+_0x227dde,'Choose\x20a\x20different\x20project\x20name\x20or\x20remove\x20the\x20directory\x20first.');}catch(_0x1bee7e){if(_0x1bee7e[_0x16af06(0x1f5)]!=='ENOENT')throw _0x1bee7e;}const _0x1f0765=a182_0x166faa[_0x16af06(0x1fa)](_0x227dde);await a182_0x211a90[_0x16af06(0x210)](_0x1f0765);const _0x212cf3=await a182_0x211a90['mkdtemp'](a182_0x166faa[_0x16af06(0x20e)](_0x1f0765,_0x16af06(0x21f))),_0x257182=a182_0x166faa[_0x16af06(0x20e)](_0x212cf3,'project');try{_0x361ec2?.(_0x16af06(0x21d)),await copyLocalTemplateDirectory(_0x3cb7a7,_0x257182),await assertTemplateRoot(_0x257182);const _0x247ff3=await readTemplateVersion(_0x257182);return await commitStagedProject(_0x257182,_0x227dde),{'source':_0x16af06(0x1ee),'version':_0x247ff3};}catch(_0x503e0f){const _0x2b4b6f=_0x503e0f instanceof Error?_0x503e0f['message']:String(_0x503e0f);throw CliErrors['validation']('Invalid\x20local\x20template\x20source:\x20'+_0x2b4b6f,_0x16af06(0x1ec));}finally{await a182_0x211a90['rm'](_0x212cf3,{'recursive':!![],'force':!![]});}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x804acd,_0x20beec){const _0x14ea9a=a183_0x570d,_0x232df9=_0x804acd();while(!![]){try{const _0x50be17=-parseInt(_0x14ea9a(0x1ee))/0x1*(parseInt(_0x14ea9a(0x1e9))/0x2)+-parseInt(_0x14ea9a(0x1ef))/0x3*(-parseInt(_0x14ea9a(0x1f5))/0x4)+-parseInt(_0x14ea9a(0x1f3))/0x5+-parseInt(_0x14ea9a(0x1ea))/0x6+parseInt(_0x14ea9a(0x1eb))/0x7*(parseInt(_0x14ea9a(0x1fb))/0x8)+parseInt(_0x14ea9a(0x1ed))/0x9+-parseInt(_0x14ea9a(0x1fa))/0xa*(-parseInt(_0x14ea9a(0x1f4))/0xb);if(_0x50be17===_0x20beec)break;else _0x232df9['push'](_0x232df9['shift']());}catch(_0x5d898a){_0x232df9['push'](_0x232df9['shift']());}}}(a183_0x5216,0x7b491));import{CliErrors}from'../../../errors.js';const PROJECT_NAME_PATTERN=/^[A-Za-z0-9][A-Za-z0-9_-]*$/,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])$/i,MAX_PROJECT_NAME_LENGTH=0x64;function a183_0x570d(_0x2b158e,_0x32ac23){_0x2b158e=_0x2b158e-0x1e9;const _0x5216c2=a183_0x5216();let _0x570d1d=_0x5216c2[_0x2b158e];return _0x570d1d;}export function getProjectNameValidationError(_0x50feac){const _0x1983ce=a183_0x570d,_0x29cdaf=_0x50feac['trim']();if(!_0x29cdaf)return'Project\x20name\x20cannot\x20be\x20empty';if(_0x29cdaf[_0x1983ce(0x1f1)]>MAX_PROJECT_NAME_LENGTH)return'Project\x20name\x20cannot\x20exceed\x20'+MAX_PROJECT_NAME_LENGTH+_0x1983ce(0x1ec);if(!PROJECT_NAME_PATTERN[_0x1983ce(0x1f8)](_0x29cdaf))return _0x1983ce(0x1f9);if(WINDOWS_RESERVED_NAME[_0x1983ce(0x1f8)](_0x29cdaf))return _0x1983ce(0x1f2)+_0x29cdaf+_0x1983ce(0x1f7);return null;}function a183_0x5216(){const _0x4e53d1=['9036306xSBtmv','33TrRPLF','3rJEeLf','validation','length','Project\x20name\x20\x22','2668295zSYIlo','54285dEghwC','1714660pvXZEs','trim','\x22\x20is\x20reserved\x20on\x20Windows','test','Must\x20start\x20with\x20a\x20letter/number\x20and\x20only\x20contain\x20letters,\x20numbers,\x20-\x20and\x20_','330Jfwnqp','40tXdAgN','40654xHlhLn','5265792LzEshV','1388107DVHCdf','\x20characters'];a183_0x5216=function(){return _0x4e53d1;};return a183_0x5216();}export function validateProjectName(_0x222922){const _0x1aeeec=a183_0x570d,_0x157063=_0x222922[_0x1aeeec(0x1f6)](),_0x2fd51b=getProjectNameValidationError(_0x157063);if(_0x2fd51b)throw CliErrors[_0x1aeeec(0x1f0)](_0x2fd51b,'Use\x20a\x20portable\x20directory\x20name\x20without\x20path\x20separators.');return _0x157063;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x9c7e00,_0x4c016c){const _0x4ef725=a184_0x2c2f,_0x390eb7=_0x9c7e00();while(!![]){try{const _0x39030f=-parseInt(_0x4ef725(0x1bb))/0x1+-parseInt(_0x4ef725(0x1ba))/0x2+parseInt(_0x4ef725(0x1b5))/0x3*(-parseInt(_0x4ef725(0x1b1))/0x4)+parseInt(_0x4ef725(0x1c4))/0x5*(-parseInt(_0x4ef725(0x1b4))/0x6)+-parseInt(_0x4ef725(0x1a2))/0x7+parseInt(_0x4ef725(0x1c7))/0x8+-parseInt(_0x4ef725(0x1b6))/0x9*(-parseInt(_0x4ef725(0x1b9))/0xa);if(_0x39030f===_0x4c016c)break;else _0x390eb7['push'](_0x390eb7['shift']());}catch(_0x1b1a9){_0x390eb7['push'](_0x390eb7['shift']());}}}(a184_0x5eb9,0x8f226));import{createWriteStream}from'node:fs';import a184_0x3d18e2 from'node:fs/promises';function a184_0x2c2f(_0x329b7f,_0x811337){_0x329b7f=_0x329b7f-0x19a;const _0x5eb91f=a184_0x5eb9();let _0x2c2f7a=_0x5eb91f[_0x329b7f];return _0x2c2f7a;}import a184_0x2058e1 from'node:path';import{pipeline}from'node:stream/promises';import a184_0x1f74bc from'yauzl';const MAX_ENTRY_COUNT=0x7d0,MAX_UNCOMPRESSED_SIZE=0x32*0x400*0x400,WINDOWS_RESERVED_NAME=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\..*)?$/i,WINDOWS_INVALID_CHAR=/[<>:"|?*\x00-\x1f]/;function openZip(_0x3bb2e0){return new Promise((_0x56fc05,_0x17a6c)=>{const _0x11c9d4=a184_0x2c2f;a184_0x1f74bc[_0x11c9d4(0x1af)](_0x3bb2e0,{'lazyEntries':!![],'decodeStrings':!![],'strictFileNames':!![],'validateEntrySizes':!![]},(_0x3b7146,_0x40228b)=>{const _0x19a963=_0x11c9d4;if(_0x3b7146||!_0x40228b){_0x17a6c(_0x3b7146||new Error(_0x19a963(0x1b7)));return;}_0x56fc05(_0x40228b);});});}function openEntryStream(_0x6e9cb9,_0x7a0022){return new Promise((_0x237ff2,_0x5491bf)=>{const _0x5b49b5=a184_0x2c2f;_0x6e9cb9[_0x5b49b5(0x1b0)](_0x7a0022,(_0x2c3f1a,_0x5c7119)=>{const _0x4acdd2=_0x5b49b5;if(_0x2c3f1a||!_0x5c7119){_0x5491bf(_0x2c3f1a||new Error('Unable\x20to\x20read\x20ZIP\x20entry:\x20'+_0x7a0022[_0x4acdd2(0x1b2)]));return;}_0x237ff2(_0x5c7119);});});}function a184_0x5eb9(){const _0xb17444=['dirname','isEncrypted','200TbhrUA','mkdir','close','9060976jmZMpe','Unsafe\x20absolute\x20ZIP\x20entry\x20path:\x20','ZIP\x20entry\x20escapes\x20the\x20destination\x20directory:\x20','slice','test','catch','Duplicate\x20or\x20case-conflicting\x20ZIP\x20entry:\x20','once','has','26313OwNUzZ','resolve','get','join','readEntry','startsWith','replace','sep','\x20entries.','Project\x20template\x20ZIP\x20expands\x20beyond\x20the\x2050\x20MB\x20safety\x20limit.','toLocaleLowerCase','Symbolic\x20links\x20are\x20not\x20allowed\x20in\x20project\x20templates:\x20','set','open','openReadStream','4OkVLPx','fileName','externalFileAttributes','104466lufQMb','252765bWbTjf','9ecmzfo','Unable\x20to\x20open\x20project\x20template\x20archive.','end','16219580xXyHYt','1508090NIItrG','629803dhsUuz','split','entry','Unsafe\x20or\x20non-portable\x20ZIP\x20entry\x20path:\x20','endsWith','Project\x20template\x20ZIP\x20exceeds\x20','en-US'];a184_0x5eb9=function(){return _0xb17444;};return a184_0x5eb9();}function validateEntryPath(_0x54a508){const _0x1086e0=a184_0x2c2f,_0x16cf5a=_0x54a508[_0x1086e0(0x1a8)](/\\/g,'/'),_0x4e0ba4=_0x16cf5a['endsWith']('/'),_0x151bec=_0x4e0ba4?_0x16cf5a[_0x1086e0(0x19c)](0x0,-0x1):_0x16cf5a;if(!_0x151bec||_0x16cf5a[_0x1086e0(0x1a7)]('/')||/^[A-Za-z]:\//[_0x1086e0(0x19d)](_0x16cf5a))throw new Error(_0x1086e0(0x19a)+_0x54a508);const _0x2fcac4=_0x151bec[_0x1086e0(0x1bc)]('/');for(const _0x1f9588 of _0x2fcac4){if(!_0x1f9588||_0x1f9588==='.'||_0x1f9588==='..'||_0x1f9588[_0x1086e0(0x1bf)]('.')||_0x1f9588[_0x1086e0(0x1bf)]('\x20')||WINDOWS_INVALID_CHAR[_0x1086e0(0x19d)](_0x1f9588)||WINDOWS_RESERVED_NAME[_0x1086e0(0x19d)](_0x1f9588))throw new Error(_0x1086e0(0x1be)+_0x54a508);}return{'relativePath':_0x2fcac4[_0x1086e0(0x1a5)](a184_0x2058e1[_0x1086e0(0x1a9)]),'directory':_0x4e0ba4};}function isSymbolicLink(_0x53589d){const _0x398657=a184_0x2c2f,_0x2dcfc5=_0x53589d[_0x398657(0x1b3)]>>>0x10&0xffff;return(_0x2dcfc5&0xf000)===0xa000;}export async function extractProjectTemplateArchive(_0x3159f2,_0x58d782){const _0xa07108=await openZip(_0x3159f2),_0x4e64c0=a184_0x2058e1['resolve'](_0x58d782),_0x1071db=new Set(),_0x22a128=new Map();let _0x21378e=0x0,_0x583695=0x0;await a184_0x3d18e2['mkdir'](_0x4e64c0,{'recursive':!![]}),await new Promise((_0x485ea5,_0x3fa591)=>{const _0x42e3f9=a184_0x2c2f;let _0x172954=![];const _0x12aef1=_0x12b5ba=>{const _0x8b9b29=a184_0x2c2f;if(_0x172954)return;_0x172954=!![],_0xa07108[_0x8b9b29(0x1c6)](),_0x3fa591(_0x12b5ba instanceof Error?_0x12b5ba:new Error(String(_0x12b5ba)));};_0xa07108['once']('error',_0x12aef1),_0xa07108[_0x42e3f9(0x1a0)](_0x42e3f9(0x1b8),()=>{if(_0x172954)return;_0x172954=!![],_0x485ea5();}),_0xa07108['on'](_0x42e3f9(0x1bd),_0x52e52f=>{const _0x19c03d=_0x42e3f9;void(async()=>{const _0x104a9b=a184_0x2c2f;_0x21378e+=0x1,_0x583695+=_0x52e52f['uncompressedSize'];if(_0x21378e>MAX_ENTRY_COUNT)throw new Error(_0x104a9b(0x1c0)+MAX_ENTRY_COUNT+_0x104a9b(0x1aa));if(_0x583695>MAX_UNCOMPRESSED_SIZE)throw new Error(_0x104a9b(0x1ab));if(_0x52e52f[_0x104a9b(0x1c3)]())throw new Error('Encrypted\x20ZIP\x20entries\x20are\x20not\x20supported:\x20'+_0x52e52f[_0x104a9b(0x1b2)]);if(isSymbolicLink(_0x52e52f))throw new Error(_0x104a9b(0x1ad)+_0x52e52f[_0x104a9b(0x1b2)]);const {relativePath:_0x1833a3,directory:_0x1c8693}=validateEntryPath(_0x52e52f['fileName']),_0x4ba6ac=_0x1833a3[_0x104a9b(0x1bc)](a184_0x2058e1[_0x104a9b(0x1a9)]);for(let _0x14d3cb=0x1;_0x14d3cb<=_0x4ba6ac['length'];_0x14d3cb+=0x1){const _0x4cb5f4=_0x4ba6ac['slice'](0x0,_0x14d3cb)[_0x104a9b(0x1a5)](a184_0x2058e1[_0x104a9b(0x1a9)]),_0x370f7c=_0x4cb5f4['toLocaleLowerCase'](_0x104a9b(0x1c1)),_0xab2ba4=_0x22a128[_0x104a9b(0x1a4)](_0x370f7c);if(_0xab2ba4&&_0xab2ba4!==_0x4cb5f4)throw new Error('Case-conflicting\x20ZIP\x20entry\x20path:\x20'+_0x52e52f[_0x104a9b(0x1b2)]);_0x22a128[_0x104a9b(0x1ae)](_0x370f7c,_0x4cb5f4);}const _0x2acd5a=_0x1833a3[_0x104a9b(0x1ac)](_0x104a9b(0x1c1));if(_0x1071db[_0x104a9b(0x1a1)](_0x2acd5a))throw new Error(_0x104a9b(0x19f)+_0x52e52f[_0x104a9b(0x1b2)]);_0x1071db['add'](_0x2acd5a);const _0x2f4b6a=a184_0x2058e1[_0x104a9b(0x1a3)](_0x4e64c0,_0x1833a3);if(_0x2f4b6a!==_0x4e64c0&&!_0x2f4b6a[_0x104a9b(0x1a7)](''+_0x4e64c0+a184_0x2058e1['sep']))throw new Error(_0x104a9b(0x19b)+_0x52e52f[_0x104a9b(0x1b2)]);if(_0x1c8693)await a184_0x3d18e2[_0x104a9b(0x1c5)](_0x2f4b6a,{'recursive':!![]});else{await a184_0x3d18e2[_0x104a9b(0x1c5)](a184_0x2058e1[_0x104a9b(0x1c2)](_0x2f4b6a),{'recursive':!![]});const _0x930c0c=await openEntryStream(_0xa07108,_0x52e52f);await pipeline(_0x930c0c,createWriteStream(_0x2f4b6a,{'flags':'wx','mode':0x1a4}));}_0xa07108[_0x104a9b(0x1a6)]();})()[_0x19c03d(0x19e)](_0x12aef1);}),_0xa07108[_0x42e3f9(0x1a6)]();});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a185_0x21bf1f=a185_0x3f46;(function(_0x18c58a,_0x56ee19){const _0x3f5586=a185_0x3f46,_0x3d1e5d=_0x18c58a();while(!![]){try{const _0xfc5b9d=-parseInt(_0x3f5586(0xeb))/0x1+-parseInt(_0x3f5586(0xec))/0x2+-parseInt(_0x3f5586(0xf4))/0x3*(-parseInt(_0x3f5586(0xee))/0x4)+parseInt(_0x3f5586(0xf3))/0x5+parseInt(_0x3f5586(0xf1))/0x6*(-parseInt(_0x3f5586(0xe9))/0x7)+parseInt(_0x3f5586(0xef))/0x8*(parseInt(_0x3f5586(0xf0))/0x9)+parseInt(_0x3f5586(0xed))/0xa;if(_0xfc5b9d===_0x56ee19)break;else _0x3d1e5d['push'](_0x3d1e5d['shift']());}catch(_0x1dbb1e){_0x3d1e5d['push'](_0x3d1e5d['shift']());}}}(a185_0x330f,0x6a7e2));import a185_0x1b25f6 from'node:path';import{fileURLToPath}from'node:url';const __dirname=a185_0x1b25f6[a185_0x21bf1f(0xf2)](fileURLToPath(import.meta.url));export function getRabetbaseCliPackageRoot(){const _0x52cdc4=a185_0x21bf1f;return a185_0x1b25f6[_0x52cdc4(0xea)](__dirname,'../../../../');}function a185_0x3f46(_0x441e62,_0x2cd00b){_0x441e62=_0x441e62-0xe9;const _0x330fe4=a185_0x330f();let _0x3f467c=_0x330fe4[_0x441e62];return _0x3f467c;}function a185_0x330f(){const _0x4a9135=['327480BRFNIy','1385816YUwgqN','36dCdtBc','6882aUZrqp','dirname','1013880PoKFDp','18ytJHIL','1918hBawvZ','resolve','218819gsnGmY','934656gclQzJ','497150ueUJIu'];a185_0x330f=function(){return _0x4a9135;};return a185_0x330f();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x17944e,_0xb650c4){const _0x9d476e=a186_0x2da8,_0x106a16=_0x17944e();while(!![]){try{const _0x3cb571=parseInt(_0x9d476e(0x17b))/0x1*(-parseInt(_0x9d476e(0x172))/0x2)+parseInt(_0x9d476e(0x16e))/0x3+-parseInt(_0x9d476e(0x173))/0x4+parseInt(_0x9d476e(0x176))/0x5+parseInt(_0x9d476e(0x174))/0x6*(-parseInt(_0x9d476e(0x17a))/0x7)+-parseInt(_0x9d476e(0x179))/0x8+parseInt(_0x9d476e(0x16a))/0x9*(parseInt(_0x9d476e(0x16d))/0xa);if(_0x3cb571===_0xb650c4)break;else _0x106a16['push'](_0x106a16['shift']());}catch(_0x298c06){_0x106a16['push'](_0x106a16['shift']());}}}(a186_0x8f57,0xa9547));import a186_0x4e50a9 from'node:path';import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';function a186_0x2da8(_0x3ec97c,_0x2d511a){_0x3ec97c=_0x3ec97c-0x16a;const _0x8f570b=a186_0x8f57();let _0x2da801=_0x8f570b[_0x3ec97c];return _0x2da801;}import{logger}from'../../../utils/logger.js';import{materializeLocalProjectTemplate,materializeProjectTemplate}from'../../../commands/project/create/materialize-project-template.js';export async function copyProjectTemplate(_0xf4c522,_0x411298,_0x55de37){const _0x17219f=a186_0x2da8,_0x1077dd=Date[_0x17219f(0x170)](),_0x2f45fe=a186_0x4e50a9[_0x17219f(0x171)](process['cwd'](),_0xf4c522);try{logger[_0x17219f(0x16f)](_0x17219f(0x178),'Starting\x20project\x20template\x20creation',{'projectCode':_0xf4c522});const _0x54b4a9=_0x55de37?await materializeLocalProjectTemplate(_0x55de37,_0x2f45fe,_0x411298):await materializeProjectTemplate(_0x2f45fe,_0x411298),_0x3beba5=Date[_0x17219f(0x170)]()-_0x1077dd;logger['success'](_0x17219f(0x178),'Project\x20template\x20created',_0x3beba5,{'projectCode':_0xf4c522,'templateSource':_0x54b4a9[_0x17219f(0x177)],'templateVersion':_0x54b4a9[_0x17219f(0x16b)]});}catch(_0x12066f){const _0x375cea=Date[_0x17219f(0x170)]()-_0x1077dd;logger[_0x17219f(0x175)](_0x17219f(0x178),'Failed\x20to\x20copy\x20project\x20template',{'projectCode':_0xf4c522,'error':_0x12066f instanceof Error?_0x12066f[_0x17219f(0x16c)]:String(_0x12066f),'duration':_0x375cea});throw _0x12066f;}return formatElapsed(_0x1077dd);}function a186_0x8f57(){const _0x4772a2=['1466534LZVlnN','5025120xDCrGz','7893822HqNRpC','error','3342210eCCxlP','source','copy','8070120cmcisU','7pxEzwQ','1RCziMm','9JbnBwQ','version','message','42836630zNOskg','166257pGhyhg','info','now','resolve'];a186_0x8f57=function(){return _0x4772a2;};return a186_0x8f57();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x56988f,_0x30ff28){const _0x21d176=a187_0x51a2,_0x475eb0=_0x56988f();while(!![]){try{const _0xd7ca96=parseInt(_0x21d176(0x165))/0x1*(parseInt(_0x21d176(0x166))/0x2)+parseInt(_0x21d176(0x164))/0x3+parseInt(_0x21d176(0x174))/0x4*(-parseInt(_0x21d176(0x162))/0x5)+parseInt(_0x21d176(0x171))/0x6*(-parseInt(_0x21d176(0x161))/0x7)+-parseInt(_0x21d176(0x163))/0x8+-parseInt(_0x21d176(0x172))/0x9+-parseInt(_0x21d176(0x16f))/0xa*(-parseInt(_0x21d176(0x167))/0xb);if(_0xd7ca96===_0x30ff28)break;else _0x475eb0['push'](_0x475eb0['shift']());}catch(_0x53a489){_0x475eb0['push'](_0x475eb0['shift']());}}}(a187_0x2ef6,0xa9b8f));import a187_0x4d123a from'node:path';import{execa}from'execa';function a187_0x51a2(_0x316208,_0x16f118){_0x316208=_0x316208-0x161;const _0x2ef694=a187_0x2ef6();let _0x51a2b4=_0x2ef694[_0x316208];return _0x51a2b4;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';function a187_0x2ef6(){const _0x18f5e8=['Starting\x20code\x20format','4xZPBMM','9905kxlOHa','3372205FtLQox','7735248fpQjSb','3374661yklEEy','8213aheryn','18WvXxis','23406449hUdGGQ','resolve','npx','format','now','success','Code\x20format\x20failed','--write','10hOAfMs','cwd','2190isvBJG','4262922RSkZeN'];a187_0x2ef6=function(){return _0x18f5e8;};return a187_0x2ef6();}export async function formatProjectCode(_0x404870){const _0x4aa555=a187_0x51a2,_0x2b547f=Date[_0x4aa555(0x16b)](),_0x1fd3c8=a187_0x4d123a[_0x4aa555(0x168)](process[_0x4aa555(0x170)](),_0x404870);try{logger['info'](_0x4aa555(0x16a),_0x4aa555(0x173),{'projectCode':_0x404870}),await execa(resolveNpmBin(_0x4aa555(0x169)),['prettier',_0x4aa555(0x16e),'.'],{'cwd':_0x1fd3c8});const _0x43b604=Date[_0x4aa555(0x16b)]()-_0x2b547f;logger[_0x4aa555(0x16c)](_0x4aa555(0x16a),'Code\x20format\x20completed',_0x43b604,{'projectCode':_0x404870});}catch(_0x45682f){const _0x217188=Date[_0x4aa555(0x16b)]()-_0x2b547f;logger['error']('format',_0x4aa555(0x16d),{'projectCode':_0x404870,'error':_0x45682f instanceof Error?_0x45682f['message']:String(_0x45682f),'duration':_0x217188});throw _0x45682f;}return formatElapsed(_0x2b547f);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x409087,_0x5e9302){const _0x1cfab5=a188_0x4531,_0x20af01=_0x409087();while(!![]){try{const _0x51bad0=parseInt(_0x1cfab5(0x1d3))/0x1+-parseInt(_0x1cfab5(0x1da))/0x2+-parseInt(_0x1cfab5(0x1c9))/0x3+parseInt(_0x1cfab5(0x1c7))/0x4*(parseInt(_0x1cfab5(0x1d9))/0x5)+-parseInt(_0x1cfab5(0x1d2))/0x6+-parseInt(_0x1cfab5(0x1db))/0x7+parseInt(_0x1cfab5(0x1ce))/0x8;if(_0x51bad0===_0x5e9302)break;else _0x20af01['push'](_0x20af01['shift']());}catch(_0x46d503){_0x20af01['push'](_0x20af01['shift']());}}}(a188_0x4156,0xd1f00));import a188_0x2e1c75 from'node:path';function a188_0x4156(){const _0x66a351=['Dependency\x20install\x20completed','5518002ZTOneL','98690fkAcEI','Dependency\x20install\x20failed','resolve','message','success','install','5CXpckP','2133810DAjBNu','10236737GwZimz','615788tZkEGw','https://registry.npmmirror.com','3319041FfjPoD','npm','cwd','Starting\x20dependency\x20install','error','41300616CvMyun','--registry','now'];a188_0x4156=function(){return _0x66a351;};return a188_0x4156();}import{execa}from'execa';function a188_0x4531(_0x54c04f,_0x217c43){_0x54c04f=_0x54c04f-0x1c7;const _0x41560f=a188_0x4156();let _0x4531db=_0x41560f[_0x54c04f];return _0x4531db;}import{formatElapsed}from'../../../commands/project/create/format-elapsed.js';import{logger}from'../../../utils/logger.js';import{resolveNpmBin}from'../../../utils/platform.js';export async function installDependencies(_0x27b305){const _0x2302ce=a188_0x4531,_0x3ccb9c=Date[_0x2302ce(0x1d0)](),_0x43f7ad=a188_0x2e1c75[_0x2302ce(0x1d5)](process[_0x2302ce(0x1cb)](),_0x27b305);try{logger['info'](_0x2302ce(0x1d8),_0x2302ce(0x1cc),{'projectCode':_0x27b305,'registry':_0x2302ce(0x1c8)}),await execa(resolveNpmBin(_0x2302ce(0x1ca)),[_0x2302ce(0x1d8),_0x2302ce(0x1cf),_0x2302ce(0x1c8)],{'cwd':_0x43f7ad});const _0x11ea0d=Date[_0x2302ce(0x1d0)]()-_0x3ccb9c;logger[_0x2302ce(0x1d7)](_0x2302ce(0x1d8),_0x2302ce(0x1d1),_0x11ea0d,{'projectCode':_0x27b305});}catch(_0x31320e){const _0x3dda1e=Date[_0x2302ce(0x1d0)]()-_0x3ccb9c;logger[_0x2302ce(0x1cd)](_0x2302ce(0x1d8),_0x2302ce(0x1d4),{'projectCode':_0x27b305,'error':_0x31320e instanceof Error?_0x31320e[_0x2302ce(0x1d6)]:String(_0x31320e),'duration':_0x3dda1e});throw _0x31320e;}return formatElapsed(_0x3ccb9c);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a189_0xea8a25=a189_0x2b31;(function(_0xa1e355,_0x1d7a2b){const _0xa9c7d=a189_0x2b31,_0x23f2ec=_0xa1e355();while(!![]){try{const _0x2a8a31=-parseInt(_0xa9c7d(0x140))/0x1+-parseInt(_0xa9c7d(0x131))/0x2+-parseInt(_0xa9c7d(0x141))/0x3*(parseInt(_0xa9c7d(0x135))/0x4)+-parseInt(_0xa9c7d(0x133))/0x5+parseInt(_0xa9c7d(0x132))/0x6+-parseInt(_0xa9c7d(0x134))/0x7*(parseInt(_0xa9c7d(0x13d))/0x8)+parseInt(_0xa9c7d(0x13e))/0x9*(parseInt(_0xa9c7d(0x137))/0xa);if(_0x2a8a31===_0x1d7a2b)break;else _0x23f2ec['push'](_0x23f2ec['shift']());}catch(_0x30287d){_0x23f2ec['push'](_0x23f2ec['shift']());}}}(a189_0x1740,0xb4371));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{findProjectRootDirectory,resolveConfigPath}from'../../context/config-loader.js';function a189_0x1740(){const _0x1eabb3=['read','3079030gOlexK','Domain\x20routing\x20synchronized:\x20','\x20workspace\x20init\x20--appcode\x20<code>\x20in\x20the\x20project\x20directory\x20first.','No\x20Rabetbase\x20project\x20configuration\x20was\x20found.','path','Synchronize\x20the\x20current\x20project\x27s\x20public\x20Domain\x20routing','1430984hFCTfI','117TDRxFS','validation','770493qpiCQD','45CLNFjT','Run\x20','1269824keTJKn','425190juyOVR','1240705BVzNMs','28enuYib','257708zzfniE'];a189_0x1740=function(){return _0x1eabb3;};return a189_0x1740();}import{writeProjectDomainRoutingManifest}from'../../config/project-domain-routing.js';function a189_0x2b31(_0xc08a49,_0x4912c7){_0xc08a49=_0xc08a49-0x130;const _0x17402c=a189_0x1740();let _0x2b31c5=_0x17402c[_0xc08a49];return _0x2b31c5;}export const projectDomainRoutingSyncDefinition={'service':'project','command':'domain-routing-sync','description':a189_0xea8a25(0x13c),'risk':a189_0xea8a25(0x136),'requiresAuth':![],'requiresAppCode':![],'hasFormat':!![],'flags':[],async 'execute'(){const _0x5ed7d0=a189_0xea8a25,_0x22e2ae=findProjectRootDirectory();if(!resolveConfigPath(_0x22e2ae))throw CliErrors[_0x5ed7d0(0x13f)](_0x5ed7d0(0x13a),_0x5ed7d0(0x130)+CLI_BIN_NAME+_0x5ed7d0(0x139));const _0x1d7181=writeProjectDomainRoutingManifest(_0x22e2ae);return{'ok':!![],'message':_0x5ed7d0(0x138)+_0x1d7181[_0x5ed7d0(0x13b)],'data':_0x1d7181};}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a190_0x467d27=a190_0x11c4;(function(_0x4b4e0c,_0x4f766e){const _0x2ed604=a190_0x11c4,_0x2db689=_0x4b4e0c();while(!![]){try{const _0x3aec0c=-parseInt(_0x2ed604(0xa6))/0x1+-parseInt(_0x2ed604(0x90))/0x2*(-parseInt(_0x2ed604(0x9d))/0x3)+parseInt(_0x2ed604(0x8c))/0x4+parseInt(_0x2ed604(0x99))/0x5+-parseInt(_0x2ed604(0x9b))/0x6*(-parseInt(_0x2ed604(0xa2))/0x7)+-parseInt(_0x2ed604(0xac))/0x8+parseInt(_0x2ed604(0x88))/0x9*(-parseInt(_0x2ed604(0xa7))/0xa);if(_0x3aec0c===_0x4f766e)break;else _0x2db689['push'](_0x2db689['shift']());}catch(_0x4c31d0){_0x2db689['push'](_0x2db689['shift']());}}}(a190_0x2ba9,0xa76ab));import{CliErrors}from'../../errors.js';import{CLI_BIN_NAME}from'../../constant/cli.js';import{upgradeApp}from'../../commands/project/upgrade.js';import{projectDomainRoutingSyncDefinition}from'../../commands/project/domain-routing-sync.js';const createFlags=[{'name':a190_0x467d27(0xa8),'type':'string','description':a190_0x467d27(0x8f)},{'name':a190_0x467d27(0x8a),'type':a190_0x467d27(0x9e),'description':a190_0x467d27(0x8b)},{'name':a190_0x467d27(0xad),'type':a190_0x467d27(0x9e),'description':'App\x20code\x20to\x20bind\x20(skips\x20interactive\x20selection)'},{'name':'current-dir','type':a190_0x467d27(0x9a),'description':a190_0x467d27(0xae),'default':![]},{'name':a190_0x467d27(0x92),'type':a190_0x467d27(0x9e),'description':a190_0x467d27(0x9f)}],upgradeFlags=[{'name':a190_0x467d27(0x97),'type':a190_0x467d27(0x9a),'description':a190_0x467d27(0x93),'default':![]}];function a190_0x11c4(_0x33b4c8,_0x4265f7){_0x33b4c8=_0x33b4c8-0x87;const _0x2ba904=a190_0x2ba9();let _0x11c42a=_0x2ba904[_0x33b4c8];return _0x11c42a;}function a190_0x2ba9(){const _0x56a260=['Run\x20','6847904bufKFj','appcode','Initialize\x20the\x20current\x20empty\x20directory\x20instead\x20of\x20creating\x20a\x20child\x20directory','project','--current-dir\x20cannot\x20be\x20combined\x20with\x20a\x20project\x20name.','write','671445PfoZgH','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]\x20from\x20the\x20empty\x20target\x20directory.','env','Target\x20environment','2601072dfZSep','trim','\x20project\x20create\x20<project-name>\x20[--appcode\x20<code>]\x20or\x20','Project\x20name','4IWEKzP','str','template-source','Skip\x20confirmation\x20prompt','validation','nonInteractive','Upgrade\x20from\x20lovrabet-cli\x20to\x20rabetbase-cli','yes','create','6659955JmlzeG','boolean','2628684AxbiLa','Usage:\x20','391521FmzdNH','string','Prepared\x20local\x20project\x20template\x20directory','../../commands/project/create/main.js','Project\x20code/name\x20(optional,\x20prompts\x20if\x20omitted)','7MLiFDt','\x20project\x20create\x20--current-dir\x20[--appcode\x20<code>]','cookie','Create\x20a\x20new\x20project','1065055VVGmep','10MdUqWC','name','project-name','args'];a190_0x2ba9=function(){return _0x56a260;};return a190_0x2ba9();}export const projectDefinitions=[{'service':'project','command':a190_0x467d27(0x98),'description':a190_0x467d27(0xa5),'risk':a190_0x467d27(0x87),'requiresAuth':!![],'requiresAppCode':![],'hasFormat':![],'args':[{'name':a190_0x467d27(0xa9),'description':a190_0x467d27(0xa1),'required':![]}],'flags':createFlags,async 'execute'(_0x369211){const _0x206ee8=a190_0x467d27,{createApp:_0x2c7334}=await import(_0x206ee8(0xa0)),_0x4b3d50=_0x369211[_0x206ee8(0x91)](_0x206ee8(0xa8))['trim']()||_0x369211[_0x206ee8(0xaa)][0x0]?.[_0x206ee8(0x8d)](),_0x3e5fd4=_0x369211[_0x206ee8(0x91)](_0x206ee8(0x8a))||undefined,_0x4a4bed=_0x369211[_0x206ee8(0x91)](_0x206ee8(0xad))||undefined,_0x51243c=_0x369211[_0x206ee8(0x91)]('template-source')['trim']()||undefined,_0x2e4d7a=_0x369211['bool']('current-dir');if(_0x2e4d7a&&_0x4b3d50)throw CliErrors[_0x206ee8(0x94)](_0x206ee8(0xb0),_0x206ee8(0xab)+CLI_BIN_NAME+_0x206ee8(0x89));if(_0x369211['nonInteractive']){if(!_0x4b3d50&&!_0x2e4d7a)throw CliErrors[_0x206ee8(0x94)]('Non-interactive\x20mode\x20requires\x20a\x20project\x20name.',_0x206ee8(0x9c)+CLI_BIN_NAME+_0x206ee8(0x8e)+CLI_BIN_NAME+_0x206ee8(0xa3));await _0x2c7334({'projectCode':_0x4b3d50,'appCode':_0x4a4bed,'env':_0x3e5fd4,'cookie':_0x369211['cookie'],'currentDir':_0x2e4d7a,'nonInteractive':!![],'templateSource':_0x51243c});}else await _0x2c7334({'projectCode':_0x4b3d50,'appCode':_0x4a4bed,'env':_0x3e5fd4,'cookie':_0x369211[_0x206ee8(0xa4)],'currentDir':_0x2e4d7a,'templateSource':_0x51243c});return{'ok':!![]};}},projectDomainRoutingSyncDefinition,{'service':a190_0x467d27(0xaf),'command':'upgrade','description':a190_0x467d27(0x96),'risk':a190_0x467d27(0x87),'requiresAuth':![],'requiresAppCode':![],'hasFormat':![],'flags':upgradeFlags,async 'execute'(_0x15cbbe){const _0x674cbf=a190_0x467d27;return await upgradeApp(_0x15cbbe[_0x674cbf(0x95)],{'yes':_0x15cbbe['bool'](_0x674cbf(0x97))}),{'ok':!![]};}}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a178_0x4c3e21=a178_0x218f;(function(_0x4b7f96,_0xd626cc){const _0x6eae82=a178_0x218f,_0x120a86=_0x4b7f96();while(!![]){try{const _0x46d419=-parseInt(_0x6eae82(0x77))/0x1*(-parseInt(_0x6eae82(0x8a))/0x2)+parseInt(_0x6eae82(0xb8))/0x3+parseInt(_0x6eae82(0xf4))/0x4*(-parseInt(_0x6eae82(0x9f))/0x5)+-parseInt(_0x6eae82(0xa7))/0x6+parseInt(_0x6eae82(0xf7))/0x7+parseInt(_0x6eae82(0xde))/0x8*(parseInt(_0x6eae82(0x9a))/0x9)+-parseInt(_0x6eae82(0xa5))/0xa*(parseInt(_0x6eae82(0xd1))/0xb);if(_0x46d419===_0xd626cc)break;else _0x120a86['push'](_0x120a86['shift']());}catch(_0x50be49){_0x120a86['push'](_0x120a86['shift']());}}}(a178_0x2559,0x56d28));import a178_0x1f4e96 from'chalk';import a178_0x39624f from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';function a178_0x218f(_0x342fd8,_0x43dff3){_0x342fd8=_0x342fd8-0x74;const _0x2559a8=a178_0x2559();let _0x218fdd=_0x2559a8[_0x342fd8];return _0x218fdd;}function a178_0x2559(){const _0x3aedd3=['\x20→\x20keys:\x20','cyan','\x20removed\x20(','.bak','configMigration','Config\x20migration','yes','Remove\x20.lovrabet/','\x20\x20\x20\x20\x20\x20\x20','\x20\x20npm\x20install','keys','Config\x20file:','message','stringify','.lovrabetrc','4YmqgNI','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','status','fail','path','white','done','already\x20exists\x20(will\x20merge)','\x20\x20Fields\x20to\x20migrate:\x20','isArray','utf8','parse','Upgrade\x20cancelled.','length','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','green','222957nGDDeG','\x20(backup:\x20','lovrabet/lovrabet-skill\x20removed','inherit','Upgrade\x20completed\x20successfully!','1955sTmoPR','args','join','none\x20found','Upgrade\x20@lovrabet/sdk','@lovrabet/dataset-mcp-server','10ojHRSS','isDirectory','295530etwKGH','sdkUpgrade','gray','lovrabet/rabetbase','Skill\x20swap:','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','log','\x20\x20Current\x20version\x20in\x20','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Legacy\x20artifacts:','\x20\x20New\x20config\x20(.rabetbase.json):\x20','values','Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:','files','.lovrabet.json','package.json','lovrabet/rabetbase\x20installed\x20globally','840324gvAUDD','undefined','no\x20matching\x20entry\x20found','latest','not\x20found\x20(will\x20create)','label','not\x20needed','CANCEL','error','\x20removed','push','string','Step\x204/7:\x20MCP\x20config\x20—\x20','\x20\x20#\x20or','[\x22@lovrabet/sdk\x22]:\x20','hasNewConfig','MCP\x20config:','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','Remove\x20legacy\x20artifacts','Step\x201/7:\x20Config\x20migration\x20—\x20','.claude/skills/lovrabet','\x20from\x20','Remove\x20old\x20skill','.lovrabet','some','7757299bYBpXk','===\x20Upgrade\x20Analysis\x20===','oldPath','filter','yellow','mcpServers','\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server','\x20→\x20latest','entries','cwd','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','removed\x20','88XCLKzh','Step\x201/7:\x20Migrating\x20config...','no\x20legacy\x20entry','not\x20found\x20or\x20already\x20at\x20latest','@lovrabet/sdk','Step\x204/7:\x20Cleaning\x20MCP\x20config...','includes','oldMcpConfig','Step\x206/7:\x20Installing\x20new\x20skill...','object','no\x20legacy\x20config\x20found','start','failed','Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20','needsSkillSwap','detail','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','skipped\x20(no\x20legacy\x20config)','Step\x207/7:\x20@lovrabet/sdk\x20—\x20','@lovrabet/sdk:','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','1660ZVcZCr','.cursor/mcp.json','Install\x20new\x20skill','4328884rZjyrU','succeed','red','\x20→\x20','exit\x20','step','\x20\x20Step\x20','needed','50665fujJGy','bold','FOUND','Clean\x20MCP\x20config'];a178_0x2559=function(){return _0x3aedd3;};return a178_0x2559();}import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=[a178_0x4c3e21(0xb5),a178_0x4c3e21(0x89)];function collectIdeSkillFiles(_0x1db3c9){const _0x5a33ed=a178_0x4c3e21,_0x2d1e2d=[];for(const _0x1a7663 of Object[_0x5a33ed(0xb2)](CORE_IDE_CONFIGS)){if(_0x1a7663[_0x5a33ed(0xb4)])for(const _0x49577a of _0x1a7663['files']){_0x2d1e2d[_0x5a33ed(0xc2)](resolve(_0x1db3c9,_0x49577a[_0x5a33ed(0x8e)]));}}return _0x2d1e2d;}function analyse(_0x3088b0){const _0x476665=a178_0x4c3e21;let _0x1b9d42=null;const _0x291812=resolve(_0x3088b0,NEW_CONFIG_NAME),_0x9eed88=existsSync(_0x291812);for(const _0x4e14f4 of LEGACY_CONFIG_NAMES){const _0x729108=resolve(_0x3088b0,_0x4e14f4);if(existsSync(_0x729108)){const _0x344bd9=readConfigFile(_0x729108),_0x351de3=Object[_0x476665(0x85)](_0x344bd9)[_0x476665(0xd4)](_0x5eef84=>typeof _0x344bd9[_0x5eef84]!==_0x476665(0xb9));_0x1b9d42={'oldPath':_0x729108,'hasNewConfig':_0x9eed88,'fields':_0x351de3};break;}}const _0x377dab=[],_0x612a5b=resolve(_0x3088b0,_0x476665(0xcf));if(existsSync(_0x612a5b))_0x377dab[_0x476665(0xc2)](_0x612a5b);const _0x24c8a8=resolve(_0x3088b0,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x24c8a8))_0x377dab[_0x476665(0xc2)](_0x24c8a8);const _0x355c75=resolve(_0x3088b0,_0x476665(0xcc));if(existsSync(_0x355c75))_0x377dab[_0x476665(0xc2)](_0x355c75);for(const _0x1893fb of collectIdeSkillFiles(_0x3088b0)){if(existsSync(_0x1893fb))_0x377dab[_0x476665(0xc2)](_0x1893fb);}let _0xd86175=null;const _0x150aeb=resolve(_0x3088b0,_0x476665(0xf5));if(existsSync(_0x150aeb))try{const _0x4d2a12=JSON[_0x476665(0x95)](readFileSync(_0x150aeb,_0x476665(0x94)));if(_0x4d2a12?.[_0x476665(0xd6)]&&typeof _0x4d2a12['mcpServers']===_0x476665(0xe7)){const _0x2e698c=[];for(const [_0x57c8c0,_0xfda01]of Object['entries'](_0x4d2a12[_0x476665(0xd6)])){const _0x31db8c=_0xfda01;_0x31db8c?.['args']&&Array[_0x476665(0x93)](_0x31db8c['args'])&&_0x31db8c[_0x476665(0xa0)][_0x476665(0xd0)](_0x30a715=>typeof _0x30a715===_0x476665(0xc3)&&_0x30a715['includes'](_0x476665(0xa4)))&&_0x2e698c[_0x476665(0xc2)](_0x57c8c0);}_0x2e698c['length']>0x0&&(_0xd86175={'path':_0x150aeb,'keys':_0x2e698c});}}catch{}const _0x43096c=_0x377dab[_0x476665(0x97)]>0x0||_0x1b9d42!==null;let _0x535d45=null;const _0x3db3a9=resolve(_0x3088b0,_0x476665(0xb6));if(existsSync(_0x3db3a9))try{const _0x417c1c=JSON[_0x476665(0x95)](readFileSync(_0x3db3a9,_0x476665(0x94)));for(const _0x328bbd of['dependencies','devDependencies']){const _0x40f672=_0x417c1c?.[_0x328bbd]?.['@lovrabet/sdk'];if(typeof _0x40f672==='string'){_0x40f672!==_0x476665(0xbb)&&(_0x535d45={'pkgPath':_0x3db3a9,'currentVersion':_0x40f672,'field':_0x328bbd});break;}}}catch{}return{'configMigration':_0x1b9d42,'oldArtifacts':_0x377dab,'oldMcpConfig':_0xd86175,'needsSkillSwap':_0x43096c,'sdkUpgrade':_0x535d45};}function printReport(_0x8ecc2){const _0x1e51dd=a178_0x4c3e21,{configMigration:_0x4246a4,oldArtifacts:_0x1ff9c1,oldMcpConfig:_0x2977b9,needsSkillSwap:_0x42c329}=_0x8ecc2;console['log'](''),console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x78)](_0x1e51dd(0xd2))),console['log']('');_0x4246a4?(console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)]('Config\x20file:')+('\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xd5)](_0x4246a4[_0x1e51dd(0xd3)]))),console[_0x1e51dd(0xad)](_0x1e51dd(0xb1)+(_0x4246a4[_0x1e51dd(0xc7)]?a178_0x1f4e96['green'](_0x1e51dd(0x91)):a178_0x1f4e96['gray'](_0x1e51dd(0xbc)))),console[_0x1e51dd(0xad)](_0x1e51dd(0x92)+_0x4246a4['fields']['join'](',\x20')),console['log'](_0x1e51dd(0xf2))):console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0x86))+'\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xa9)](_0x1e51dd(0xe8)));console[_0x1e51dd(0xad)]('');if(_0x1ff9c1[_0x1e51dd(0x97)]>0x0){console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xb0)));for(const _0x2efa66 of _0x1ff9c1){console[_0x1e51dd(0xad)]('\x20\x20'+a178_0x1f4e96['red'](_0x1e51dd(0x79))+'\x20\x20'+_0x2efa66);}console[_0x1e51dd(0xad)]('\x20\x20Action:\x20delete');}else console['log'](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xb0))+'\x20\x20'+a178_0x1f4e96['gray'](_0x1e51dd(0xa2)));console[_0x1e51dd(0xad)]('');_0x2977b9?(console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xc8))+('\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xd5)](_0x2977b9[_0x1e51dd(0x8e)])+_0x1e51dd(0x7b)+_0x2977b9[_0x1e51dd(0x85)]['join'](',\x20'))),console[_0x1e51dd(0xad)](_0x1e51dd(0xd7))):console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xc8))+'\x20\x20'+a178_0x1f4e96['gray'](_0x1e51dd(0xe0)));console['log'](''),console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xab))+('\x20\x20'+(_0x42c329?a178_0x1f4e96[_0x1e51dd(0xd5)](_0x1e51dd(0x76)):a178_0x1f4e96[_0x1e51dd(0x99)](_0x1e51dd(0xbe)))));_0x42c329&&console['log'](_0x1e51dd(0xee)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x1e51dd(0xad)]('');if(_0x8ecc2[_0x1e51dd(0xa8)]){const {currentVersion:_0xd7ba9c,field:_0x3f037c,pkgPath:_0x100bed}=_0x8ecc2[_0x1e51dd(0xa8)];console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)]('@lovrabet/sdk:')+('\x20\x20'+a178_0x1f4e96['yellow'](_0x100bed))),console[_0x1e51dd(0xad)](_0x1e51dd(0xae)+_0x3f037c+':\x20'+a178_0x1f4e96['yellow'](_0xd7ba9c)+'\x20→\x20'+a178_0x1f4e96[_0x1e51dd(0x99)](_0x1e51dd(0xbb))),console['log']('\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)');}else console[_0x1e51dd(0xad)](a178_0x1f4e96[_0x1e51dd(0x7c)](_0x1e51dd(0xf1))+'\x20\x20'+a178_0x1f4e96[_0x1e51dd(0xa9)](_0x1e51dd(0xe1)));console['log']('');}function execConfigMigration(_0x405066,_0xaf721d){const _0x56c4ce=a178_0x4c3e21,{configMigration:_0x75cb84}=_0x405066;if(!_0x75cb84?.[_0x56c4ce(0xd3)])return{'step':0x1,'label':_0x56c4ce(0x80),'ok':!![],'detail':_0x56c4ce(0xef)};const _0x159e38=readConfigFile(_0x75cb84[_0x56c4ce(0xd3)]),_0x3d0414=resolve(_0xaf721d,NEW_CONFIG_NAME),_0x51e019=_0x75cb84[_0x56c4ce(0xc7)]?readConfigFile(_0x3d0414):{};for(const [_0x38df48,_0x8c334a]of Object[_0x56c4ce(0xd9)](_0x159e38)){!(_0x38df48 in _0x51e019)&&(_0x51e019[_0x38df48]=_0x8c334a);}writeConfigFile(_0x3d0414,_0x51e019);const _0x58a4fb=_0x75cb84[_0x56c4ce(0xd3)]+_0x56c4ce(0x7e);return renameSync(_0x75cb84['oldPath'],_0x58a4fb),{'step':0x1,'label':_0x56c4ce(0x80),'ok':!![],'detail':_0x75cb84['oldPath']+_0x56c4ce(0xfa)+_0x3d0414+_0x56c4ce(0x9b)+_0x58a4fb+')'};}function execRemoveOldArtifacts(_0x22426d){const _0xfaa0f7=a178_0x4c3e21,_0x3b0992=[];for(const _0x24d31f of _0x22426d){try{if(!existsSync(_0x24d31f))continue;const _0x3b4e46=tryStat(_0x24d31f);_0x3b4e46?.[_0xfaa0f7(0xa6)]()?rmSync(_0x24d31f,{'recursive':!![],'force':!![]}):unlinkSync(_0x24d31f);}catch(_0x3a25d2){_0x3b0992[_0xfaa0f7(0xc2)](_0x24d31f+':\x20'+_0x3a25d2['message']);}}return{'step':0x3,'label':_0xfaa0f7(0xca),'ok':_0x3b0992[_0xfaa0f7(0x97)]===0x0,'detail':_0x3b0992[_0xfaa0f7(0x97)]>0x0?_0x22426d[_0xfaa0f7(0x97)]-_0x3b0992[_0xfaa0f7(0x97)]+'/'+_0x22426d[_0xfaa0f7(0x97)]+_0xfaa0f7(0x7d)+_0x3b0992[_0xfaa0f7(0xa1)](';\x20')+')':_0x22426d['length']+_0xfaa0f7(0xc1)};}function execCleanMcp(_0x4c2a5d){const _0x15d03b=a178_0x4c3e21;if(!_0x4c2a5d[_0x15d03b(0xe5)])return{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':'skipped'};try{const _0x3c556e=readFileSync(_0x4c2a5d[_0x15d03b(0xe5)][_0x15d03b(0x8e)],_0x15d03b(0x94)),_0x81355c=JSON[_0x15d03b(0x95)](_0x3c556e);if(_0x81355c?.[_0x15d03b(0xd6)]&&typeof _0x81355c[_0x15d03b(0xd6)]===_0x15d03b(0xe7)){const _0x1e6460=[];for(const [_0x406037,_0xd969f5]of Object[_0x15d03b(0xd9)](_0x81355c[_0x15d03b(0xd6)])){_0xd969f5?.[_0x15d03b(0xa0)]&&Array[_0x15d03b(0x93)](_0xd969f5[_0x15d03b(0xa0)])&&_0xd969f5[_0x15d03b(0xa0)][_0x15d03b(0xd0)](_0x2e3215=>typeof _0x2e3215===_0x15d03b(0xc3)&&_0x2e3215[_0x15d03b(0xe4)](_0x15d03b(0xa4)))&&_0x1e6460[_0x15d03b(0xc2)](_0x406037);}for(const _0x460296 of _0x1e6460){delete _0x81355c[_0x15d03b(0xd6)][_0x460296];}return _0x1e6460[_0x15d03b(0x97)]>0x0&&writeFileSync(_0x4c2a5d[_0x15d03b(0xe5)]['path'],JSON[_0x15d03b(0x88)](_0x81355c,null,0x2)+'\x0a',_0x15d03b(0x94)),{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':_0x15d03b(0xdd)+_0x1e6460[_0x15d03b(0xa1)](',\x20')+_0x15d03b(0xcd)+_0x4c2a5d[_0x15d03b(0xe5)][_0x15d03b(0x8e)]};}return{'step':0x4,'label':_0x15d03b(0x7a),'ok':!![],'detail':_0x15d03b(0xba)};}catch(_0x1f3b56){return{'step':0x4,'label':_0x15d03b(0x7a),'ok':![],'detail':_0x1f3b56[_0x15d03b(0x87)]};}}function execSkillsRemove(_0x30e2d0,_0x11f0fc){const _0x26c925=a178_0x4c3e21,_0x4cf3ae=runNpxSkillsRemove(_0x30e2d0,{'stdio':_0x26c925(0x9d),'yes':_0x11f0fc});return{'step':0x5,'label':_0x26c925(0xce),'ok':_0x4cf3ae['ok'],'detail':_0x4cf3ae['ok']?_0x26c925(0x9c):_0x4cf3ae[_0x26c925(0xc0)]??_0x26c925(0xfb)+_0x4cf3ae[_0x26c925(0x8c)]};}function execSkillsAdd(_0x3ccb2f,_0x2e2044){const _0xca8823=a178_0x4c3e21,_0x882b3e=runNpxSkillsAddGlobal(_0x3ccb2f,_0xca8823(0xaa),{'stdio':_0xca8823(0x9d),'yes':_0x2e2044});return{'step':0x6,'label':_0xca8823(0xf6),'ok':_0x882b3e['ok'],'detail':_0x882b3e['ok']?_0xca8823(0xb7):_0x882b3e[_0xca8823(0xc0)]??_0xca8823(0xfb)+_0x882b3e[_0xca8823(0x8c)]};}function execUpgradeSdk(_0x2862fc){const _0x3b4d05=a178_0x4c3e21;if(!_0x2862fc[_0x3b4d05(0xa8)])return{'step':0x7,'label':_0x3b4d05(0xa3),'ok':!![],'detail':'skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)'};const {pkgPath:_0x3786d4,currentVersion:_0x48933b,field:_0x123ad6}=_0x2862fc[_0x3b4d05(0xa8)];try{const _0x32cb53=readFileSync(_0x3786d4,_0x3b4d05(0x94)),_0x3a7469=JSON[_0x3b4d05(0x95)](_0x32cb53);return _0x3a7469[_0x123ad6][_0x3b4d05(0xe2)]=_0x3b4d05(0xbb),writeFileSync(_0x3786d4,JSON['stringify'](_0x3a7469,null,0x2)+'\x0a',_0x3b4d05(0x94)),{'step':0x7,'label':_0x3b4d05(0xa3),'ok':!![],'detail':_0x123ad6+_0x3b4d05(0xc6)+_0x48933b+_0x3b4d05(0xd8)};}catch(_0x3d15a2){return{'step':0x7,'label':_0x3b4d05(0xa3),'ok':![],'detail':_0x3d15a2[_0x3b4d05(0x87)]};}}function tryStat(_0x4788e3){try{return statSync(_0x4788e3);}catch{return undefined;}}function printSummary(_0x3dc0a7){const _0x1ba76d=a178_0x4c3e21;console['log'](''),console[_0x1ba76d(0xad)](a178_0x1f4e96['bold']('===\x20Upgrade\x20Summary\x20===')),console[_0x1ba76d(0xad)]('');for(const _0x2a52a3 of _0x3dc0a7){const _0x3e8156=_0x2a52a3['ok']?a178_0x1f4e96[_0x1ba76d(0x99)]('OK'):a178_0x1f4e96[_0x1ba76d(0xf9)]('FAIL');console[_0x1ba76d(0xad)]('\x20\x20'+_0x3e8156+_0x1ba76d(0x75)+_0x2a52a3[_0x1ba76d(0x74)]+':\x20'+_0x2a52a3[_0x1ba76d(0xbd)]);if(_0x2a52a3['detail'])console[_0x1ba76d(0xad)](_0x1ba76d(0x83)+a178_0x1f4e96[_0x1ba76d(0xa9)](_0x2a52a3[_0x1ba76d(0xed)]));}console[_0x1ba76d(0xad)]('');}export async function upgradeApp(_0x354b33,_0x3ba7f7){const _0x3aeb57=a178_0x4c3e21,_0x2d079f=process[_0x3aeb57(0xda)](),_0x213626=analyse(_0x2d079f),_0x4736a2=!_0x213626[_0x3aeb57(0x7f)]&&_0x213626['oldArtifacts'][_0x3aeb57(0x97)]===0x0&&!_0x213626[_0x3aeb57(0xe5)]&&!_0x213626[_0x3aeb57(0xec)]&&!_0x213626[_0x3aeb57(0xa8)];if(_0x4736a2){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x99)](_0x3aeb57(0xac)));return;}printReport(_0x213626);const _0x4eb8cd=!!(_0x3ba7f7[_0x3aeb57(0x81)]||_0x3ba7f7['Y']||_0x354b33);if(!_0x4eb8cd)try{const _0x13cb63=await askConfirm('Proceed\x20with\x20upgrade?');if(!_0x13cb63){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0xa9)](_0x3aeb57(0x96)));return;}}catch(_0x4cae29){if(_0x4cae29?.['message']===_0x3aeb57(0xbf)){console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0xa9)]('Upgrade\x20cancelled.'));return;}throw _0x4cae29;}const _0x5e4e25=[],_0x197b90=a178_0x39624f({'text':_0x3aeb57(0xdf),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x764e75=execConfigMigration(_0x213626,_0x2d079f);_0x5e4e25[_0x3aeb57(0xc2)](_0x764e75),_0x197b90[_0x764e75['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xcb)+(_0x764e75[_0x3aeb57(0xed)]??(_0x764e75['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x3db9e4=resolve(_0x2d079f,_0x3aeb57(0xcf)),_0x235b6d=a178_0x39624f({'text':'Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)]();if(existsSync(_0x3db9e4))try{rmSync(_0x3db9e4,{'recursive':!![],'force':!![]}),_0x235b6d[_0x3aeb57(0xf8)](_0x3aeb57(0xdc)),_0x5e4e25['push']({'step':0x2,'label':_0x3aeb57(0x82),'ok':!![]});}catch(_0x476376){_0x235b6d['fail']('Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20'+_0x476376['message']),_0x5e4e25[_0x3aeb57(0xc2)]({'step':0x2,'label':_0x3aeb57(0x82),'ok':![],'detail':_0x476376['message']});}else _0x235b6d['info']('Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped'),_0x5e4e25['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':'skipped'});const _0x45b75b=a178_0x39624f({'text':_0x3aeb57(0xf3),'color':'cyan'})['start'](),_0x9906be=execRemoveOldArtifacts(_0x213626['oldArtifacts']);_0x5e4e25[_0x3aeb57(0xc2)](_0x9906be),_0x45b75b[_0x9906be['ok']?'succeed':_0x3aeb57(0x8d)](_0x3aeb57(0x8b)+(_0x9906be[_0x3aeb57(0xed)]??(_0x9906be['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x1e31bc=a178_0x39624f({'text':_0x3aeb57(0xe3),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x36d7c0=execCleanMcp(_0x213626);_0x5e4e25[_0x3aeb57(0xc2)](_0x36d7c0),_0x1e31bc[_0x36d7c0['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xc4)+(_0x36d7c0[_0x3aeb57(0xed)]??(_0x36d7c0['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea))));const _0x23dc10=a178_0x39624f({'text':'Step\x205/7:\x20Removing\x20old\x20skill...','color':_0x3aeb57(0x7c)})['start'](),_0x498f6e=execSkillsRemove(_0x2d079f,_0x4eb8cd);_0x5e4e25[_0x3aeb57(0xc2)](_0x498f6e),_0x23dc10[_0x498f6e['ok']?'succeed':_0x3aeb57(0x8d)](_0x3aeb57(0xeb)+(_0x498f6e['detail']??(_0x498f6e['ok']?'done':_0x3aeb57(0xea))));const _0x151bb6=a178_0x39624f({'text':_0x3aeb57(0xe6),'color':_0x3aeb57(0x7c)})['start'](),_0x46675b=execSkillsAdd(_0x2d079f,_0x4eb8cd);_0x5e4e25[_0x3aeb57(0xc2)](_0x46675b),_0x151bb6[_0x46675b['ok']?_0x3aeb57(0xf8):'fail'](_0x3aeb57(0xdb)+(_0x46675b[_0x3aeb57(0xed)]??(_0x46675b['ok']?'done':_0x3aeb57(0xea))));const _0x46972b=a178_0x39624f({'text':_0x3aeb57(0xaf),'color':_0x3aeb57(0x7c)})[_0x3aeb57(0xe9)](),_0x47ebfc=execUpgradeSdk(_0x213626);_0x5e4e25[_0x3aeb57(0xc2)](_0x47ebfc),_0x46972b[_0x47ebfc['ok']?_0x3aeb57(0xf8):_0x3aeb57(0x8d)](_0x3aeb57(0xf0)+(_0x47ebfc[_0x3aeb57(0xed)]??(_0x47ebfc['ok']?_0x3aeb57(0x90):_0x3aeb57(0xea)))),printSummary(_0x5e4e25);const _0x3fbb9b=_0x5e4e25[_0x3aeb57(0xd0)](_0x1a948b=>!_0x1a948b['ok']);_0x3fbb9b?console['log'](a178_0x1f4e96[_0x3aeb57(0xd5)](_0x3aeb57(0x98))):console['log'](a178_0x1f4e96[_0x3aeb57(0x99)](_0x3aeb57(0x9e))),_0x47ebfc['ok']&&_0x213626['sdkUpgrade']&&(console[_0x3aeb57(0xad)](''),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x78)][_0x3aeb57(0x7c)](_0x3aeb57(0xc9))),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x7c)](_0x3aeb57(0xb3))),console['log'](''),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x8f)](_0x3aeb57(0x84))),console[_0x3aeb57(0xad)](a178_0x1f4e96['white'](_0x3aeb57(0xc5))),console[_0x3aeb57(0xad)](a178_0x1f4e96[_0x3aeb57(0x8f)]('\x20\x20bun\x20install')),console['log'](''));}
|
|
1
|
+
const a191_0x56c7b3=a191_0x14b0;(function(_0x523ecf,_0x4fabdc){const _0x30afe9=a191_0x14b0,_0x58f5e4=_0x523ecf();while(!![]){try{const _0x2e227d=parseInt(_0x30afe9(0x241))/0x1+-parseInt(_0x30afe9(0x23b))/0x2*(parseInt(_0x30afe9(0x20b))/0x3)+-parseInt(_0x30afe9(0x233))/0x4*(parseInt(_0x30afe9(0x1e0))/0x5)+parseInt(_0x30afe9(0x1ee))/0x6+parseInt(_0x30afe9(0x1e2))/0x7+parseInt(_0x30afe9(0x23a))/0x8*(-parseInt(_0x30afe9(0x1e6))/0x9)+parseInt(_0x30afe9(0x209))/0xa;if(_0x2e227d===_0x4fabdc)break;else _0x58f5e4['push'](_0x58f5e4['shift']());}catch(_0x502f7b){_0x58f5e4['push'](_0x58f5e4['shift']());}}}(a191_0x4c12,0xb001d));import a191_0x56ef4e from'chalk';function a191_0x4c12(){const _0xc22929=['label','undefined','\x20\x20\x20\x20\x20\x20\x20','includes','@lovrabet/sdk','start','===\x20Upgrade\x20Summary\x20===','\x20\x20Fields\x20to\x20migrate:\x20','.cursor/mcp.json','Proceed\x20with\x20upgrade?','fields','Step\x202/7:\x20Removing\x20.lovrabet/\x20directory...','cyan','\x20\x20#\x20or','inherit','needed','Step\x202/7:\x20.lovrabet/\x20not\x20found,\x20skipped','\x20\x20New\x20config\x20(.rabetbase.json):\x20','MCP\x20config:','error','yellow','bold','FOUND','Step\x202/7:\x20.lovrabet/\x20directory\x20removed','@lovrabet/dataset-mcp-server','succeed','message','Step\x201/7:\x20Config\x20migration\x20—\x20','\x20\x20Action:\x20delete','Some\x20steps\x20failed.\x20Check\x20the\x20summary\x20above\x20for\x20details.','join','Install\x20new\x20skill','files','push','red','Upgrade\x20cancelled.','already\x20exists\x20(will\x20merge)','Remove\x20old\x20skill','4hxkyYW','===\x20Upgrade\x20Analysis\x20===','fail','@lovrabet/sdk:','\x20\x20bun\x20install','no\x20legacy\x20entry','Upgrade\x20@lovrabet/sdk','920snnKpc','15470nVoPKP','info','skipped\x20(not\x20found\x20or\x20already\x20at\x20latest)','\x20removed','args','isArray','1369069idusoe','\x20from\x20','Step\x206/7:\x20Install\x20new\x20skill\x20—\x20','.bak','object','not\x20found\x20(will\x20create)','keys','lovrabet/rabetbase\x20installed\x20globally','failed','oldMcpConfig','\x20(backup:\x20','Remove\x20.lovrabet/','latest','parse','exit\x20','CANCEL','string','gray','not\x20found\x20or\x20already\x20at\x20latest','oldArtifacts','log','Step\x204/7:\x20MCP\x20config\x20—\x20','skipped','no\x20legacy\x20config\x20found','Step\x203/7:\x20Removing\x20legacy\x20IDE\x20skill\x20files...','\x20\x20Action:\x20migrate\x20→\x20backup\x20old\x20as\x20.bak','detail','\x20→\x20','Config\x20migration','mcpServers','\x20\x20Action:\x20remove\x20old\x20lovrabet/lovrabet-skill,\x20add\x20via\x20`','5994565MesHcL','Step\x203/7:\x20Legacy\x20artifacts\x20—\x20','9385957kkdGXA','Legacy\x20artifacts:','Remove\x20legacy\x20artifacts','stringify','49239YjPOwm','length','isDirectory','\x20\x20Action:\x20update\x20package.json\x20(you\x20will\x20need\x20to\x20re-run\x20install)','Clean\x20MCP\x20config','lovrabet/lovrabet-skill\x20removed','utf8','Step\x202/7:\x20.lovrabet/\x20removal\x20failed\x20—\x20','1677906buwiqF','\x20\x20npm\x20install','Step\x207/7:\x20Upgrading\x20@lovrabet/sdk\x20in\x20package.json...','Step\x205/7:\x20Removing\x20old\x20skill...','Step\x204/7:\x20Cleaning\x20MCP\x20config...','Config\x20file:','step','oldPath','Upgrade\x20completed\x20successfully!','removed\x20','hasNewConfig','.claude/skills/lovrabet','white','none\x20found','green','@lovrabet/sdk\x20has\x20been\x20updated\x20to\x20latest\x20in\x20package.json.','done','sdkUpgrade','No\x20legacy\x20artifacts\x20found.\x20Your\x20project\x20is\x20already\x20up-to-date.','status','Step\x201/7:\x20Migrating\x20config...','path','.lovrabet.json','\x20\x20Step\x20','cwd','entries','\x20removed\x20(','2633170NDwQUX','some','273ODmqJP','package.json'];a191_0x4c12=function(){return _0xc22929;};return a191_0x4c12();}import a191_0x900295 from'ora';import{existsSync,readFileSync,renameSync,rmSync,statSync,unlinkSync,writeFileSync}from'node:fs';import{resolve}from'node:path';import{NEW_CONFIG_NAME,readConfigFile,writeConfigFile}from'../../context.js';import{CORE_IDE_CONFIGS}from'../../utils/ai_config.js';import{NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE,runNpxSkillsAddGlobal,runNpxSkillsRemove}from'../../skills/npx-skills-add.js';import{askConfirm}from'../../commands/menu/shared/inquirer.js';const LEGACY_CONFIG_NAMES=[a191_0x56c7b3(0x204),'.lovrabetrc'];function collectIdeSkillFiles(_0x4cfc1c){const _0x1356f8=a191_0x56c7b3,_0x9efbd1=[];for(const _0x2c1246 of Object['values'](CORE_IDE_CONFIGS)){if(_0x2c1246[_0x1356f8(0x22d)])for(const _0x214875 of _0x2c1246['files']){_0x9efbd1[_0x1356f8(0x22e)](resolve(_0x4cfc1c,_0x214875[_0x1356f8(0x203)]));}}return _0x9efbd1;}function analyse(_0x3b9617){const _0x1ed961=a191_0x56c7b3;let _0x4a4446=null;const _0x3aafa2=resolve(_0x3b9617,NEW_CONFIG_NAME),_0x14a999=existsSync(_0x3aafa2);for(const _0xd561b0 of LEGACY_CONFIG_NAMES){const _0x24a256=resolve(_0x3b9617,_0xd561b0);if(existsSync(_0x24a256)){const _0xb89fa7=readConfigFile(_0x24a256),_0x332fcd=Object[_0x1ed961(0x247)](_0xb89fa7)['filter'](_0x2e2232=>typeof _0xb89fa7[_0x2e2232]!==_0x1ed961(0x20e));_0x4a4446={'oldPath':_0x24a256,'hasNewConfig':_0x14a999,'fields':_0x332fcd};break;}}const _0x59b499=[],_0x42e9bb=resolve(_0x3b9617,'.lovrabet');if(existsSync(_0x42e9bb))_0x59b499['push'](_0x42e9bb);const _0x4e7db8=resolve(_0x3b9617,'.cursor/rules/lovrabet_rules.mdc');if(existsSync(_0x4e7db8))_0x59b499[_0x1ed961(0x22e)](_0x4e7db8);const _0x590a10=resolve(_0x3b9617,_0x1ed961(0x1f9));if(existsSync(_0x590a10))_0x59b499[_0x1ed961(0x22e)](_0x590a10);for(const _0x233397 of collectIdeSkillFiles(_0x3b9617)){if(existsSync(_0x233397))_0x59b499[_0x1ed961(0x22e)](_0x233397);}let _0x1736aa=null;const _0x1fa885=resolve(_0x3b9617,_0x1ed961(0x215));if(existsSync(_0x1fa885))try{const _0x3cae47=JSON[_0x1ed961(0x24e)](readFileSync(_0x1fa885,_0x1ed961(0x1ec)));if(_0x3cae47?.[_0x1ed961(0x1de)]&&typeof _0x3cae47['mcpServers']==='object'){const _0x400c2d=[];for(const [_0x2a478f,_0x116d3b]of Object['entries'](_0x3cae47[_0x1ed961(0x1de)])){const _0xd921a8=_0x116d3b;_0xd921a8?.['args']&&Array[_0x1ed961(0x240)](_0xd921a8[_0x1ed961(0x23f)])&&_0xd921a8[_0x1ed961(0x23f)][_0x1ed961(0x20a)](_0x3db1f5=>typeof _0x3db1f5===_0x1ed961(0x1d1)&&_0x3db1f5['includes'](_0x1ed961(0x225)))&&_0x400c2d['push'](_0x2a478f);}_0x400c2d[_0x1ed961(0x1e7)]>0x0&&(_0x1736aa={'path':_0x1fa885,'keys':_0x400c2d});}}catch{}const _0x95ea51=_0x59b499['length']>0x0||_0x4a4446!==null;let _0x29c0d0=null;const _0x1f4b56=resolve(_0x3b9617,_0x1ed961(0x20c));if(existsSync(_0x1f4b56))try{const _0x5e8954=JSON[_0x1ed961(0x24e)](readFileSync(_0x1f4b56,'utf8'));for(const _0x479948 of['dependencies','devDependencies']){const _0x3b3b8e=_0x5e8954?.[_0x479948]?.[_0x1ed961(0x211)];if(typeof _0x3b3b8e===_0x1ed961(0x1d1)){_0x3b3b8e!==_0x1ed961(0x24d)&&(_0x29c0d0={'pkgPath':_0x1f4b56,'currentVersion':_0x3b3b8e,'field':_0x479948});break;}}}catch{}return{'configMigration':_0x4a4446,'oldArtifacts':_0x59b499,'oldMcpConfig':_0x1736aa,'needsSkillSwap':_0x95ea51,'sdkUpgrade':_0x29c0d0};}function printReport(_0x9eecc6){const _0x15a78d=a191_0x56c7b3,{configMigration:_0x4048fa,oldArtifacts:_0x507ca0,oldMcpConfig:_0x633d8,needsSkillSwap:_0x1af5c7}=_0x9eecc6;console[_0x15a78d(0x1d5)](''),console['log'](a191_0x56ef4e[_0x15a78d(0x222)](_0x15a78d(0x234))),console[_0x15a78d(0x1d5)]('');_0x4048fa?(console['log'](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x1f3))+('\x20\x20'+a191_0x56ef4e[_0x15a78d(0x221)](_0x4048fa['oldPath']))),console[_0x15a78d(0x1d5)](_0x15a78d(0x21e)+(_0x4048fa[_0x15a78d(0x1f8)]?a191_0x56ef4e[_0x15a78d(0x1fc)](_0x15a78d(0x231)):a191_0x56ef4e[_0x15a78d(0x1d2)](_0x15a78d(0x246)))),console[_0x15a78d(0x1d5)](_0x15a78d(0x214)+_0x4048fa[_0x15a78d(0x217)][_0x15a78d(0x22b)](',\x20')),console['log'](_0x15a78d(0x1da))):console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x1f3))+'\x20\x20'+a191_0x56ef4e['gray'](_0x15a78d(0x1d8)));console[_0x15a78d(0x1d5)]('');if(_0x507ca0[_0x15a78d(0x1e7)]>0x0){console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x1e3)));for(const _0x47be43 of _0x507ca0){console[_0x15a78d(0x1d5)]('\x20\x20'+a191_0x56ef4e[_0x15a78d(0x22f)](_0x15a78d(0x223))+'\x20\x20'+_0x47be43);}console[_0x15a78d(0x1d5)](_0x15a78d(0x229));}else console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x1e3))+'\x20\x20'+a191_0x56ef4e['gray'](_0x15a78d(0x1fb)));console[_0x15a78d(0x1d5)]('');_0x633d8?(console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)]('MCP\x20config:')+('\x20\x20'+a191_0x56ef4e[_0x15a78d(0x221)](_0x633d8[_0x15a78d(0x203)])+'\x20→\x20keys:\x20'+_0x633d8[_0x15a78d(0x247)]['join'](',\x20'))),console[_0x15a78d(0x1d5)]('\x20\x20Action:\x20remove\x20entries\x20containing\x20@lovrabet/dataset-mcp-server')):console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x21f))+'\x20\x20'+a191_0x56ef4e[_0x15a78d(0x1d2)](_0x15a78d(0x238)));console[_0x15a78d(0x1d5)](''),console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)]('Skill\x20swap:')+('\x20\x20'+(_0x1af5c7?a191_0x56ef4e[_0x15a78d(0x221)](_0x15a78d(0x21c)):a191_0x56ef4e[_0x15a78d(0x1fc)]('not\x20needed'))));_0x1af5c7&&console[_0x15a78d(0x1d5)](_0x15a78d(0x1df)+NPX_SKILLS_ADD_GLOBAL_COMMAND_LINE+'`');console[_0x15a78d(0x1d5)]('');if(_0x9eecc6[_0x15a78d(0x1ff)]){const {currentVersion:_0x5b5a74,field:_0x589e03,pkgPath:_0x14734e}=_0x9eecc6[_0x15a78d(0x1ff)];console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)](_0x15a78d(0x236))+('\x20\x20'+a191_0x56ef4e[_0x15a78d(0x221)](_0x14734e))),console[_0x15a78d(0x1d5)]('\x20\x20Current\x20version\x20in\x20'+_0x589e03+':\x20'+a191_0x56ef4e[_0x15a78d(0x221)](_0x5b5a74)+_0x15a78d(0x1dc)+a191_0x56ef4e[_0x15a78d(0x1fc)](_0x15a78d(0x24d))),console['log'](_0x15a78d(0x1e9));}else console[_0x15a78d(0x1d5)](a191_0x56ef4e[_0x15a78d(0x219)]('@lovrabet/sdk:')+'\x20\x20'+a191_0x56ef4e[_0x15a78d(0x1d2)](_0x15a78d(0x1d3)));console[_0x15a78d(0x1d5)]('');}function execConfigMigration(_0x18c35c,_0x4e6afd){const _0x4bede8=a191_0x56c7b3,{configMigration:_0x76f5cd}=_0x18c35c;if(!_0x76f5cd?.[_0x4bede8(0x1f5)])return{'step':0x1,'label':_0x4bede8(0x1dd),'ok':!![],'detail':'skipped\x20(no\x20legacy\x20config)'};const _0x32afb2=readConfigFile(_0x76f5cd[_0x4bede8(0x1f5)]),_0x2ed149=resolve(_0x4e6afd,NEW_CONFIG_NAME),_0x399221=_0x76f5cd[_0x4bede8(0x1f8)]?readConfigFile(_0x2ed149):{};for(const [_0xe7a401,_0x5ed07b]of Object['entries'](_0x32afb2)){!(_0xe7a401 in _0x399221)&&(_0x399221[_0xe7a401]=_0x5ed07b);}writeConfigFile(_0x2ed149,_0x399221);const _0x2a0f81=_0x76f5cd[_0x4bede8(0x1f5)]+_0x4bede8(0x244);return renameSync(_0x76f5cd['oldPath'],_0x2a0f81),{'step':0x1,'label':_0x4bede8(0x1dd),'ok':!![],'detail':_0x76f5cd[_0x4bede8(0x1f5)]+_0x4bede8(0x1dc)+_0x2ed149+_0x4bede8(0x24b)+_0x2a0f81+')'};}function execRemoveOldArtifacts(_0x4d97ee){const _0x2a967d=a191_0x56c7b3,_0x52318c=[];for(const _0x262202 of _0x4d97ee){try{if(!existsSync(_0x262202))continue;const _0x392e17=tryStat(_0x262202);_0x392e17?.[_0x2a967d(0x1e8)]()?rmSync(_0x262202,{'recursive':!![],'force':!![]}):unlinkSync(_0x262202);}catch(_0x5ac42c){_0x52318c[_0x2a967d(0x22e)](_0x262202+':\x20'+_0x5ac42c['message']);}}return{'step':0x3,'label':_0x2a967d(0x1e4),'ok':_0x52318c[_0x2a967d(0x1e7)]===0x0,'detail':_0x52318c[_0x2a967d(0x1e7)]>0x0?_0x4d97ee[_0x2a967d(0x1e7)]-_0x52318c['length']+'/'+_0x4d97ee[_0x2a967d(0x1e7)]+_0x2a967d(0x208)+_0x52318c[_0x2a967d(0x22b)](';\x20')+')':_0x4d97ee['length']+_0x2a967d(0x23e)};}function execCleanMcp(_0x56c4d8){const _0x20611f=a191_0x56c7b3;if(!_0x56c4d8[_0x20611f(0x24a)])return{'step':0x4,'label':_0x20611f(0x1ea),'ok':!![],'detail':_0x20611f(0x1d7)};try{const _0x4d990f=readFileSync(_0x56c4d8[_0x20611f(0x24a)][_0x20611f(0x203)],_0x20611f(0x1ec)),_0x15d2f8=JSON[_0x20611f(0x24e)](_0x4d990f);if(_0x15d2f8?.[_0x20611f(0x1de)]&&typeof _0x15d2f8[_0x20611f(0x1de)]===_0x20611f(0x245)){const _0x54b767=[];for(const [_0x220920,_0x49c845]of Object[_0x20611f(0x207)](_0x15d2f8[_0x20611f(0x1de)])){_0x49c845?.['args']&&Array[_0x20611f(0x240)](_0x49c845['args'])&&_0x49c845['args'][_0x20611f(0x20a)](_0x36f043=>typeof _0x36f043===_0x20611f(0x1d1)&&_0x36f043[_0x20611f(0x210)]('@lovrabet/dataset-mcp-server'))&&_0x54b767[_0x20611f(0x22e)](_0x220920);}for(const _0x133df3 of _0x54b767){delete _0x15d2f8[_0x20611f(0x1de)][_0x133df3];}return _0x54b767[_0x20611f(0x1e7)]>0x0&&writeFileSync(_0x56c4d8['oldMcpConfig'][_0x20611f(0x203)],JSON[_0x20611f(0x1e5)](_0x15d2f8,null,0x2)+'\x0a',_0x20611f(0x1ec)),{'step':0x4,'label':_0x20611f(0x1ea),'ok':!![],'detail':_0x20611f(0x1f7)+_0x54b767[_0x20611f(0x22b)](',\x20')+_0x20611f(0x242)+_0x56c4d8[_0x20611f(0x24a)][_0x20611f(0x203)]};}return{'step':0x4,'label':_0x20611f(0x1ea),'ok':!![],'detail':'no\x20matching\x20entry\x20found'};}catch(_0x44021c){return{'step':0x4,'label':_0x20611f(0x1ea),'ok':![],'detail':_0x44021c['message']};}}function execSkillsRemove(_0x1ec285,_0x3343d4){const _0xa5bfe8=a191_0x56c7b3,_0x493ba1=runNpxSkillsRemove(_0x1ec285,{'stdio':_0xa5bfe8(0x21b),'yes':_0x3343d4});return{'step':0x5,'label':_0xa5bfe8(0x232),'ok':_0x493ba1['ok'],'detail':_0x493ba1['ok']?_0xa5bfe8(0x1eb):_0x493ba1[_0xa5bfe8(0x220)]??_0xa5bfe8(0x1cf)+_0x493ba1[_0xa5bfe8(0x201)]};}function execSkillsAdd(_0x131e40,_0x32e5fe){const _0x45d85c=a191_0x56c7b3,_0x4e5cae=runNpxSkillsAddGlobal(_0x131e40,'lovrabet/rabetbase',{'stdio':_0x45d85c(0x21b),'yes':_0x32e5fe});return{'step':0x6,'label':_0x45d85c(0x22c),'ok':_0x4e5cae['ok'],'detail':_0x4e5cae['ok']?_0x45d85c(0x248):_0x4e5cae['error']??_0x45d85c(0x1cf)+_0x4e5cae[_0x45d85c(0x201)]};}function execUpgradeSdk(_0x395a20){const _0x246262=a191_0x56c7b3;if(!_0x395a20[_0x246262(0x1ff)])return{'step':0x7,'label':'Upgrade\x20@lovrabet/sdk','ok':!![],'detail':_0x246262(0x23d)};const {pkgPath:_0x386dcc,currentVersion:_0x2aaa58,field:_0xe990ab}=_0x395a20[_0x246262(0x1ff)];try{const _0x4e517c=readFileSync(_0x386dcc,_0x246262(0x1ec)),_0x2546e8=JSON[_0x246262(0x24e)](_0x4e517c);return _0x2546e8[_0xe990ab][_0x246262(0x211)]=_0x246262(0x24d),writeFileSync(_0x386dcc,JSON['stringify'](_0x2546e8,null,0x2)+'\x0a',_0x246262(0x1ec)),{'step':0x7,'label':_0x246262(0x239),'ok':!![],'detail':_0xe990ab+'[\x22@lovrabet/sdk\x22]:\x20'+_0x2aaa58+'\x20→\x20latest'};}catch(_0x478826){return{'step':0x7,'label':_0x246262(0x239),'ok':![],'detail':_0x478826[_0x246262(0x227)]};}}function tryStat(_0x1bfc6b){try{return statSync(_0x1bfc6b);}catch{return undefined;}}function a191_0x14b0(_0x2d59dd,_0x1946c0){_0x2d59dd=_0x2d59dd-0x1cf;const _0x4c127d=a191_0x4c12();let _0x14b000=_0x4c127d[_0x2d59dd];return _0x14b000;}function printSummary(_0x5d13c2){const _0x2254fe=a191_0x56c7b3;console[_0x2254fe(0x1d5)](''),console['log'](a191_0x56ef4e[_0x2254fe(0x222)](_0x2254fe(0x213))),console[_0x2254fe(0x1d5)]('');for(const _0x4e89b0 of _0x5d13c2){const _0x5224e7=_0x4e89b0['ok']?a191_0x56ef4e[_0x2254fe(0x1fc)]('OK'):a191_0x56ef4e[_0x2254fe(0x22f)]('FAIL');console[_0x2254fe(0x1d5)]('\x20\x20'+_0x5224e7+_0x2254fe(0x205)+_0x4e89b0[_0x2254fe(0x1f4)]+':\x20'+_0x4e89b0[_0x2254fe(0x20d)]);if(_0x4e89b0['detail'])console['log'](_0x2254fe(0x20f)+a191_0x56ef4e[_0x2254fe(0x1d2)](_0x4e89b0['detail']));}console[_0x2254fe(0x1d5)]('');}export async function upgradeApp(_0x35da62,_0x331380){const _0xe3c05b=a191_0x56c7b3,_0x11effd=process[_0xe3c05b(0x206)](),_0x5768a2=analyse(_0x11effd),_0x49ef70=!_0x5768a2['configMigration']&&_0x5768a2[_0xe3c05b(0x1d4)][_0xe3c05b(0x1e7)]===0x0&&!_0x5768a2['oldMcpConfig']&&!_0x5768a2['needsSkillSwap']&&!_0x5768a2[_0xe3c05b(0x1ff)];if(_0x49ef70){console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1fc)](_0xe3c05b(0x200)));return;}printReport(_0x5768a2);const _0x299c24=!!(_0x331380['yes']||_0x331380['Y']||_0x35da62);if(!_0x299c24)try{const _0x133f10=await askConfirm(_0xe3c05b(0x216));if(!_0x133f10){console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1d2)](_0xe3c05b(0x230)));return;}}catch(_0x33f0bc){if(_0x33f0bc?.['message']===_0xe3c05b(0x1d0)){console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1d2)](_0xe3c05b(0x230)));return;}throw _0x33f0bc;}const _0x56d2e3=[],_0x3b0623=a191_0x900295({'text':_0xe3c05b(0x202),'color':_0xe3c05b(0x219)})[_0xe3c05b(0x212)](),_0x25e62c=execConfigMigration(_0x5768a2,_0x11effd);_0x56d2e3[_0xe3c05b(0x22e)](_0x25e62c),_0x3b0623[_0x25e62c['ok']?_0xe3c05b(0x226):_0xe3c05b(0x235)](_0xe3c05b(0x228)+(_0x25e62c['detail']??(_0x25e62c['ok']?'done':_0xe3c05b(0x249))));const _0x293b5e=resolve(_0x11effd,'.lovrabet'),_0x5273be=a191_0x900295({'text':_0xe3c05b(0x218),'color':_0xe3c05b(0x219)})[_0xe3c05b(0x212)]();if(existsSync(_0x293b5e))try{rmSync(_0x293b5e,{'recursive':!![],'force':!![]}),_0x5273be[_0xe3c05b(0x226)](_0xe3c05b(0x224)),_0x56d2e3[_0xe3c05b(0x22e)]({'step':0x2,'label':_0xe3c05b(0x24c),'ok':!![]});}catch(_0x40fc93){_0x5273be[_0xe3c05b(0x235)](_0xe3c05b(0x1ed)+_0x40fc93[_0xe3c05b(0x227)]),_0x56d2e3[_0xe3c05b(0x22e)]({'step':0x2,'label':_0xe3c05b(0x24c),'ok':![],'detail':_0x40fc93[_0xe3c05b(0x227)]});}else _0x5273be[_0xe3c05b(0x23c)](_0xe3c05b(0x21d)),_0x56d2e3['push']({'step':0x2,'label':'Remove\x20.lovrabet/','ok':!![],'detail':_0xe3c05b(0x1d7)});const _0x146522=a191_0x900295({'text':_0xe3c05b(0x1d9),'color':_0xe3c05b(0x219)})['start'](),_0x41a75c=execRemoveOldArtifacts(_0x5768a2['oldArtifacts']);_0x56d2e3[_0xe3c05b(0x22e)](_0x41a75c),_0x146522[_0x41a75c['ok']?_0xe3c05b(0x226):_0xe3c05b(0x235)](_0xe3c05b(0x1e1)+(_0x41a75c[_0xe3c05b(0x1db)]??(_0x41a75c['ok']?'done':_0xe3c05b(0x249))));const _0x51f511=a191_0x900295({'text':_0xe3c05b(0x1f2),'color':_0xe3c05b(0x219)})[_0xe3c05b(0x212)](),_0x39fe53=execCleanMcp(_0x5768a2);_0x56d2e3[_0xe3c05b(0x22e)](_0x39fe53),_0x51f511[_0x39fe53['ok']?_0xe3c05b(0x226):_0xe3c05b(0x235)](_0xe3c05b(0x1d6)+(_0x39fe53[_0xe3c05b(0x1db)]??(_0x39fe53['ok']?'done':'failed')));const _0xeb7459=a191_0x900295({'text':_0xe3c05b(0x1f1),'color':_0xe3c05b(0x219)})[_0xe3c05b(0x212)](),_0x15bdb2=execSkillsRemove(_0x11effd,_0x299c24);_0x56d2e3[_0xe3c05b(0x22e)](_0x15bdb2),_0xeb7459[_0x15bdb2['ok']?_0xe3c05b(0x226):_0xe3c05b(0x235)]('Step\x205/7:\x20Remove\x20old\x20skill\x20—\x20'+(_0x15bdb2['detail']??(_0x15bdb2['ok']?_0xe3c05b(0x1fe):'failed')));const _0x3ed903=a191_0x900295({'text':'Step\x206/7:\x20Installing\x20new\x20skill...','color':'cyan'})[_0xe3c05b(0x212)](),_0x5e0bf7=execSkillsAdd(_0x11effd,_0x299c24);_0x56d2e3['push'](_0x5e0bf7),_0x3ed903[_0x5e0bf7['ok']?_0xe3c05b(0x226):'fail'](_0xe3c05b(0x243)+(_0x5e0bf7[_0xe3c05b(0x1db)]??(_0x5e0bf7['ok']?_0xe3c05b(0x1fe):_0xe3c05b(0x249))));const _0x359a7d=a191_0x900295({'text':_0xe3c05b(0x1f0),'color':_0xe3c05b(0x219)})[_0xe3c05b(0x212)](),_0x1e0525=execUpgradeSdk(_0x5768a2);_0x56d2e3[_0xe3c05b(0x22e)](_0x1e0525),_0x359a7d[_0x1e0525['ok']?_0xe3c05b(0x226):_0xe3c05b(0x235)]('Step\x207/7:\x20@lovrabet/sdk\x20—\x20'+(_0x1e0525[_0xe3c05b(0x1db)]??(_0x1e0525['ok']?'done':_0xe3c05b(0x249)))),printSummary(_0x56d2e3);const _0x5e12b8=_0x56d2e3[_0xe3c05b(0x20a)](_0xe4aa47=>!_0xe4aa47['ok']);_0x5e12b8?console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x221)](_0xe3c05b(0x22a))):console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1fc)](_0xe3c05b(0x1f6))),_0x1e0525['ok']&&_0x5768a2[_0xe3c05b(0x1ff)]&&(console[_0xe3c05b(0x1d5)](''),console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x222)]['cyan'](_0xe3c05b(0x1fd))),console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x219)]('Please\x20re-install\x20dependencies\x20to\x20apply\x20the\x20change:')),console[_0xe3c05b(0x1d5)](''),console['log'](a191_0x56ef4e[_0xe3c05b(0x1fa)](_0xe3c05b(0x1ef))),console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1fa)](_0xe3c05b(0x21a))),console[_0xe3c05b(0x1d5)](a191_0x56ef4e[_0xe3c05b(0x1fa)](_0xe3c05b(0x237))),console[_0xe3c05b(0x1d5)](''));}
|